Оптимизация разработки. Шаблоны

22.11.21

Разработка - Инструментарий разработчика

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Оптимизация разработки. Шаблон
.st 37,60Kb ver:1
67 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

 

 

Существует типовой шаблон, предоставляемый в поставке платформы. Типовой шаблон недоступен для редактирования (Описание на ИТС) . Подключение типового шаблона для использования в конфигурации выполняется через опцию "Сервис" – "Шаблоны текста" – "Действия" – "Настройка шаблонов" - "Использовать стандартные шаблоны".

Шаблон представляет собой набор конструкций, которые можно вставить в код следующим образом:

  • Вызовом через сочетание (Ctrl + Q);
  • При вызове контекстного меню (Ctrl+space),  если включена соответствующая опция;
  • Перетащить из шаблона в тело модуля.

Конструкция шаблона состоит из:

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

 

 

  • Включать в контекстное меню - опция, которая добавляет выбор шаблона в контекстное меню (Ctrl+Space) 
  • Текста шаблона (Текст шаблона) - Представляет собой конструкцию, которая будет подставлена в результате. Текст шаблона поддерживает динамическое взаимодействие с пользователем. Подробнее - Описание функциональности шаблонов текста 

По умолчанию, в настройках конфигурации выключена возможность использования шаблонов из контекстного меню, а большинстве конструкций в типовом шаблоне не включена опция "Включать в контекстное меню", поэтому использование шаблонов при разработке возможно только через сочетание клавиш (Ctrl + Q).

Для того, чтобы исправить ситуацию необходимо: 

  • Включить возможность использования в контекстном меню в параметрах "Сервис" - "Параметры" - "Модули" - "КонтекстнаяПодсказка" - "ВключитьШаблоныВСписокПодсказок"

 

 

  • Включить опцию у шаблона "Включать в контекстное меню".

 

 

Но типовой шаблон нельзя изменять. Для этого мы сделаем следующее:

  • Для избежания конфликтов можно отключить использование типового шаблона - "Сервис" – "Шаблоны текста" – "Действия" – "Настройка шаблонов" - "Использовать стандартные шаблоны" снять галочку;
  • Скопируем типовой шаблон (C:\Program Files\1cv8\8.3.15.1778\bin\gentempl_ru.st)
  • Переименуем и подключим к нашей конфигурации. "Сервис" – "Шаблоны текста" – "Действия" – "Настройка шаблонов" - "Добавить";

 

 

Для того, чтобы отличать разные шаблоны с одинаковыми масками для замены, я принял за правило выделять в маске конструкцию c префиксом #. После этого в контекстном меню можно явно определить шаблон для использования.

 

 

Чтобы адаптировать шаблоны для своего практического использования я сделал следующее:

  • Удалил лишние конструкции из типового шаблона;
  • Установил маски для замены в коде;
  • Добавил конструкции из БСП.

Состав шаблона с типовыми конструкциями получился следующим (Изменил маски и опцию подстановки):

  • Управляющие операторы (Условия, Циклы)
  • Процедуры и функции (НаКлиенте, НаСервере, СКомментариями)
  • Обработка попытки
  • Выделение области
  • В шаблонах прикладных объектов оставил только открытие форм с параметрами
  • Для прочих операций оставил "Запросы", "Сообщение" и "Проверка типов"

Состав шаблона с шаблонами БСП (Отличная статья по методам БСП):

  • Общие:
    • Значение реквизита, реквизитов на клиенте и сервере
    • Проверка свойства объекта
  • Строковые:
    • Подставить параметр в строку
    • Разложить строку в массив подстрок
  • Фоновые задания:
    • Выполнение на клиенте с обработкой результата
  • Диалоги:
    • Вопрос да/нет с обработкой результата
  • Файлы:
    • Открыть файл
    • Загрузить файл
  • Списки
    • Наложить отбор на динамический список
  • Коллекции
    • Выгрузить колонку
    • Заполнить дерево на форме на основании другого дерева
  • Внешние отчеты и обработки
    • Сведения о внешних отчетах/обработках/печатных формах
    • Печать внешней печатной формы (полный шаблон)

Как это может выглядеть на практике:

  • Создание внешних обработок/отчетов/печатных форм или установка сведений в существующих:

 

  • Добавление процедур, вопрос, обработка данных в форме:

 

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

Проверено на платформе 8.3.15.1778.

Готовое решение

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА (Разрешит. режим) + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

Универсальная обработка для фискальных регистраторов! Подключайте любые ККТ, включая Веб сервер АТОЛ, без обновления 1С и работайте с несколькими кассами одновременно. Тестовый доступ — бесплатно!


Вступайте в нашу телеграмм-группу Инфостарт

Шаблоны Шаблон Код Программирование Автозамена Оптимизация

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    205828    1130    410    

1028

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    36837    211    110    

198

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    16787    73    39    

89

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    24370    65    28    

93

Инструментарий разработчика Программист 1С v8.3 1С:Управление нашей фирмой 3.0 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9500 руб.

17.05.2024    35327    128    53    

170

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    2017    1    0    

8

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

6000 руб.

07.02.2018    107699    249    100    

313
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. olololeg 23.11.21 15:25 Сейчас в теме
Не боитесь ли вы, что с течением времени, шаблонов будет такое кол-во, что потом поиск нужного превратиться в поиск по БСП?) А так довольно идея хорошая.
IgorS; RustIG; +2 Ответить
2. RustIG 1897 23.11.21 15:36 Сейчас в теме
(0) интересная разработка....
вы озвучили проблему - не помним какой метод БСП и по какому пути искать....
хорошее предложили решение....

но есть проблема, что нет поиска по вашим шаблонам - об этом я писал давным давно вот тут https://infostart.ru/public/89310/

это было на обычных формах....
сейчас для управляемых форм я реализовал вот что https://infostart.ru/public/1444273/

некоторые испытывают проблемы дальнейшего наполнения шаблонов, проблемы поиска среди тысячи алгоритмов, проблемы доступа к файлу шаблонов....

рано или поздно все столкнутся с какой-либо проблемой этих шаблонов....
примечательно то, что лучше поиска в интернете пока что ничего не придумали
3. AnryMc 849 23.11.21 17:39 Сейчас в теме
(2)
что лучше поиска в интернете пока что ничего не придумали
9. mrChOP93 99 24.11.21 10:50 Сейчас в теме
(2)
примечательно то, что лучше поиска в интернете пока что ничего не придумали

Мне для поиска по БСП очень помогает турбопоиск в TurboConf (не реклама)
Прикрепленные файлы:
Gadzhalik; RustIG; +2 Ответить
10. RustIG 1897 24.11.21 11:41 Сейчас в теме
4. AnryMc 849 23.11.21 17:45 Сейчас в теме
То же вёл свой шаблон.
"Дёргал" в него разный код...

Потом перестал понимать где искать...
И бросил его вести...

З.Ы. Главный недостаток (ИМХО) отсутствие категорий (ключевых слов)....
5. МимохожийОднако 142 23.11.21 17:58 Сейчас в теме
Не важно какие и в каком количестве ведёт шаблоны разработчик.
Сократить объем всего этого добра позволяет только ПОНИМАНИЕ поведения объектов,их свойств и методов.
Многие умеют копипастить и вести свои библиотеки наработанных кодов, но только реальные профессионалы понимают, что это в определенный момент становится не нужным )
Знакомство, знание, умение, навык, понимание...Вот такая цепочка
6. muskul 24.11.21 03:56 Сейчас в теме
Есть целых 11 %вставить нужное% нужно объединить их и сделать едиными и однообразными. Появилось 12 %вставить нужное%
pavlov_dv; +1 Ответить
7. quazare 3953 24.11.21 08:05 Сейчас в теме
шаблоны имеют свойство быстро устаревать, товарищи
8. Yashazz 4863 24.11.21 10:34 Сейчас в теме
Допиливание шаблона "по месту" быстро становится менее выгодным, чем хлопоты с шаблоном как таковым. Ну и портируется хуже.

Скорее уж разумно делать малые универсалы, процедуры-функции, и их таскать с места на место копипастом, и тюнинговать параметрами.

А что до публикации, так это должно было быть во встроенной справке платформы, и жаль, что нету.
Touch_Of_Soul; Ekovichev; +2 Ответить
11. zqzq 25 24.11.21 15:44 Сейчас в теме
Пользуюсь шаблонами Чистова. Удобно для рутинных/частых/типовых операций, типа набрать "Если" и шаблон сам подставит обёртку "Если Тогда КонецЕсли;". Там только встроенный язык, поэтому не устаревает и объём небольшой.
12. RustIG 1897 24.11.21 16:04 Сейчас в теме
(11)
Если Тогда КонецЕсли;"

не велика выгода

иногда часами думаешь как механизм запилить, а вы тут
(11)
Если Тогда КонецЕсли
Chizhik2020; +1 Ответить
13. RustIG 1897 24.11.21 16:05 Сейчас в теме
(11)я к тому , что выигрыш от этих шаблонов, тогда, когда сложный алгоритм копипастим - чтобы с нуля его не писать....
15. zqzq 25 25.11.21 10:51 Сейчас в теме
(13) Так выше и писали, что шаблоны не для этого, и я согласен. Храню несколько кусков запросов (вроде генерации всех дней в периоде) в Образцах программы CLCL. А шаблоны платформы как раз для мелочи нужны, типа начал набирать, а шаблон дополнил конструкцию.
16. RustIG 1897 25.11.21 11:51 Сейчас в теме
(15) я , к большому сожалению 1с и всем кто причастен к стандартным шаблонам, ими не пользуюсь....
я часы трачу чтобы изучить их код, придумать обход (решение для клиента), их шаблоны - это копейки
14. CheBurator 3231 24.11.21 23:57 Сейчас в теме
на ИС
https://infostart.ru/public/199364/
.
есть еще на ИС библиотека шаблонов в облаке, с интеграцией в конфигуратор (вроде)
17. Дмитрий74Чел 250 25.11.21 17:35 Сейчас в теме
18. RustIG 1897 27.11.21 13:37 Сейчас в теме
(17) после просмотра я изменил свое отношение к шаблонам.

для тех, кто забыл, как вызвать в конфигураторе Шаблоны: ctrl+shift+T
19. RustIG 1897 27.11.21 14:25 Сейчас в теме
(0)
типовой шаблон, предоставляемый в поставке платформы. Типовой шаблон недоступен для редактирования


Копируете файл шаблона в свою папку, подключаете в меню шаблонов и редактируете... все возможно...
Прикрепленные файлы:
21. Ekovichev 835 29.11.21 14:17 Сейчас в теме
(19)
недоступен для редактирования


Что и описано во второй части публикации
23. RustIG 1897 29.11.21 14:39 Сейчас в теме
(21) да, я потом внимательно прочитал
20. triviumfan 102 29.11.21 10:31 Сейчас в теме
Откуда столько плюсов? Неужели шаблоны первый раз увидели...
22. Ekovichev 835 29.11.21 14:19 Сейчас в теме
(20) Использование шаблонов не освещается широко. Пользуются ими единицы и даже, если и знали об этой возможности, то со временем забывают. Вероятно, для кого-то публикация полезна.
24. RustIG 1897 29.11.21 14:41 Сейчас в теме
(22) меня ваша публикация сподвигла пересмотреть алгоритм парсера шаблонов.
все не зря...
25. RustIG 1897 29.11.21 16:26 Сейчас в теме
Оставьте свое сообщение