Да, теперь картина понятная. У тебя сейчас: * **1С:Предприятие 8.3.27** * **Бухгалтерия предприятия, редакция 2.0** * база в режиме **файловая** * клиент **толстый** * каталог базы: `x:\1C\База бухгалтерии` Это значит: **быстрее всего вам идти через публикацию базы на веб-сервере и включение стандартного OData/REST**, а потом уже поверх этого делать свой backend. Платформа 1С умеет автоматически формировать REST-интерфейс после публикации решения на веб-сервере; через него можно получать списки документов, справочников, записей регистров, в том числе с фильтрами, а также читать/создавать/изменять объекты. 1С прямо называет автоматически генерируемый REST/OData основным инструментом интеграции со сторонними системами. ([v8.1c.ru][1]) ## Что делать дальше ### План на 2 этапа **Этап А — быстро получить доступ к данным без ручных выгрузок** Поднимаете **OData/REST**. **Этап Б — сделать нормальный боевой коннектор** Поверх OData делаете **свой Node-сервис**, который: * тянет данные по расписанию, * хранит слепки и дельты, * нормализует 1С-структуру, * отдаёт уже удобное API вашему ассистенту. А когда станет ясно, какие именно бухгалтерские сценарии нужны, добавляете в 1С **HTTP-сервисы** для кастомных запросов. 1С поддерживает создание собственных HTTP-сервисов; они удобны как лёгкие RPC/REST-эндпоинты, где вы сами формируете ответ встроенным языком. ([v8.1c.ru][2]) --- # Практический пошаговый план ## Шаг 1. Зафиксировать цель интеграции Сразу не делать “полный двусторонний API”. На старте нужен режим: **read-only + синхронизация в вашу систему** То есть: * ничего в 1С не пишем; * только читаем; * строим внешний аналитический/операционный слой. Это резко снижает риск. --- ## Шаг 2. Проверить, есть ли доступ к Конфигуратору Вот это критично. Без Конфигуратора или 1С-разработчика, который умеет: * публиковать базу на веб-сервере, * настраивать доступ, * включать OData, * при необходимости добавлять HTTP-сервисы, вы не поедете. ### Что нужно спросить у 1С-ника Одной фразой: > Нужно опубликовать файловую базу 1С на локальном веб-сервере и включить стандартный интерфейс OData на чтение. Это уже предметная задача. --- ## Шаг 3. Поднять веб-публикацию базы REST/OData в 1С работает **после публикации прикладного решения на веб-сервере**. Это прямо официальный базовый принцип. ([v8.1c.ru][1]) ### Что это значит practically Ваш 1С-ник должен: * открыть **Конфигуратор**; * опубликовать базу на **IIS** или **Apache**; * включить публикацию стандартного интерфейса OData; * выдать вам URL. Обычно итог выглядит концептуально так: * база была локальной файловой; * стала доступна по HTTP внутри сети, например: * `http:////odata/...` * или похожий путь, который сформирует публикация. Я сейчас не даю точный шаблон URL, потому что он зависит от имени публикации и настроек веб-сервера. --- ## Шаг 4. Включить OData только для чтения и только для нужных сущностей В Библиотеке стандартных подсистем у 1С есть отдельный механизм настройки доступа к данным через стандартный интерфейс OData. ([v8.1c.ru][3]) ### Что открывать наружу на старте Не всё подряд. Только: * документы покупателей * документы поставщиков * банковские выписки / платежные документы * кассовые документы * журнал проводок / регистр бухгалтерии, если доступен через публикацию * контрагенты * договоры контрагентов * номенклатура * статьи затрат * статьи ДДС * прочие доходы и расходы То есть тот минимум, который у тебя уже руками выгружался. --- ## Шаг 5. Проверить OData простым тестом После публикации проверяете не “сложный сценарий”, а очень простой: 1. Открывается ли metadata/корень сервиса. 2. Возвращается ли список, например, контрагентов или документов. 3. Работают ли фильтры по дате. Официально REST/OData в 1С рассчитан как раз на получение списков документов, справочников и записей регистров с фильтрами. ([v8.1c.ru][1]) --- ## Шаг 6. Между 1С и ассистентом ставите свой backend Вот это обязательно. ### Архитектура **1С (OData) → ваш sync-service → Postgres / storage → ассистент / UI** ### Почему так Потому что нельзя строить продукт так: * UI каждый раз бьёт прямо в 1С; * ассистент напрямую лезет в 1С; * куча запросов летит в боевую бухгалтерскую базу. Это будет и хрупко, и больно. ### Что делает sync-service * хранит `last_sync_at` * тянет данные пачками * складывает сырые JSON/таблицы * нормализует в свои сущности * считает дельты * строит витрины: * документы * движения * контрагенты * объяснение суммы * хвосты * изменения за день --- ## Шаг 7. Не делать realtime на старте Это важно. На старте не нужен “живой поток каждую секунду”. Нужен режим: * раз в 5 минут, * или раз в 15 минут, * или по кнопке “обновить”. У 1С всё есть для интеграции и синхронизации по расписанию, и БСП отдельно поддерживает синхронизацию по требованию и в автоматическом режиме по расписанию. ([v8.1c.ru][3]) Для бухгалтерии этого обычно достаточно. --- ## Шаг 8. После OData — добавить HTTP-сервисы под умные сценарии Когда базовый доступ заработает, вы быстро упрётесь в то, что OData даёт “сырые объекты”, а вам нужны бизнес-запросы: * дай документы, изменённые после последней синхронизации; * дай расхождения по контрагентам; * дай хвосты перед закрытием; * дай цепочку, из чего сложилась сумма; * дай нетипичные ручные операции. Вот под это уже делаются **HTTP-сервисы внутри 1С**, потому что 1С позволяет создавать произвольные HTTP-сервисы и самим формировать тело ответа. ([v8.1c.ru][2]) --- # Что конкретно делать тебе сейчас Вот совсем без воды. ## Прямо сейчас Составь и передай 1С-разработчику такой список задач: ### ТЗ-минимум 1. **Опубликовать файловую базу 1С на локальном веб-сервере**. 2. **Включить стандартный REST/OData-интерфейс**. 3. **Настроить отдельного пользователя только на чтение** для интеграции. 4. **Ограничить опубликованные сущности** стартовым списком: * контрагенты * договоры контрагентов * номенклатура * статьи затрат * статьи ДДС * документы покупателей * документы поставщиков * банковские документы * кассовые документы * проводки / регистры бухучёта, если доступны через публикацию 5. **Отдать тестовый URL и учётку** для проверки из внешней системы. ### ТЗ-второй очереди 6. Добавить **HTTP-сервисы** под кастомные выборки: * изменения за период, * дельта после последней синхронизации, * список незакрытых хвостов, * проводки, повлиявшие на сумму, * документы закрытия месяца. --- # Что будете делать вы в Node.DC ## Первая версия коннектора Делаете сервис с 4 методами: * `syncReferenceData()` тянет справочники * `syncDocuments(from, to)` тянет документы по периоду * `syncAccountingMovements(from, to)` тянет движения/проводки * `getDelta(since)` тянет только изменения с момента последней синхронизации ### В хранилище Минимум такие таблицы: * `onec_counterparties` * `onec_contracts` * `onec_items` * `onec_cashflow_articles` * `onec_cost_articles` * `onec_documents_raw` * `onec_postings_raw` * `onec_sync_log` --- # Какой результат должен быть через 1–2 дня работы Не “полный AI для бухгалтерии”. А вот такой checkpoint: ### Должно заработать * автоматически читаем из 1С контрагентов; * автоматически читаем документы за день/месяц; * автоматически читаем проводки/движения; * без ручных Excel; * данные падают в ваше хранилище; * можно сделать первый экран: * “что изменилось с последнего sync” * “какие документы/движения добавились” * “какие контрагенты/суммы затронуты” Если этого нет — дальше думать про ассистента рано. --- # Самая короткая стратегия ## Что не делать * не строить ассистента поверх ручных выгрузок; * не лезть сразу в онтологию и сложные смыслы; * не пытаться “читать SQL-таблицы 1С в лоб”. ## Что делать * публикация базы, * OData, * read-only пользователь, * sync-service, * своё хранилище, * потом HTTP-сервисы под умные кейсы. --- # Твой следующий практический ход Открой у себя и проверь, есть ли вообще **Конфигуратор 1С** для этой базы. Если есть — это следующий рабочий шаг. Если его нет, значит нужен человек с доступом к конфигуратору/администрированию. Если хочешь, я следующим сообщением соберу тебе **готовое короткое ТЗ для 1С-разработчика** — буквально списком, что именно ему нужно сделать, без лишней теории. [1]: https://v8.1c.ru/platforma/rest-interfeys/ "REST интерфейс | Интеграция - платформа 1С:Предприятие" [2]: https://v8.1c.ru/platforma/http-servisy/ "HTTP-сервисы | Интеграция - платформа 1С:Предприятие" [3]: https://v8.1c.ru/tekhnologii/standartnye-biblioteki/1s-biblioteka-standartnykh-podsistem/integratsiya-s-drugimi-prilozheniyami-i-podsistemami/ "Интеграция с другими приложениями и подсистемами | 1С:Библиотека стандартных подсистем"