Парсер шаблонов конфигурации .st

02.11.25

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

Шаблоны конфигурации + Регулярные выражения = Парсер шаблонов.

Файлы

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

Наименование Скачано Купить файл
Парсер шаблонов конфигурации .st:
.epf 17,28Kb
1 2 150 руб. Купить

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

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

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

Всем привет!

1. Реализован парсер шаблонов текста конфигурации через регулярные выражения - смотрите видео ниже.

2. Парсер реализован через внешнюю обработку на обычных формах. Генератор дерева использует рекурсию.

3. Внешняя обработка содержит макет Текстового документа, в который надо скопировать шаблон конфигурации (смотрите ниже - продемонстрировано на видео).

4. Адаптация на обход файлов шаблонов или обход нескольких макетов текстового документа - дело времени. :)

5. Адаптация на управляемые формы и добавление поиска по ключевым словам будет производиться на основе Шаблоны кода на управляемых формах

Разработка велась на платформе 1С:Предприятие 8.3 (8.3.18.1289) на конфигурации на обычных формах Управление торговлей, ред.10.3 (10.3.28.1) - конфигурация не имеет значения в данном случае.

См. видео

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

парсер шаблонов кода текста конфигурации регулярные выражения парсинг дерево рекурсия

См. также

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

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

14400 руб.

20.08.2024    49830    286    143    

255

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

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

15500 руб.

02.09.2020    227791    1237    415    

1078

Инструментарий разработчика Нейросети Платные (руб)

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

9900 руб.

25.08.2025    24464    60    10    

66

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

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

22200 руб.

06.10.2023    29717    78    30    

104

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

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

16000 руб.

10.11.2023    20982    86    42    

95

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

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

9500 руб.

17.05.2024    42668    156    57    

191

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

В процессе работы в 1С часто возникает потребность получить данные из другой базы. Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение для 1С, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

5000 руб.

24.09.2019    26972    22    16    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. echo77 1934 29.11.21 16:28 Сейчас в теме
Я не понял для чего это все :-/
2. RustIG 1931 29.11.21 16:42 Сейчас в теме
(1) Александр, а ты свои наработки где хранишь? в каком формате? а наработки коллег как вы храните? у вас может облачная база знаний есть? я не говорю про синтаксис языка, я говорю про готовые механизмы...
3. echo77 1934 29.11.21 16:47 Сейчас в теме
(2) Я храню в файликах, файлики в Я.Диске. Потом не просто что-то найти, если не помнишь где это делал, если ты про это :-)
4. ixijixi 2070 29.11.21 16:55 Сейчас в теме
(3) Яндекс , кстати, оч. качественно ищет по своему ЯДиску. Как-то фоткал шкаф, через пару лет искал в галерее - не нашел, а поиском в ЯД с телефона сразу нужную фотку подкинул, хотя я ее даже не подписывал.
6. RustIG 1931 29.11.21 17:07 Сейчас в теме
(4) Как я ищу:
1) синтаксис языка я смотрю сначала в справке 1с
2) если не хватает, то в Методической поддержке - которая вызывается также из справки из помощника (там гиперссылка имеется на нужный раздел)
3) если инфы нет, то через яндекс-поиск...
но яндекс выдает в поисковой выдаче кучу мусора и индексирует ежегодно по новому - то есть тот алгоритм, который я в прошлом году использовал, в этом году уже вряд ли найду....
4) в итоге "самое-самое" храню у себя в шаблонах - вопрос с поиском решен
5. RustIG 1931 29.11.21 17:03 Сейчас в теме
(3)
Потом не просто что-то найти, если не помнишь где это делал

это ключевая проблема хранения большого кол-ва файликов - трудно найти ....
я эту проблему решил - по крайней мере для себя....
я храню в своих шаблонах, реализовал поиск по ключевому слову...
данная обработка - для тех у кого "горит" подобная задача....
7. RustIG 1931 02.12.21 14:18 Сейчас в теме
Протестировал построение дерева из строки JSON - через рекурсию по аналогии с алгоритмом из данной публикации:

Процедура СоздатьДерево(Кнопка)
	
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(ЭлементыФормы.ПолеТекстовогоДокумента1.ПолучитьТекст());
	Данные = ПрочитатьJSON(Чтение);
	
	Дерево = Новый ДеревоЗначений;
	Дерево.Колонки.Добавить("Параметр");
	Дерево.Колонки.Добавить("Значение");
	
	ТекУзел = Дерево;
		
	ДобавитьУзел(ТекУзел, Данные);
	
	ЭлементыФормы.Дерево.СоздатьКолонки();	

КонецПроцедуры

Процедура ДобавитьУзел(ТекУзел, СтруктураДерева)
		
	Для Каждого ЭлСтруктуры Из СтруктураДерева Цикл
		
		Если ТипЗнч(СтруктураДерева)=Тип("Структура") Тогда			
 
			ПодчиненныйУзел = ТекУзел.Строки.Добавить();
			ПодчиненныйУзел.Параметр = ЭлСтруктуры.Ключ;
			
			Если ТипЗнч(ЭлСтруктуры.Значение)=Тип("Структура") 
				ИЛИ ТипЗнч(ЭлСтруктуры.Значение)=Тип("Массив") Тогда
				ДобавитьУзел(ПодчиненныйУзел, ЭлСтруктуры.Значение);
			Иначе
				ПодчиненныйУзел.Значение = ЭлСтруктуры.Значение;
			КонецЕсли; 		
			
		Иначе //массив
			
			//ПодчиненныйУзел = ТекУзел.Строки.Добавить();
			//ПодчиненныйУзел.Параметр = ЭлСтруктуры;
			
			Если ТипЗнч(ЭлСтруктуры)=Тип("Структура") 
				ИЛИ ТипЗнч(ЭлСтруктуры)=Тип("Массив") Тогда
				ДобавитьУзел(ТекУзел, ЭлСтруктуры);
			Иначе
				ПодчиненныйУзел.Значение = ЭлСтруктуры;
			КонецЕсли; 		
			
		КонецЕсли;
			
	КонецЦикла;
		
КонецПроцедуры
Показать
Прикрепленные файлы:
Для отправки сообщения требуется регистрация/авторизация