Скрипт Преобразования процедуры в функцию и обратно работает только если курсор стоит на Процедура / КонецПроцедуры

Добавил: alextimashov, 21 ноября 2018 10:51, обновлено: 20 июня 2019 12:55

Раздел: Баги


Карточка с форума разработчиков Ну или Функция/КонецФункции


К списку тем

Комментарии

Поддержка TurboConf
21 ноября 2018 11:27: #1

Можно попробовать добавить первым действием //Сворачиваем текущую группу, для позиционирования на начале метода ТК.ControlKey(Keys.Subtract); но если будем находится в Области, то не сработает. Но может лучше чем ничего.


Поддержка TurboConf
21 ноября 2018 12:17: #2

@alextimashov, это решает проблему?


Поддержка TurboConf
21 ноября 2018 12:18: #3

@bolsun Еще не пробовал, чуть позже отпишусь


Поддержка TurboConf
21 ноября 2018 12:54: #4

@bolsun Ну если группировки в принципе включены, то вроде работает. :)


Поддержка TurboConf
21 ноября 2018 13:00: #5

@alextimashov а еще могут быть включены группировки на условия и циклы. И если мы просто внутри условия, то не получится. Получается слишком костыльно.


Поддержка TurboConf
21 ноября 2018 13:01: #6

Как вариант использовать ТК.ControlShiftKey(Keys.Subtract); Это свернет все группы, но тоже не очень хорошо. Вообще изначально предполагалось использование при позиционировании на Процедура или КонецПроцедуры. Может это не является багом :)


Поддержка TurboConf
21 ноября 2018 13:02: #7

@bolsun А просто вверх до Процедура/Функция дойти сложно будет?


Поддержка TurboConf
21 ноября 2018 13:08: #8

@alextimashov это можно, но сильно усложнит логику и надежность скрипта. Сейчас все просто сделано и красиво


Поддержка TurboConf
21 ноября 2018 14:19: #9

@bolsun А затратно вообще получить текст модуля и распарсить его хотя бы на процедуры/функции для отдачи через АПИ? И вообще там через АПИ как-то не очень здорово с работой с текстом модуля, как мне кажется.


Поддержка TurboConf
22 ноября 2018 09:51: #10

@alextimashov планировал заняться дальнейшими улучшениями API, когда будут желающие писать скрипты. Пока их очень мало и функций API хватает для реализации почти любых фич. Что не так с работой с текстом?


Поддержка TurboConf
22 ноября 2018 09:51: #11

@alextimashov по поводу этой задачи у меня есть одна идея. Сейчас проверю.


Поддержка TurboConf
22 ноября 2018 10:16: #12

Пользователь прикрепил(а) вложение ProcFunc.os https://trello-attachments.s3.amazonaws.com/5aec736d7dec7207a7f7c6df/5bf50e8884fb830521a7870a/ca24cdbf85692af606e1c290af2085bb/ProcFunc.os


Поддержка TurboConf
22 ноября 2018 10:16: #13

Нашел способ перейти в начало метода. Попробуй скрипт во вложении.


Поддержка TurboConf
22 ноября 2018 19:55: #14

Получилось попробовать?


Поддержка TurboConf
23 ноября 2018 09:27: #15

@bolsun Срабатывает, да, но курсор в конец процедуры прыгает


Поддержка TurboConf
23 ноября 2018 09:46: #16

@bolsun По поводу API я наверное в отдельной карточке напишу


Поддержка TurboConf
31 января 2019 07:17: #17

@board кто-то уже пользуется этой версией скрипта? нормально работает, можно включать его в основную поставку? Куда должен вставать курсор после преобразования? Можно на начало процедуры поставить. Можно конечно возвращать в позицию из которой был вызван скрипт, но это усложнит скрипт. К тому же если метод большой, то не понятно будет правильно отработал скрипт или нет. Так хотя бы видно, что все заменилось правильно.


Поддержка TurboConf
31 января 2019 08:13: #18

@bolsun Вроде нормально Курсор хотелось бы, чтобы в то же место вставал, правильно отработал или нет может анимацией какой-то показывать? Ну там на полсекунды всплывает текст "Процедура Тест >>> Функция Тест". "Процедура Тест" и "Функция Тест" брать прямо из текста модуля. Или это сложно?


Поддержка TurboConf
01 февраля 2019 14:59: #19

@alextimashov надо подумать, там несколько вызовов функции ПолучитьТекст придется делать


Поддержка TurboConf
20 июня 2019 12:55: #20

@board Добавлена всплывающая подсказка о преобразовании. То что курсор не ставится назад - не является багом. Считаю эту доработку нецелесообразной, из-за сильного усложнения и замедления скрипта. Желающие могут модифицировать скрипт используя методы ПолучитьТекстСПозицией() и ПерейтиВПозицию() и выложить, возможно я ошибаюсь и это будет работать нормально))


Поддержка TurboConf
20 июня 2019 12:55: #21

bolsun переместил(а) эту карточку из списка Баги новые и на выяснении в список Завершено


TurboConf

Расширение возможностей

Конфигуратора 1С

Скачать

Бесплатный пробный период 14 дней