Чеширский кот: Практика автодокументирования разработок на 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С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

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

16990 руб.

30.07.2026    13383    29    4    

28

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

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

15250 руб.

25.08.2025    71501    142    41    

150

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

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    595    3    0    

1

Инструментарий разработчика Нейросети Разработчик 1С:Предприятие 8 Абонемент ($m)

MCP-сервер даёт модели всю цепочку правки кода: найти метод, показать изменения построчно, внести, загрузить в базу с проверкой синтаксиса и проверить результат на живых данных. Плюс перенос данных между базами со сверкой остатков, поиск по коду и по смыслу, проверка выдуманных вызовов и аргументов, обезличивание персональных данных на выходе. И главное: пока не выполнено обновление из хранилища, сервер отказывается править и загружать. Инструмент умеет говорить «нет» — в статье есть кадр с таким отказом.

6 стартмани

24.09.2026    4222    5    Rafael-87    13    

10

Нейросети 1С:Управление торговлей 11 Бесплатно (free)

Я не считаю покупку специализированных платных инструментов обязательной для разработки с ИИ: нужную обвязку тоже можно создать с агентом. Показываю этот подход на расширении УТ 11 с динамическим списком остатков. Одно задание Codex, 37 минут до проверки, работающая форма. Рассказываю, как устроено окружение, почему первую попытку пришлось переснять и что получилось в повторном прогоне.

17.09.2026    6096    105    Ibrogim    62    

20

Нейросети Разработчик Руководитель проекта 1C:ERP Бесплатно (free)

Служба на Rust, через которую Claude Code, Cursor или другой MCP-клиент вызывает узких ИИ-агентов. Агент — папка с prompt.md и config.toml, модель — строка в конфиге: DeepSeek, Claude Code по подписке, Codex или локальная модель. Агент получает MCP-инструменты, работает в фоне, каждый ход записывается. Внутри — цифры за три месяца: 10 351 вызов, 78 агентов.

17.09.2026    1810    0    Sorm    9    

10

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

Отладка кода 1С традиционно выглядит примерно одинаково: поставить точку останова, запустить клиент, воспроизвести сценарий, дождаться остановки, посмотреть локальные переменные, пройти несколько строк, раскрыть очередную структуру или коллекцию, вычислить выражение — и повторить все это еще несколько раз. А что, если значительную часть этой рутины поручить AI-агенту?

15.09.2026    3769    andrew.ab    5    

15

Нейросети Разработчик Аналитик Руководитель проекта Бесплатно (free)

Я принёс команде приём, с которым нейронка наконец начала понимать нашу конфигурацию: у меня он работал, у коллег — нет. Дело было не в постановке задач и не в настройках: причина в том, что на их машинах индекс конфигурации считался бы несколько дней. Замер на одном и том же своде из 26 035 записей: три часа на процессоре против трёх с половиной минут на видеокарте. Разбираю, что такое индексация конфигурации и почему она дорогая ровно один раз, почему наша основная серверная машина — 64 ядра, 768 гигабайт памяти — на этой задаче проигрывает домашнему компьютеру, и почему приём одного человека упирается в вопрос, который никто не любит задавать.

09.09.2026    4979    solbol    9    

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