Автоматическое создание серверных процедур и функций

Обсуждение написания скриптов и аддинов для Снегопата, а также его объектной модели.
galich
Сообщения: 11
Зарегистрирован: 02 ноя 2012, 08:40

Автоматическое создание серверных процедур и функций

Сообщение galich »

Всем привет.
В 8.3 нам пообещали автоматическое создание серверных процедур, но когда 8.3 еще на боевых внедрят, а фишку хочется сейчас.
Посему написал небольшой скриптик, позволяющий из описания процедуры/функции на клиентской машине быстро сделать процедуру/функцию серверную.

Работа предельно проста - выделяем нужную строку - вызываем макрос (там их два, один создает процедуру без контекста, второй - контекстную). В зависимости от наличия в первой строке выделения знака "=" будет создана либо процедура, либо функция.
Новое описание автоматически вставляется после ближайшего окончания процедуры или функции, либо в конце файла, если текущая функция последняя. Курсор перевожу в тело созданной процедуры.
Хотелось бы, чтобы выбор с контекстом/без был сделан всплывающим меню, но не получилось разобраться, как его вызвать.

proc_helper.zip
(937 байт) 927 скачиваний


Мой первый опыт в макросостроении, просьба больно не пинать :)
Последний раз редактировалось galich 22 апр 2013, 11:29, всего редактировалось 1 раз.
Аватара пользователя
kuntashov
Сообщения: 448
Зарегистрирован: 24 авг 2011, 15:53
Откуда: Саратов
Контактная информация:

Re: Автоматическое создание серверных процедур и функций

Сообщение kuntashov »

Круто! Неплохо эту фичу интегрировать в refactoring.js - там сейчас есть макрос для создания заглушки и "Выделение метода" из куска кода.
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
also
Сообщения: 160
Зарегистрирован: 12 ноя 2012, 17:51
Контактная информация:

Re: Автоматическое создание серверных процедур и функций

Сообщение also »

sosnae уже давно сделал для альтернативной панели процедур :)
galich
Сообщения: 11
Зарегистрирован: 02 ноя 2012, 08:40

Re: Автоматическое создание серверных процедур и функций

Сообщение galich »

Чет с этой панелькой у меня не сраслось :) Вроде и удобная вещь, но привыкнуть пользоваться не смог.
galich
Сообщения: 11
Зарегистрирован: 02 ноя 2012, 08:40

Re: Автоматическое создание серверных процедур и функций

Сообщение galich »

Добавил контекстное меню с вызовом всех вариантов контекст/без контекста клиент/сервер с одного макроса.
Кроме того, теперь не нужно выделять строку, достаточно поставить на нее курсор.
proc_creator.zip
(1.38 КБ) 914 скачиваний
EvgeniuXP
Сообщения: 159
Зарегистрирован: 10 июн 2012, 13:43

Re: Автоматическое создание серверных процедур и функций

Сообщение EvgeniuXP »

Только вставляется процедура не там где курсор, а ниже через процедуру.... проверял на общем модуле в 8.3.2.163. :(

Скрипт взял от 22 апреля.
galich
Сообщения: 11
Зарегистрирован: 02 ноя 2012, 08:40

Re: Автоматическое создание серверных процедур и функций

Сообщение galich »

EvgeniuXP писал(а):Только вставляется процедура не там где курсор, а ниже через процедуру.... проверял на общем модуле в 8.3.2.163. :(

Скрипт взял от 22 апреля.


Это запланированное поведение. Функция от курсора вниз ищет текст "КонецПроцедуры" или "КонецФункции", либо конец модуля и вставляет описание после (чтобы не создать описание внутри другой процедуры).
vladnet
Сообщения: 388
Зарегистрирован: 24 авг 2011, 15:57
Контактная информация:

Re: Автоматическое создание серверных процедур и функций

Сообщение vladnet »

Вроде логичнее вставлять процедуру выше чем место ее вызова?
ИТ учет http://tunesoft.ru
Аватара пользователя
artbear
Сообщения: 1085
Зарегистрирован: 24 авг 2011, 15:36
Контактная информация:

Re: Автоматическое создание серверных процедур и функций

Сообщение artbear »

vladnet писал(а):Вроде логичнее вставлять процедуру выше чем место ее вызова?

+1
Ответить