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

28.10.24

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Парсер шаблонов конфигурации .st:
.epf 17,28Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.

Всем привет!

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

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

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

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

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

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

См. видео

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

См. также

SALE! 15%

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159701    876    399    

862

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    7894    59    23    

69

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

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

9360 руб.

17.05.2024    23506    68    45    

117

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10473    36    25    

61

SALE! 15%

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

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 19980 руб.

06.10.2023    15441    35    7    

70

SALE! 35%

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

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    188075    1140    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17319    6    32    

42

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

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7723    8    35    

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

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

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

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

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