gifts2017

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

Опубликовал г. Казань Рустем Гумеров (Rustig) в раздел Программирование - Практика программирования

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

Мне понравилась статья «Начало автоматизации»: http://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.

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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

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


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

- тут мне стоит прокомментировать. Шаблоны в формате .st создаются средствами платформы через конфигуратор, наполняются шаблоны в течение профессиональной деятельности, а если замутить обмен опытом (или обмен шаблонами), то процесс ускорится... Шаблоны, которые я встречал, не содержали тех ограничений, о которых я заранее предупреждаю в статье. То есть эти ограничения настолько далеки от реальности, что встречаются редко. А теперь появилась возможность редактировать шаблоны-макеты в режиме 1С:Предприятие. В общем, может быть не все так безнадежно? ;)
11. г. Казань Рустем Гумеров (Rustig) 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) 29.05.12 18:43
(15) планов нет, код открыт для всех желающих дорабатывать :)
17. Сергей (amaster) 04.07.12 13:24
Что за манера публикацию делать на части? Еще бы версионность ввел... без указания какая версия последняя.

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