Чеширский кот: Практика автодокументирования разработок на 1С с использованием нейросети на рабочем примере

27.04.26

Интеграция - Нейросети

Никто не любит писать документацию. Ещё говорят, что документация устаревает в момент своего написания. Но что если доверить документирование нейросети? Возможно ли получить качественный результат? Возможно. О чём и пойдёт речь в моей статье.

Файлы

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

Наименование Скачано Купить файл
Чеширский кот: База знаний из Зазеркалья (ред. 0.5.0)
.dt 3,15Mb
1 3 000 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Пример: Автодокументирование справочника "Страницы базы знаний"

Код формы элемента


#Область Обработчики_событий_формы

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	ТекущийОбъект.Содержимое = ТекстРедактора;
	ТекущийОбъект.ТекстВебСтраницы = ТекстHTML;
		
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	ТекстРедактора = Объект.Содержимое;
	ТекстHTML = Объект.ТекстВебСтраницы;
	ДокументHTML = MarkdownСервер.ПодготовитьПолеПромежуточногоHTML();
	
КонецПроцедуры

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
	
	ТекстHTML = MarkdownКлиент.СформироватьHTML(ЭтаФорма, Объект.Наименование, ТекстРедактора);
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
	
	Оповестить("ЗаписанаСтраницаБазыЗнаний");
	
КонецПроцедуры

#КонецОбласти

#Область Обработчики_событий_элементов_формы

&НаКлиенте
Асинх Процедура ВыгрузитьHTML(Команда)
	
	Если Модифицированность Тогда
		Записать();
	КонецЕсли;
	
	Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
	Диалог.Фильтр = "Веб-страница (*.html)|*.html";
	Диалог.Заголовок = "Выгрузка html-представления страницы базы знаний";
	Диалог.ПолноеИмяФайла = Объект.Наименование + ".html";
	
	ВыбранныеФайлы = Ждать Диалог.ВыбратьАсинх();
	
	Если ВыбранныеФайлы = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ПутьКФайлу = ВыбранныеФайлы[0];
	
	ТекстовыйДокумент = Новый ТекстовыйДокумент;
	ТекстовыйДокумент.УстановитьТекст(ТекстHTML);
	ТекстовыйДокумент.ЗаписатьАсинх(ПутьКФайлу);
	
КонецПроцедуры

&НаКлиенте
Процедура ПросмотрСтраницыПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Не ПросмотрСтраницыБазыЗнаний.ПерейтиПоСсылке(ДанныеСобытия.href);
		
КонецПроцедуры

&НаКлиенте
Асинх Процедура ВыгрузитьPDFБезКартинок(Команда)
	
	Если Модифицированность Тогда
		Записать();
	КонецЕсли;
	
	Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
	Диалог.Фильтр = "PDF-документ (*.pdf)|*.pdf";
	Диалог.Заголовок = "Выгрузка pdf-представления страницы базы знаний";
	Диалог.ПолноеИмяФайла = Объект.Наименование + ".pdf";
		
	ВыбранныеФайлы = Ждать Диалог.ВыбратьАсинх();
	
	Если ВыбранныеФайлы = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ПутьКФайлу = ВыбранныеФайлы[0];
	
	СохранитьPDF(ПутьКФайлу);
	
КонецПроцедуры

#КонецОбласти

#Область Служебные_операции

&НаКлиенте
Процедура СохранитьPDF(ПутьКФайлу)
	
	Текст = ТекстРедактора;
	Текст = СтрЗаменить(ТекстРедактора, Символы.ПС, "<br>");
	
	ТекстHTMLВыгрузки = MarkdownКлиент.СформироватьHTML(ЭтаФорма, Объект.Наименование, ТекстРедактора, Истина);

	ФорматированныйДокумент = Новый ФорматированныйДокумент;
	ФорматированныйДокумент.УстановитьHTML(ТекстHTMLВыгрузки, Новый Структура);
	ФорматированныйДокумент.ЗаписатьАсинх(ПутьКФайлу, ТипФайлаФорматированногоДокумента.PDF);
	
КонецПроцедуры

#КонецОбласти

 

Промпт

Опиши ключевые функциональные возможности кода одноуровневым маркированным списком с заголовком "Функциональные возможности" (заголовок 2).

Далее расскажи про реализацию каждой функциональной возможности в коде (заголовок 2).

Далее отрази функциональные возможности на диаграмме прецедентов PlantUML. Добавь прецедент использования "Создать / изменить страницу". Диаграмму не оборачивай в марки кода markdown (```), но оберни в блок @startuml / @enduml. Назови раздел "Прецеденты использования" (заголовок 2).

Далее отрази также перечисленные процедуры и функции, а также реквизиты формы и реквизиты справочника "Страницы" на диаграмме классов в PlantUML. Назови классы "ФормаЭлемента" и "Справочник Страницы". Диаграмму не оборачивай в марки кода markdown (```), но оберни в блок @startuml / @enduml. После диаграммы перечисли процедуры и функции кода и их алгоритмы в виде таблицы с колонками: имя обработчика, реализуемые функциональные возможности, алгоритм. Назови раздел "Программный интерфейс (API) и метаданные" (заголовок 2).

Далее отрази последовательность вызова кода при работе с markdown, сформировав диаграмму последовательности PlantUML. Диаграмму, не оборачивай в марки кода markdown (```). Назови раздел "Последовательность вызова кода при работе с markdown". Отрази классы: "Пользователь", "ФормаЭлемента", "MarkdownКлиент" (заголовок 2). 

 

Результат

Функциональные возможности

  • Создание и изменение страниц базы знаний.
  • Преобразование Markdown-разметки в HTML.
  • Сохранение страницы в файл формата HTML.
  • Экспорт содержимого страницы в формат PDF.
  • Навигация по ссылкам внутри HTML-представления.
  • Оповещение системы об изменении данных страницы.

 

Реализация функциональных возможностей

  • Создание и изменение страниц: Реализовано в процедуре `ПриСозданииНаСервере` (загрузка данных в поля формы) и `ПередЗаписьюНаСервере` (сохранение текстов из реквизитов формы в объект справочника).
  • Преобразование Markdown в HTML: Выполняется на клиенте через `MarkdownКлиент.СформироватьHTML`, вызываемый в обработчике `ПередЗаписью`.
  • Сохранение в HTML: Реализовано в процедуре `ВыгрузитьHTML`, которая использует `ДиалогВыбораФайла` и объект `ТекстовыйДокумент` для записи данных на диск.
  • Экспорт в PDF: Реализовано в процедуре `ВыгрузитьPDFБезКартинок` и служебной `СохранитьPDF`, где используется `ФорматированныйДокумент` для интерпретации HTML и записи файла.
  • Навигация по ссылкам: Реализована через `ПросмотрСтраницыПриНажатии`, где стандартная обработка подавляется, а переход осуществляется через `ПросмотрСтраницыБазыЗнаний.ПерейтиПоСсылке`.
  • Оповещение системы: Используется процедура `ПослеЗаписи`, вызывающая `Оповестить("ЗаписанаСтраницаБазыЗнаний")` для обновления связанных данных в интерфейсе.

 

Прецеденты использования

 

 

Программный интерфейс (API) и метаданные

 

Имя обработчика Реализуемые возможности Алгоритм
ПередЗаписьюНаСервере Сохранение данных Перенос текста из полей формы в атрибуты объекта.
ПриСозданииНаСервере Инициализация формы Заполнение полей формы из объекта, подготовка HTML-поля.
ПередЗаписью Генерация HTML Вызов Markdown-конвертера для обновления `ТекстHTML`.
ПослеЗаписи Оповещение Вызов `Оповестить` для системы.
ВыгрузитьHTML Сохранение файла Открытие диалога, запись `ТекстHTML` в файл.
ПросмотрСтраницыПриНажатии Навигация Отмена стандартной обработки, вызов `ПерейтиПоСсылке`.
ВыгрузитьPDFБезКартинок Экспорт в PDF Открытие диалога, вызов `СохранитьPDF`.
СохранитьPDF Формирование PDF Генерация HTML, загрузка в `ФорматированныйДокумент`, запись файла.

 

Последовательность вызова кода при работе с markdown

 

 

Используемая модель нейросети и цена вопроса

В качестве модели нейросети я использую "gemini-3.1-flash-lite-preview". Она недорогая (генерация по промпту выше обошлась всего в 35 копеек). Но качественно понимает промпты, создавая ожидаемые результаты, и в особенности PlantUML диаграммы. Начинал я с GigaChat от Сбер, но он выводит галиматью в качестве UML диаграмм и не так хорошо предоставляет ожидаемый результат по промптам. Потом попробовал "claude-opus-4.7", но в нём цена за промпт составила космические 37 рублей. Меньше стоила "gemini-3.1-pro-preview" (10 рублей за промпт), но всё равно это дорого. Ведь при работе с нейросетью проходит несколько итераций до формирования финального промпта. А в таких условиях даже 10 рублей очень даже кусаются.

В итоге остановился на "gemini-3.1-flash-lite-preview", полностью покрывающую мои потребности.

В качестве посредника при обращении к нейросети я использую портал aitunnel.ru. Ведь нейросети от Google (gemini), как и многие другие, официально не предоставляются в России. Обратиться к ним можно только через посредников-агрегаторов нейросетей.

Из преимуществ работы aitunnel.ru хочу отметить его бюджетность (я стартовал работу, пополнив баланс всего лишь на 500 рублей, из которых у меня ещё остались 330 руб.), предоставление REST API для программной работы с нейросетями и удобство использования. Переключение между различными моделями нейросетей осуществляется можно сказать "на лету", всего лишь изменением имени нейросети в REST API запросе.

 

Инструментарий автоматизации

Для работы с нейросетью я пользуюсь инструментом "Чеширский кот: База знаний из Зазеркалья".

  • Он хранит страницы знаний в формате markdown с поддержкой вставки картинок и PlantUML диаграмм
  • Результат отображается в виде html
  • Поддерживает работу с нейросетью по каждой отдельной странице знаний. Страница знаний представляется контекстом, передаваемым нейросети в виде pdf-файла. Работа же с нейросетью заключается в последовательном задании ей вопросов.

 

 

  • Обращение к нейросети и генерация ответа происходит автоматически при записи вопроса. Ответ нейросети заносится в связанную с вопросом страницу базы знаний

 

 

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

база знаний markdown памятка справка PlantUML UML чеширский кот нейросеть GigaChat wiki говорящая вики DeepWiki документация зазеркалье ИИ AI вики блокнот заметки ТЗ

См. также

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

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

15250 руб.

25.08.2025    68046    137    39    

144

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    18283    91    29    

80

SALE! %

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Задавайте вопросы базе 1С обычными словами: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения. Всё это работает в самой программе, а Codex и Claude подключаются по желанию.

15989 9891 руб.

30.07.2026    6864    17    4    

15

Нейросети Программист 1С:Предприятие 8 Россия Бесплатно (free)

Как связать 1С и Cursor через MCP так, чтобы AI-агент сам получал актуальную конфигурацию из информационной базы, находил нужный BSL-код, вносил изменения, загружал конфигурацию обратно и запускал 1С:Предприятие. В статье — настройка 1C: Platform Tools, 1C: Platform Tools MCP, OneScript, vanessa-runner и env.json, а также важные нюансы при работе с несколькими проектами, IPC-портами, большими конфигурациями и длительными операциями загрузки. Покажу полный практический цикл на тестовой базе без ручной выгрузки и загрузки XML через Конфигуратор.

28.08.2026    6511    rinat1c    12    

13

Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

Новый UI-контур CodexTestBridge запускает штатные TestClient/TestManager и даёт ИИ-агенту семантические действия вместо координат. Результаты возвращаются по шагам, долгие операции сопровождаются heartbeat. На реальной БП 3.0 открываем и заполняем приходную накладную без записи.

26.08.2026    1445    Aleksandr    1    

8

Нейросети Программист Бесплатно (free)

Практический эксперимент по использованию ИИ при обновлении расширений 1С. Сравниваются GigaChat-2-Pro и локальный Qwen3-Coder 30B на реальных конфликтах BSL-кода. Показано, как модели анализируют изменения типовой конфигурации, где могут ошибаться даже с высокой уверенностью и почему рекомендации AI необходимо дополнительно проверять алгоритмически и в тестовой базе 1С.

24.08.2026    1151    aldar    12    

8

Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье расскажу, как реализовал с помощью LLM полноценную генерацию кода для 1С (BSL) в популярном Open Source API-клиенте Bruno.

21.08.2026    1171    malikov_pro    9    

10

Нейросети Программист 1С 8.3 Бесплатно (free)

Один проход модели по вопросу из 28 знаков стоит 631 296 умножений и 4,8 секунды. Столько берёт языковая модель на 21 920 параметров, посчитанная прямо в 1С средствами самой платформы. На ней разбираю по шагам, что стоит за каждым словом из модного словаря: токен, словарь, вектор символа, вес, слой, голова внимания, контекст, softmax, температура, KV-кэш. Отдельно про температуру - она вообще не про креативность и управляет выбором буквы уже после того, как модель закончила работу. Отдельно про галлюцинацию - показываю в цикле генерации место, куда физически невозможно вставить "не знаю". Плюс расчёт потолка для встроенного языка, замер цены размера модели и история про метод платформы, которого не существует.

20.08.2026    5146    nedomolkov.ivan    15    

21
Для отправки сообщения требуется регистрация/авторизация