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

27.04.26

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

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

Файлы

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

Наименование Скачано Купить файл
Чеширский кот: База знаний из Зазеркалья (ред. 0.5.0)
.dt 3,15Mb
0 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    55263    111    29    

123

Нейросети Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Расширение "Искусственный интеллект и нейросети в 1С: Работа с отзывами маркетплейсов" предназначено для применения искусственного интеллекта в повседневной деятельности селлеров на маркетплейсах. Среди функций - работа с отзывами, вопросами и чатами покупателей, диалог с нейросетями, генерация картинок, заполнение описаний номенклатуры и другое.

6100 руб.

03.04.2024    15443    8    0    

12

Нейросети Инструментарий разработчика Запросы Программист 1С:Управление торговлей 11 Абонемент ($m)

Консоль запросов: добавлен ИИ-помощник (запрос в DeepSeek), который помогает быстрее получать каркас Запроса 1С Сформулируйте простое описание; нажмите кнопку – получите результат прямо в консоли. Где дальше его можно дорабатывать и тестировать.

2 стартмани

вчера в 20:39    477    3    German4739    12    

10

Работа с интерфейсом Нейросети Системный администратор Программист Руководитель проекта 1С:Предприятие 8 Бесплатно (free)

Эту статью породила моя случайная встреча в московском метро с женщиной, которой я помог донести торшер. Оказалось, что это театральный реквизит, она сама - режиссёр, а её муж - 1С-ник и мой старый друг. В очередной раз я поразился, как тесен мир, и как, порою, неслучайны случайные встречи! Мы созвонились с другом, и он мне рассказал о своих экспериментах с искусственным интеллектом на проектах "снеговика" с интерфейсом на обычных формах, купирующих проблемы предприятий, у которых за многие годы накопилось столько доработок, что поддержка конфигурации стала огромной болью, особенно, в связи с регуляторными изменениями последних лет. И не поддерживать морально устаревшие конфигурации тоже нельзя, т.к. апгрейд до последних версий на управляемых формах обойдётся кратно дороже. Я ему предложил написать статью на Инфостарте, но он наотрез отказался публиковаться под своим именем, и мне с трудом удалось уговорить его опубликоваться от моего имени, что я и делаю.

18.05.2026    1750    RayCon    10    

22

Логистика, склад и ТМЦ Нейросети Программист Пользователь 1С 8.3 1С:Управление нашей фирмой 3.0 1С:УНФ Управленческий учет Абонемент ($m)

Внешняя система аналитики закупок для 1С на базе FastAPI + PostgreSQL + Docker с поддержкой локального AI через Ollama. Возможности: — рекомендации по закупке; — ABC / XYZ анализ; — поиск неликвидов; — поиск излишков; — анализ сезонности; — риск дефицита; — AI-пояснения рекомендаций. Решение работает через HTTP API и может использоваться как внешний аналитический сервис для 1С. Поддерживается локальный AI без облачных сервисов и без передачи данных наружу.

10 стартмани

14.05.2026    543    2    aldar    1    

6

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

Современные LLM-агенты страдают от одной архитектурной болезни: они обязаны ответить всегда. Даже когда контекст пуст, даже когда данных нет, даже когда любой ответ будет галлюцинацией. Это порождает шум, эрозию памяти и ложную уверенность. В нашей архитектуре агент не имеет права генерировать ответ, если недостаточно света. Перед любой попыткой срабатывает L8 — pre-execution constitutional gate. Он измеряет покрытие контекста (context_coverage), прогнозирует уровень шума (noise_estimate) и выносит вердикт: разрешить, ограничить, верифицировать или заблокировать.

14.05.2026    430    ksnik    20    

6

Нейросети 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Данная публикация представляет расширения для конфигураций 1С: УТ 11, ЗУП 3.1, ЕРП 2.5. Расширения позволяют выгружать любые данные из всех типовых отчетов (в них добавляется кнопка DeepSeek (см. скрин)), а также через встроенный конструктор запроса; хранить промты для нейросети с параметрами из 1С; отправлять запросы в DeepSeek, получать и обрабатывать ответ. Реализована автоматическая обработка результата: поиск таблицы в ответе нейросети и вывод её в табличный документ. Предусмотрена возможность перехватить ответ и написать свою обработку — полученную таблицу значений можно использовать для загрузки в табличную часть, создания документов или заполнения регистров. В публикации — описание возможностей, настройки, примеры промтов и шаблон обработки-перехватчика.

2 стартмани

13.05.2026    441    0    German4739    1    

7

Нейросети Программист 1С 8.3 Абонемент ($m)

В релизе ИИ Агент 0.8.5 агент стал ближе к полноценному рабочему инструменту аналитика: появился более устойчивый графовый цикл выполнения, улучшена работа с файлами и вложениями, а режим «Запрос 1С» теперь поддерживает follow-up уточнения. В статье показываем сценарий: пользователь просит вывести контрагентов, затем добавляет поля ИНН и код, а потом фильтрует только покупателей — агент перестраивает запрос и показывает результат в табличном документе.

1 стартмани

12.05.2026    3267    Aleksandr    4    

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