Снегопат
https://snegopat.ru/forum/

snippets.js - Расширение механизма шаблонов кода 1С
https://snegopat.ru/forum/viewtopic.php?f=3&t=84
Страница 3 из 9

Автор:  kuntashov [ 09 дек 2011, 23:23 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

Скрипт обновлен. Добавлены и изменены следующие возможности:

1. Добавлены расширенные управляющие конструкции для вставки значений свойств основной конфигурации, а также для вставки имени пользователя операционной системы, в сеансе которого запущен конфигуратор:

Код:
<%Конфигурация.Имя>
<%Конфигурация.Синоним>
<%Конфигурация.Комментарий>
<%Конфигурация.Поставщик>
<%Конфигурация.Версия>
<%Конфигурация.АвторскиеПрава>
<%Конфигурация.КраткаяИнформация>
<%Конфигурация.ПодробнаяИнформация>
<%Конфигурация.АдресИнформацииОКонфигурации>
<%Конфигурация.АдресИнформацииОПоставщике>
<%ИмяПользователяОС>


2. Расширенные конструкции работают при установленном скрипте в том числе и при использовании шаблонов штатными механизмами: при перетаскивании шаблона из дерева шаблонов, при вставке шаблона, выбранного из списка подсказки и т.п. (благодаря событию onProcessTemplate, добавленному Александром в последнем релизе Снегопата)

3. Добавлен макрос "ВставитьРасширеннуюУправляющуюКонструкцию" для вставки перечисленных выше управляющих конструкций путем выбора из выпадающего списка с фильтрацией в редакторе шаблонов.

4. С целью единообразия и благодаря появлению возможности обрабатывать штатную вставку шаблонов изменился формат директивы для создания для шаблона макроса. Было:
Код:
//::addMacros("Авторский комментарий: Добавление")

а стало:
Код:
<%Макрос "Авторский комментарий: Добавление">

Автор:  orefkov [ 10 дек 2011, 00:08 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

Ковырясь в потрохах, я находил намеки на то, что в самой 1С список управляющих директив расширяем, т.е. отдельные компоненты 1С могут добавлять свои виды конструкций. Стоит ли покопаться в этом направлении (чтобы они встали как "родные") или и так нормально работает?
Просто если делать через расширение штатных 1Совских конструкций, то они должны быть "<?>", а не "<%>"

Автор:  artbear [ 10 дек 2011, 11:34 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

Что-то я по этой теме не слишком разобрался.
Приведи, плиз, примеры использования.
Как сами используете? Для чего можно использовать?
ЗЫ думаю, что такие вопросы будут не у меня одного.

Автор:  kuntashov [ 10 дек 2011, 16:19 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

orefkov писал(а):
Ковырясь в потрохах, я находил намеки на то, что в самой 1С список управляющих директив расширяем, т.е. отдельные компоненты 1С могут добавлять свои виды конструкций. Стоит ли покопаться в этом направлении (чтобы они встали как "родные") или и так нормально работает?
Просто если делать через расширение штатных 1Совских конструкций, то они должны быть "<?>", а не "<%>"


Я попытался сначала сделать расширенные управляющие конструкции в рамках штатного синтаксиса в виде
Код:
<?Конфигурация.Имя>

Но такой вариант делает неработающей вставку шаблона штатными средствами вообще. Скорее всего из-за того, что штатный обработчик управляющих конструкций спотыкается о неизвестную ему конструкцию и прерывает обработку шаблона, возвращая пустую строку.

То же самое происходит, если использовать максимально приближенный к синтаксису специальной конструкции вариант:
Код:
<?"", Конфигурация.Версия>

Просто шаблон перестает работать при попытке вставить штатно (перетаскиванием мышкой из дерева шаблонов, например).

Если эту проблему решить можно, то я легко переделаю синтаксис <%...> на традиционный <?...>.

Насчет того, стоит ли копаться тебе в этом направлении - наверное, стоит, но это не приоритетно, тем более в твоем плане наверняка есть более важные задачи.

Автор:  kuntashov [ 10 дек 2011, 16:27 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

artbear писал(а):
Что-то я по этой теме не слишком разобрался.
Приведи, плиз, примеры использования.
Как сами используете? Для чего можно использовать?
ЗЫ думаю, что такие вопросы будут не у меня одного.


JhonnyDeath просил ранее возможность вставлять в авторские комментарии номер версии конфигурации:
(http://snegopat.ru/forum/viewtopic.php?f=3&t=66&p=739#p736).

По-инерции добавил и остальные конструкции.

Возможность вставки имени пользователя ОС была в "Авторских комментариях" для 7.7, поэтому ее я тоже добавил. Я ей сам пользуюсь.

Автор:  kuntashov [ 11 дек 2011, 18:16 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

Исправил незначительные ошибки в скрипте и подготовил описание скрипта в в вики: http://snegopat.ru/scripts/wiki?name=snippets.js

Автор:  JohnyDeath [ 13 дек 2011, 18:26 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

Я на днях в командировку ездил, там скачал снегопат 1.1.3.1 и вроде бы обновил скрипты из репозитория. Наткнулся на бесконечные предупреждения об ошибке из скрипта TextWindow.js
Как добился: запускаю конфигуратор, открываю любой общий модуль, закрываю его и вижу создание бесконечных предупреждений об ошибке (насколько помню, ругался на строку 25). Никто не сталкивался? Или вот это http://snegopat.ru/scripts/ci/8362928eda как раз исправление описанного?

Автор:  kuntashov [ 14 дек 2011, 06:45 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

А какая именно ошибка? (я имею в виду текст сообщения об ошибке)
Скриншот можешь привести?

Автор:  JohnyDeath [ 14 дек 2011, 08:42 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

Это было в командировке, на их серваках. Если сейчас на работе смогу воспроизвести, то обязательно дам скриншот.
Насколько я помню там текст был примерно следующего содержания: "Окно уже существует"

Автор:  kuntashov [ 14 дек 2011, 08:53 ]
Заголовок сообщения:  Re: snippets.js - Расширение механизма шаблонов кода 1С

Скорее тогда, "Окно уже не существует". В упомянутом выше тобой коммите я решал проблему с закрытием окна, в котором выполнялся поиск скриптом "Расширенный поиск" без закрытия формы самого поиска. И в том случае выходило сообщение, что "Окно уже не существует" (дословно не помню, но смысл в этом).

Умозрительно, с "Шаблонами" такую ошибку сложно воспроизвести, потому что они всегда работают только с активным текстовым окном и не хранят ссылки на него. Но я проанализирую это дополнительно.

Страница 3 из 9 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/