До старта конференции

Шаблоны текста (Ctrl+Shift+T) в режиме 1С:Предприятие

Программирование - Практика программирования

Реализован поиск и отбор шаблонов текста по ключевым словам.

Мне понравилась статья «Начало автоматизации»: //infostart.ru/public/84784/ . Как продолжение статьи я хотел бы представить свою разработку, помогающую мне быстро программировать.

Обработка напоминает шаблон кода, открываемый в конфигураторе (рис.1).

Просматривать коды, алгоритмы, различные описания механизмов можно после возведения флажка «показывать шаблон кода» (рис.2).

Самое ценное, для чего и создавалась обработка – это реализованный ПОИСК и ОТБОР ШАБЛОНОВ по ключевым словам (рис.3).

Идея реализации заключается в том, что теперь все шаблоны *.st надо хранить внутри обработки в объекте метаданных «Макет» (рис. 4). Поэтому ниже по тексту вы встретите такой термин как «макет шаблонов» или «макет-шаблон». Есть определенные правила по хранению шаблонов в макете: соблюдайте порядок полей, высоту макета, соответствие названий колонок и др. мелочи.

Разрабатывая эту обработку, я столкнулся с двумя сложными алгоритмами: 1) как заполнять макеты шаблонами, если уже накоплены шаблоны *.st. Не переносить же их вручную. Решение – создать парсер шаблонов *.st, с помощью которого будет создаваться нужный макет.
2) При поиске не должны отображаться группы, в которых нет подходящих подчиненных веток.

В результате разработанный алгоритм парсера несет в себе определенные ограничения:
1.    Шаблоны *.st (в том числе названия и автозамены шаблонов) не должны содержать фигурных скобок – поэтому я заменяю фигурные скобки на квадратные
2.    Шаблоны *.st (в том числе названия и автозамены шаблонов) не должны содержать запятых – поэтому я заменяю запятые на точку с запятой
Эти изменения вы увидите внутри шаблона, сохранившегося в макете. За это можно не переживать, так как типовой «поиск и замена» конфигуратора восстановят любой код за считанные секунды.

Согласно этим ограничениям шаблон нужно отредактировать предварительно в конфигураторе. Наверное, не стоит пробегать глазами по всему шаблону. Достаточно попробовать загрузить шаблон, и на первой неподходящей строке отображение информации «поплывет». Будете знать, где исправлять.

Вкратце, загрузка шаблона *.st производится по кнопке «Загрузить из файла».
Далее, нажимайте на «Создать макет». Макет шаблонов будет создан (рис. 5 и 6). Прикрепляете его к обработке, обработку сохраняете.

Дополнительно вы самостоятельно можете запрограммировать отбор по макетам-шаблонам, по которым нужно производить поиск ключевых слов. Для этого я реализовал коллекцию макетов (см. предыд. рис. 4).

...По поводу ограничений алгоритма «Отбор групп с подходящими шаблонами» – я не реализовал универсальный механизм -  я пробегаюсь лишь по двум первым уровням групп дерева - этого достаточно для удобного поиска (рис. 3).

...У меня обработка весит 400 Кб при хранении большого количества шаблонов.

...Теперь вы, описывая свою разработку на Инфостарте, можете дополнительно выкладывать макеты шаблонов своих алгоритмов – для обмена шаблонами друг с другом. Во многом самым ценным в наших разработках являются алгоритмы, и теперь у нас появилась возможность удобного накопления их, быстрого поиска нужного среди архива алгоритмов.

...При выкладывании обработки я удалил макеты шаблонов, взятых из книг Радченко, Энциклопедии, Габеца из-за соблюдения авторских прав. Прошу прощения за обращение к авторам по фамилии.
В качестве примера использования шаблонов я представляю библиотеку функций Fixin'а (http://nashe1c.ru/materials-view.jsp?id=196). В качестве своих примеров - накидал парочку шаблонов.

Обработка разработана под 8.1, но ничего не мешает вам открыть ее под 8.2...


ОБНОВЛЕНИЕ (Расширен функционал)

Появилось редактирование прикрепленного шаблона-макета:
1) Вызов режима редактирования производится через кнопку "Редактирование".
2) В открывшемся окне надо будет выбрать один из прикрепленных шаблонов-макетов.
3) Слева-вверху - в дереве узлов - надо выбрать редактируемый узел.
4) Справа появится окно кода для редактирования.
5) Используйте кнопку "Записать изменения" для сохранения текущего шаблона-макета.
6) С деревом узлов можно "играться": создавать новый узел, удалять узел, изменять родителя.  Просмотр результата производится в нижней таблице.


Дополнительная информация.
Для переноса отредактированного шаблона-макета во внутреннюю структуру внешней обработки используйте кнопку
"Показать таблицу шаблонов". Скопируйте открывшийся макет и перенесите новую редакцию алгоритмов
в макеты внешней обработки. Сохраните внешнюю обработку.
Есть нюанс, который приходится дополнительно корректировать -
при копировании макета копи-пастом переносятся области макета "Шапка" и "Строка", которые мешают
корректно определить высоту макета. Когда попробуете, поймете о чем я писал.
Нюанс не критичный для работы.

А также....

В ответ на комментарий mtv:) дополнительно выкладываю базу знаний (dt-шник). В свое время начинал развивать идею шаблонов с этой разработки базы, собирал полезную информацию. В дальнейшем использовать ее стало неудобно, и тогда я реализовал шаблоны в режиме 1С:Предприятие. В базе собраны как ссылки на интернет-ресурсы, так и статьи (в том числе с Инфостарта). В базе знаний я старался сохранять ссылку на авторство или на открытый ресурс. Надеюсь соблюсти авторские права и не обидеть авторов. Полагаю, что для стартаперов 1С база знаний будет полезна. По имеющейся информации база знаний максимально урезана, так как цель ее распространения - показать возможную структуру хранения информации для баз знаний.

Тел.: 8919-6-230-470, 8927-442-03-16.

Скачать файлы

Наименование Файл Версия Размер
Шаблоны текста
.epf 297,29Kb
24.12.11
223
.epf 297,29Kb 223 Скачать
База знаний
.dt 1,32Mb
24.12.11
74
.dt 1,32Mb 74 Скачать

См. также

Комментарии
0. г. Казань Рустем Гумеров (Rustig) 822 06.09.11 10:23 Сейчас в теме
Реализован поиск и отбор шаблонов текста по ключевым словам.

Перейти к публикации

1. serg__k (serg__k) 78 06.09.11 10:23 Сейчас в теме
Вещььььььььь!!! а можно залить тот вариант шаблонов, который представлен на скринах?! ;)
2. г. Казань Рустем Гумеров (Rustig) 822 06.09.11 14:14 Сейчас в теме
(1) конечно можно. заливайте пожалуйста.
А если вы хотите, чтобы я вам предоставил эти шаблоны, то увы, не сейчас. Сейчас не могу.
3. г. Казань Рустем Гумеров (Rustig) 822 06.09.11 14:16 Сейчас в теме
Друзья, подскажите, как исправить ошибки в разметке статьи? - в IE не отображаются картинки.
4. Константин Соболевский (Константин С.) 494 06.09.11 17:52 Сейчас в теме
(3) уменьши их, сделай более компактными. Нефиг выкладывать полный скрин экрана, использу прогу для этого (http://www.picpick.org/)
5. г. Казань Рустем Гумеров (Rustig) 822 08.09.11 22:08 Сейчас в теме
(4) а пусть так и будет ! мне Интернет эксплорер не нравится... и картинки для этой разработки совсем не нужны. :)
обязательно исправлю.
6. Артур Аюханов (artbear) 879 10.09.11 13:02 Сейчас в теме
>>шаблоны, взятыt из книг Радченко, Энциклопедии, Габеца
По Радченко понятно, а остальные что за книги? Расшифруй, плиз.
7. г. Казань Рустем Гумеров (Rustig) 822 10.09.11 14:40 Сейчас в теме
(6) Габец - "Примеры разработки"
Энциклопедия - "Профессиональная разработка в системе 1С:Предприятие 8 (с приложением на CD-ROM)"
8. Юрий Матвеев (mtv:)) 977 11.09.11 11:04 Сейчас в теме
Хорошая обработка. Но для меня она имела бы ценность, если бы обработка была полная, как на первой картинке.
Но в предлагаемом для скачивания варианте удалены самые вкусные макеты шаблонов... :(
Самому наполнять коллекцию лень, потому что это довольно непросто: надо создать шаблоны .st по опледеленным правилам и с оговоренными ограничениями, сгенерировать макеты, вставить их в обработку через конфигуратор. Долго...
Но за идею спасибо.
Давно ищу что-то для сбора в одном месте накопленной информации по программированию 1С. Это и куски кода, и текст, и стрницы .html, и т.д. Что б была древовидная структура, поиск, раскраска кода, простое и удобное наполнение содержимым...
Видимо придется писать самому.
9. Александр М (Fruit83) 28 24.12.11 13:05 Сейчас в теме
10. г. Казань Рустем Гумеров (Rustig) 822 24.12.11 23:29 Сейчас в теме
(8) :)
Я обновил публикацию и дополнительно выложил базу знаний. Из этой базы я многое удалил, чтобы соблюсти авторские права. А в остальном ее можно использовать, как сказано в вашей цитате:
mtv:) пишет:
Давно ищу что-то для сбора в одном месте накопленной информации по программированию 1С. Это и куски кода, и текст, и стрницы .html, и т.д. Что б была древовидная структура, поиск, раскраска кода, простое и удобное наполнение содержимым...


По поводу
mtv:) пишет:
Самому наполнять коллекцию лень, потому что это довольно непросто: надо создать шаблоны .st по опледеленным правилам и с оговоренными ограничениями, сгенерировать макеты, вставить их в обработку через конфигуратор. Долго...

- тут мне стоит прокомментировать. Шаблоны в формате .st создаются средствами платформы через конфигуратор, наполняются шаблоны в течение профессиональной деятельности, а если замутить обмен опытом (или обмен шаблонами), то процесс ускорится... Шаблоны, которые я встречал, не содержали тех ограничений, о которых я заранее предупреждаю в статье. То есть эти ограничения настолько далеки от реальности, что встречаются редко. А теперь появилась возможность редактировать шаблоны-макеты в режиме 1С:Предприятие. В общем, может быть не все так безнадежно? ;)
11. г. Казань Рустем Гумеров (Rustig) 822 24.12.11 23:31 Сейчас в теме
(9), (1) Обновил обработку, появился новый функционал
12. Ирина Вшивкова (ir_en) 27.12.11 17:01 Сейчас в теме
Спасибо, архинужная вещь
13. Karambol (nick_krsk) 04.02.12 19:50 Сейчас в теме
Спасибо! Скачал, разбираюсь :)
14. Антон Цыкин (takeshi3) 27.02.12 12:52 Сейчас в теме
15. Дмитрий Вдовин (vdovinDS) 29.05.12 10:05 Сейчас в теме
А есть планы реализации под управляемый интерфейс?
16. г. Казань Рустем Гумеров (Rustig) 822 29.05.12 18:43 Сейчас в теме
(15) планов нет, код открыт для всех желающих дорабатывать :)
17. Сергей (amaster) 04.07.12 13:24 Сейчас в теме
Что за манера публикацию делать на части? Еще бы версионность ввел... без указания какая версия последняя.

Если гонишься за см, то можно формы в один файл, модули в другой, таблицы в третий, описание в четверный.
И еще личный афтограф в 5ый.
androgin; +1 Ответить
Оставьте свое сообщение