Платформа
1С:Бухгалтерия
Обороты, остатки, первичные документы и контрагенты подключённой базы.
1С:Бухгалтерия
Приложение 1С:Бухгалтерия подключает опубликованный стандартный OData-интерфейс информационной базы к рабочему столу Promto. Агент может читать бухгалтерские справочники, документы, планы счетов и регистры, а после отдельного подтверждения — изменять объекты и проводить документы.
Назначение
Подключение подходит для выборок по контрагентам и первичным документам, сверки оборотов и остатков, подготовки отчётных данных и поиска расхождений. Promto работает только с теми объектами, которые администратор базы добавил в состав OData и разрешил пользователю интеграции.
Подключение
Перед подключением настройте базу 1С:Предприятие 8.3.5 или новее:
- В конфигураторе откройте Администрирование → Публикация на веб-сервере.
- Включите Публиковать стандартный интерфейс OData и опубликуйте базу.
- Откройте Состав стандартного интерфейса OData и добавьте только нужные справочники, документы, планы счетов и регистры.
- Выдайте отдельному пользователю роль УдаленныйДоступOData и права на выбранные объекты.
- Настройте HTTPS для адреса публикации.
В приложении укажите адрес публикации, логин и пароль пользователя 1С. Суффикс /odata/standard.odata/ Promto добавит сам. При подключении сервер читает $metadata: так одновременно проверяются адрес, пароль, публикация и фактический состав объектов.
Подключать базу может только владелец рабочего стола. Пароль хранится на сервере и не передаётся агенту.
Интерфейс и данные
На главной странице находятся сценарии Что доступно в базе, Обороты по счёту, Выборка данных и переход к подключению.
В настройках показаны:
- адрес публикации и логин пользователя базы;
- только маска пароля;
- количество опубликованных объектов;
- поиск по именам EntitySet;
- кнопка Обновить состав ($metadata);
- переключатель доступа агента и отключение базы.
Если состав OData пуст, подключение остаётся установленным, но приложение показывает отдельное предупреждение: база отвечает, однако данных агенту не отдаёт.
Возможности агента
Инструмент — promto_onec_accounting. Основной порядок работы:
list_entities— получить реальные имена объектов.describe_entity— узнать ключи, поля и связи выбранного объекта.query— сделать выборку с$filter,$select,$orderby,$expand,$topи$skip.get_object— прочитать объект по GUID.
Для Бухгалтерии полезны семейства AccountingRegister_*, ChartOfAccounts_*, Catalog_* и Document_*. Конкретные имена зависят от версии и доработок базы; агент не должен угадывать их.
Также доступны create_object, update_object, delete_object, post_document, unpost_document и низкоуровневый request.
Сценарии
Обороты за период
Через promto_onec_accounting сначала вызови list_entities и найди опубликованный бухгалтерский регистр. Через describe_entity проверь его поля, затем собери обороты за прошлый месяц узкой выборкой. Только чтение.
Контрагенты и первичные документы
Найди через list_entities фактические справочники контрагентов и нужный вид первичных документов. Покажи поля через describe_entity и только потом выполни query.
Ограничения и подтверждения
- Имена объектов с кириллицей нормальны и передаются без транслитерации.
queryвозвращает до 100 объектов по умолчанию и не более 1000 за вызов; большие выборки нужно листать.- Создание, изменение и удаление объектов требуют
confirm=trueпосле явного согласия. - Проведение и отмена проведения меняют движения по регистрам и отчётность, поэтому также требуют отдельного подтверждения.
delete_objectудаляет объект, а не ставит пометку на удаление. Для пометки используйте согласованное изменение поляDeletionMark.- При обновлении можно передать ETag; ответ 412 означает конфликт версий и требует перечитать объект.
Если что-то не работает
- Список объектов пуст. Заполните Состав стандартного интерфейса OData и нажмите Обновить состав. Переподключение без изменения состава не поможет.
- 403. Проверьте роль
УдаленныйДоступODataи права пользователя на конкретный объект. - Объект не найден. Снова вызовите
list_entities; имена из другой базы могут не совпадать. - HTTP-адрес отклонён. Опубликуйте базу по HTTPS: Basic-аутентификация передаёт логин и пароль в каждом запросе.
- 412 при обновлении. Объект изменился после чтения; перечитайте его и заново согласуйте изменения.