новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Яндекс-директ

Описатель метаданных для ИИ и генератор кода

  • Добавить свою разработку
 
Серов Сергей Васильевич
Связаться с автором
22.07.2026 18:00:46
0
Небольшая обработка призванная помочь в разработке особенно учитывая тенденцию привлекать к помощи нейросети
Скриншоты
Описание

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

Для своих задач я написал обработку которая выполняет 2 функции : 
Первая функция - формирование описания объектов метаданных чтобы скормить это нейросети. 
Например DeepSeek. 
Выглядит вывод так : 

 ==============================================
Тип: Справочник
Имя: ТранспортныеСредства
Синоним: Транспортные средства
==============================================

=== РЕКВИЗИТЫ ОБЪЕКТА ===
  • Модель (Модель) : СправочникСсылка.МодельТранспортногоСредства (Модель транспортного средства)
  • ЦветКузова (Цвет кузова) : СправочникСсылка.ЦветКузоваТранспортногоСредства (Цвет кузова транспортного средства)
  • ГодВыпуска (Год выпуска) : Число
  • ТипКПП (Тип КПП) : ПеречислениеСсылка.ТипКПП_ТС (Тип КПП транспортного средства)
  • ВИН (ВИН) : Строка
  • НомерДвигателя (Номер двигателя) : Строка
  • МощностьДвигателя (Мощность двигателя) : Число
  • ОбъемДвигателя (Объем двигателя) : Число
  • ГБО (Газобалонное оборудование) : Булево
  • НомерКузова (Номер кузова) : Строка
  • СвидетельствоСерия (Свидетельство серия) : Строка
  • СвидетельствоНомер (Свидетельство номер) : Строка
  • СвидетельствоДатаВыдачи (Свидетельство дата выдачи) : Дата
  • СвидетельствоДействителенДо (Свидетельство действителен до) : Дата
  • ПТССерия (ПТССерия) : Строка
  • ПТСНомер (ПТСНомер) : Строка
  • ПТСДатаВыдачи (ПТСДата выдачи) : Дата
  • ОСАГОСерия (ОСАГОСерия) : Строка
  • ОСАГОНомер (ОСАГОНомер) : Строка
  • ОСАГОДатаВыдачи (ОСАГОДата выдачи) : Дата
  • ОСАГОДействителенДо (ОСАГОДействителен до) : Дата
  • ОСАГОСтраховщик (ОСАГОСтраховщик) : СправочникСсылка.Страховщики (Страховщики)
  • ОСАГОПремияСтраховщика (ОСАГОПремия страховщика) : Число
  • КАСКОСерия (КАСКОСерия) : Строка
  • КАСКОНомер (КАСКОНомер) : Строка
  • КАСКОДатаВыдачи (КАСКОДата выдачи) : Дата
  • КАСКОДействителенДо (КАСКОДействителен до) : Дата
  • КАСКОСтраховщик (КАСКОСтраховщик) : СправочникСсылка.Страховщики (Страховщики)
  • КАСКОПремияСтраховщика (КАСКОПремия страховщика) : Число
  • КАСКОФраншиза (КАСКО Франшиза) : Строка
  • ДОСАГОДатаВыдачи (ДОСАГОДата выдачи) : Дата
  • ДОСАГОДействителенДо (ДОСАГОДействителен до) : Дата
  • ДОСАГОСтраховщик (ДОСАГОСтраховщик) : СправочникСсылка.Страховщики (Страховщики)
  • ДОСАГОПремияСтраховщика (ДОСАГОПремия страховщика) : Число
  • ДОСАГОСуммаСтрахования (ДОСАГОСумма страхования) : Число
  • ТехОсмотрСерияНомер (Тех осмотр серия номер) : Строка
  • ТехОсмотрДатаВыдачи (Тех осмотр дата выдачи) : Дата
  • ТехсмотрДействителенДо (Техсмотр действителен до) : Дата
  • ЛицТаксиСерияНомер (Лицензия такси серия номер) : Строка
  • ЛицТаксиДатаВыдачи (Лицензия такси дата выдачи) : Дата
  • ЛицТаксиДействителенДо (Лицензия такси действителен до) : Дата
  • Лицензиат (Лицензиат) : СправочникСсылка.Организации (Организации)
  • СветовойКороб (Световой короб) : ПеречислениеСсылка.КоробНаклейка (Короб наклейка)
  • Реклама (Наклейка) : ПеречислениеСсылка.КоробНаклейка (Короб наклейка)
  • РекламаДействителенДо (Реклама до) : Дата
  • ОценочнаяСтоимость (Оценочная стоимость) : Число
  • ТипТранспортногоСредства (Тип транспортного средства) : ПеречислениеСсылка.ТипыТранспортногоСредства (Типы транспортного средства)
  • ДетскоеКреслоМодель (Детское кресло модель) : Строка
  • ДетскоеКреслоКатегория (Детское кресло категория) : Число
  • ВладелецПарка (Владелец парка) : СправочникСсылка.Пользователи (Пользователи)
  • Водитель (Водитель) : СправочникСсылка.Водители (Водители)
  • Префикс (Префикс) : Строка
  • РегистрацияГрузовик_Серия (Регистрация грузовик серия) : Строка
  • РегистрацияГрузовик_НомерБланка (Регистрация грузовик номер бланка) : Строка
  • РегистрацияГрузовик_Номер (Регистрация грузовик номер) : Строка
  • ПолучатьШтрафы (Получать штрафы) : Булево
  • НормаРасходаТоплива (Норма расхода топлива) : Число
  • Госномер (Госномер) : Строка
  • Регион (Регион) : Строка
  • АПИ_ИД (АПИ ИД) : Строка
  • АПИ_СТС (АПИ СТС) : Строка
  • ШтрафыДатаИгнора (Штрафы дата игнора) : Дата
  • ВладелецТС (Владелец ТС) : СправочникСсылка.Организации (Организации)
  • НеИспользуется_ВидПеревозки (Не используется вид перевозки) : ПеречислениеСсылка.НеИспользуется_ВидПеревозки (Не используется вид перевозки)
  • НеИспользуется_ВидСообщения (Не используется вид сообщения) : ПеречислениеСсылка.НеИспользуется_ВидСообщения (Не используется вид сообщения)
  • ОрганВыдачиЛицензии (Орган выдачи лицензии) : СправочникСсылка.ОрганВыдачиЛицензии (Орган выдачи лицензии)
  • КуЭрКод (Ку эр код) : Хранилище значения
  • ВидПеревозки (Вид перевозки) : СправочникСсылка.ВидПеревозки (Вид перевозки)
  • ВидСообщения (Вид сообщения) : СправочникСсылка.ВидСообщения (Вид сообщения)
  • ПечФормаПоУмолчанию (Печатная форма по умолчанию) : Строка
  • Запись_ФГИС (Номер записи ФГИС "Такси") : Строка
  • Запись_ФГИС_ДатаВыдачи (Дата выдачи) : Дата
  • Запись_ФГИС_ДатаОкончания (Дата окончания) : Дата
  • ОСГОП (ОСГОП) : Строка
  • СсылкаДляQR (Ссылка для QR) : Строка

=== СТАНДАРТНЫЕ РЕКВИЗИТЫ ===
  • ИмяПредопределенныхДанных : Строка
  • Предопределенный : Булево
  • Ссылка : СправочникСсылка.ТранспортныеСредства (Транспортные средства)
  • ПометкаУдаления : Булево
  • Наименование : Строка
  • Код : Строка

Иерархический: Нет

=== ТАБЛИЧНЫЕ ЧАСТИ ===
  (нет табличных частей)

 


Это позволяет просто отправить описание нужных метаданных в нейросеть и работать с этим. 

Вторая функция - генератор кода создания нового элемента метаданных. Любого элемента. 
Выглядит это так : 

 // ============ КОД СОЗДАНИЯ Справочник ТранспортныеСредства ============

// Создание нового элемента справочника ТранспортныеСредства
НовыйЭлемент = Справочники.ТранспортныеСредства.СоздатьЭлемент();

// Установка наименования
НовыйЭлемент.Наименование = "Новый элемент"; // Замените на нужное наименование

// Установка реквизитов
// Поиск Модель по коду
НовыйЭлемент.Модель = Справочники.МодельТранспортногоСредства.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.Модель = Справочники.МодельТранспортногоСредства.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.Модель = Справочники.МодельТранспортногоСредства.ПолучитьСсылку(Идент);
// Поиск ЦветКузова по коду
НовыйЭлемент.ЦветКузова = Справочники.ЦветКузоваТранспортногоСредства.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ЦветКузова = Справочники.ЦветКузоваТранспортногоСредства.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ЦветКузова = Справочники.ЦветКузоваТранспортногоСредства.ПолучитьСсылку(Идент);
НовыйЭлемент.ГодВыпуска = 0; // число
// Выбор значения перечисления ТипКПП
НовыйЭлемент.ТипКПП = Перечисления.ТипКПП_ТС.Значение1;
// Альтернативный вариант - выбор через перебор:
// Для каждого ЗначениеПеречисления Из Перечисления.ТипКПП_ТС.Значения Цикл
//     НовыйЭлемент.ТипКПП = ЗначениеПеречисления;
//     Прервать;
// КонецЦикла;
НовыйЭлемент.ВИН = "значение"; // Строка
НовыйЭлемент.НомерДвигателя = "значение"; // Строка
НовыйЭлемент.МощностьДвигателя = 0; // число
НовыйЭлемент.ОбъемДвигателя = 0; // число
НовыйЭлемент.ГБО = Истина; // Ложь;
НовыйЭлемент.НомерКузова = "значение"; // Строка
НовыйЭлемент.СвидетельствоСерия = "значение"; // Строка
НовыйЭлемент.СвидетельствоНомер = "значение"; // Строка
НовыйЭлемент.СвидетельствоДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.СвидетельствоДействителенДо = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ПТССерия = "значение"; // Строка
НовыйЭлемент.ПТСНомер = "значение"; // Строка
НовыйЭлемент.ПТСДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ОСАГОСерия = "значение"; // Строка
НовыйЭлемент.ОСАГОНомер = "значение"; // Строка
НовыйЭлемент.ОСАГОДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ОСАГОДействителенДо = ТекущаяДата(); // Дата(Год, месяц, день);
// Поиск ОСАГОСтраховщик по коду
НовыйЭлемент.ОСАГОСтраховщик = Справочники.Страховщики.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ОСАГОСтраховщик = Справочники.Страховщики.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ОСАГОСтраховщик = Справочники.Страховщики.ПолучитьСсылку(Идент);
НовыйЭлемент.ОСАГОПремияСтраховщика = 0; // число
НовыйЭлемент.КАСКОСерия = "значение"; // Строка
НовыйЭлемент.КАСКОНомер = "значение"; // Строка
НовыйЭлемент.КАСКОДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.КАСКОДействителенДо = ТекущаяДата(); // Дата(Год, месяц, день);
// Поиск КАСКОСтраховщик по коду
НовыйЭлемент.КАСКОСтраховщик = Справочники.Страховщики.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.КАСКОСтраховщик = Справочники.Страховщики.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.КАСКОСтраховщик = Справочники.Страховщики.ПолучитьСсылку(Идент);
НовыйЭлемент.КАСКОПремияСтраховщика = 0; // число
НовыйЭлемент.КАСКОФраншиза = "значение"; // Строка
НовыйЭлемент.ДОСАГОДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ДОСАГОДействителенДо = ТекущаяДата(); // Дата(Год, месяц, день);
// Поиск ДОСАГОСтраховщик по коду
НовыйЭлемент.ДОСАГОСтраховщик = Справочники.Страховщики.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ДОСАГОСтраховщик = Справочники.Страховщики.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ДОСАГОСтраховщик = Справочники.Страховщики.ПолучитьСсылку(Идент);
НовыйЭлемент.ДОСАГОПремияСтраховщика = 0; // число
НовыйЭлемент.ДОСАГОСуммаСтрахования = 0; // число
НовыйЭлемент.ТехОсмотрСерияНомер = "значение"; // Строка
НовыйЭлемент.ТехОсмотрДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ТехсмотрДействителенДо = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ЛицТаксиСерияНомер = "значение"; // Строка
НовыйЭлемент.ЛицТаксиДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ЛицТаксиДействителенДо = ТекущаяДата(); // Дата(Год, месяц, день);
// Поиск Лицензиат по коду
НовыйЭлемент.Лицензиат = Справочники.Организации.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.Лицензиат = Справочники.Организации.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.Лицензиат = Справочники.Организации.ПолучитьСсылку(Идент);
// Выбор значения перечисления СветовойКороб
НовыйЭлемент.СветовойКороб = Перечисления.КоробНаклейка.Значение1;
// Альтернативный вариант - выбор через перебор:
// Для каждого ЗначениеПеречисления Из Перечисления.КоробНаклейка.Значения Цикл
//     НовыйЭлемент.СветовойКороб = ЗначениеПеречисления;
//     Прервать;
// КонецЦикла;
// Выбор значения перечисления Реклама
НовыйЭлемент.Реклама = Перечисления.КоробНаклейка.Значение1;
// Альтернативный вариант - выбор через перебор:
// Для каждого ЗначениеПеречисления Из Перечисления.КоробНаклейка.Значения Цикл
//     НовыйЭлемент.Реклама = ЗначениеПеречисления;
//     Прервать;
// КонецЦикла;
НовыйЭлемент.РекламаДействителенДо = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ОценочнаяСтоимость = 0; // число
// Выбор значения перечисления ТипТранспортногоСредства
НовыйЭлемент.ТипТранспортногоСредства = Перечисления.ТипыТранспортногоСредства.Значение1;
// Альтернативный вариант - выбор через перебор:
// Для каждого ЗначениеПеречисления Из Перечисления.ТипыТранспортногоСредства.Значения Цикл
//     НовыйЭлемент.ТипТранспортногоСредства = ЗначениеПеречисления;
//     Прервать;
// КонецЦикла;
НовыйЭлемент.ДетскоеКреслоМодель = "значение"; // Строка
НовыйЭлемент.ДетскоеКреслоКатегория = 0; // число
// Поиск ВладелецПарка по коду
НовыйЭлемент.ВладелецПарка = Справочники.Пользователи.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ВладелецПарка = Справочники.Пользователи.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ВладелецПарка = Справочники.Пользователи.ПолучитьСсылку(Идент);
// Поиск Водитель по коду
НовыйЭлемент.Водитель = Справочники.Водители.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.Водитель = Справочники.Водители.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.Водитель = Справочники.Водители.ПолучитьСсылку(Идент);
НовыйЭлемент.Префикс = "значение"; // Строка
НовыйЭлемент.РегистрацияГрузовик_Серия = "значение"; // Строка
НовыйЭлемент.РегистрацияГрузовик_НомерБланка = "значение"; // Строка
НовыйЭлемент.РегистрацияГрузовик_Номер = "значение"; // Строка
НовыйЭлемент.ПолучатьШтрафы = Истина; // Ложь;
НовыйЭлемент.НормаРасходаТоплива = 0; // число
НовыйЭлемент.Госномер = "значение"; // Строка
НовыйЭлемент.Регион = "значение"; // Строка
НовыйЭлемент.АПИ_ИД = "значение"; // Строка
НовыйЭлемент.АПИ_СТС = "значение"; // Строка
НовыйЭлемент.ШтрафыДатаИгнора = ТекущаяДата(); // Дата(Год, месяц, день);
// Поиск ВладелецТС по коду
НовыйЭлемент.ВладелецТС = Справочники.Организации.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ВладелецТС = Справочники.Организации.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ВладелецТС = Справочники.Организации.ПолучитьСсылку(Идент);
// Выбор значения перечисления НеИспользуется_ВидПеревозки
НовыйЭлемент.НеИспользуется_ВидПеревозки = Перечисления.НеИспользуется_ВидПеревозки.Значение1;
// Альтернативный вариант - выбор через перебор:
// Для каждого ЗначениеПеречисления Из Перечисления.НеИспользуется_ВидПеревозки.Значения Цикл
//     НовыйЭлемент.НеИспользуется_ВидПеревозки = ЗначениеПеречисления;
//     Прервать;
// КонецЦикла;
// Выбор значения перечисления НеИспользуется_ВидСообщения
НовыйЭлемент.НеИспользуется_ВидСообщения = Перечисления.НеИспользуется_ВидСообщения.Значение1;
// Альтернативный вариант - выбор через перебор:
// Для каждого ЗначениеПеречисления Из Перечисления.НеИспользуется_ВидСообщения.Значения Цикл
//     НовыйЭлемент.НеИспользуется_ВидСообщения = ЗначениеПеречисления;
//     Прервать;
// КонецЦикла;
// Поиск ОрганВыдачиЛицензии по коду
НовыйЭлемент.ОрганВыдачиЛицензии = Справочники.ОрганВыдачиЛицензии.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ОрганВыдачиЛицензии = Справочники.ОрганВыдачиЛицензии.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ОрганВыдачиЛицензии = Справочники.ОрганВыдачиЛицензии.ПолучитьСсылку(Идент);
// Поиск ВидПеревозки по коду
НовыйЭлемент.ВидПеревозки = Справочники.ВидПеревозки.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ВидПеревозки = Справочники.ВидПеревозки.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ВидПеревозки = Справочники.ВидПеревозки.ПолучитьСсылку(Идент);
// Поиск ВидСообщения по коду
НовыйЭлемент.ВидСообщения = Справочники.ВидСообщения.НайтиПоКоду("001");
// Альтернативный поиск по наименованию:
// НовыйЭлемент.ВидСообщения = Справочники.ВидСообщения.НайтиПоНаименованию("Наименование");
// Альтернативный поиск по уникальному идентификатору:
// Идент = Новый УникальныйИдентификатор(Строка(УИД));
// НовыйЭлемент.ВидСообщения = Справочники.ВидСообщения.ПолучитьСсылку(Идент);
НовыйЭлемент.ПечФормаПоУмолчанию = "значение"; // Строка
НовыйЭлемент.Запись_ФГИС = "значение"; // Строка
НовыйЭлемент.Запись_ФГИС_ДатаВыдачи = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.Запись_ФГИС_ДатаОкончания = ТекущаяДата(); // Дата(Год, месяц, день);
НовыйЭлемент.ОСГОП = "значение"; // Строка
НовыйЭлемент.СсылкаДляQR = "значение"; // Строка

// Запись элемента
НовыйЭлемент.Записать();


// ============ КОНЕЦ КОДА ============

 

Обработка не привязана ни к какой конкретно конфигурации и работает даже на самописных
Код обработки открыт. Если хотите - играйте с ним как вам захочется. 

Ключевые слова:   ИИ   нейросети   Генератор кода   помощь в разработке
Файлы для скачивания
0
    ≡ к списку разработок
    Яндекс-директ