1С

Агент работает с любой конфигурацией на платформе 1С:Предприятие 8, где можно опубликовать стандартный интерфейс OData: типовой, доработанной или самописной. Код в базе для этого не нужен: агент читает схему опубликованных объектов, отбирает документы, берёт остатки и обороты регистров и, если есть права, создаёт и проводит документы.

Сценарии по типовым конфигурациям собраны на странице интеграции.

Что умеет агент

Что нужноКак подключаетсяЧто даёт
Данные базыПубликация OData, карточка «1С:Предприятие» в разделе «Интеграции»справочники, документы, регистры, файлы, приложенные к документам, запись и проведение
Печатные формы, отчёты, событияРасширение конфигурации «Сам Решу» поверх той же публикацииУПД, ТОРГ-12, счёт и акт файлом, отчёты на СКД, сообщения базы о проведении и записи
База без адреса в интернетеВнутренний адрес публикации и приложение на компьютере в той же сетито же, что выше, без открытия базы наружу

Файлы, приложенные к документам

Агент находит файлы, присоединённые к документу или элементу справочника (скан счёта, чек авансового отчёта, договор), и читает их содержимое. Где они лежат, он определяет по схеме вашей базы сам: у документа бывает свой справочник присоединённых файлов, а бывает общий справочник «Файлы» с версиями.

Чтобы чтение прошло, в составе OData и в правах пользователя должны быть все звенья: справочник карточек файлов, справочник версий (если он есть) и регистр, где хранятся сами данные файла. Если не хватает хотя бы одного, агент назовёт весь набор объектов, которые нужно открыть, а не только первый отказавший.

Найди в @onec авансовые отчёты за октябрь и пришли список приложенных к ним чеков. Если какие-то файлы не читаются, назови, каких прав не хватает.

Открыть в чате

Что нужно заранее

Что должно быть готово до подключения:

  • база на платформе 1С:Предприятие 8, опубликованная на веб-сервере IIS или Apache со стандартным интерфейсом OData; Конфигуратор нужен только для первой публикации;
  • права администратора базы, чтобы включить объекты в состав OData и завести пользователя;
  • адрес, по которому база открывается: из интернета по HTTPS или, для базы в офисе, внутренний адрес и приложение «Сам Решу» на компьютере в той же сети (ниже);
  • для печатных форм, отчётов и событий: конфигурация на БСП, чтобы поставить расширение конфигурации.

Шаги

1

Опубликуйте базу с OData

В Конфигураторе: Администрирование → Публикация на веб-сервере, отметьте публикацию стандартного интерфейса OData и опубликуйте на IIS или Apache. Если база уже опубликована для веб-клиента, публикацию можно расширить, а не делать новую.

2

Включите объекты в состав OData

В самой базе откройте «Настройки стандартного интерфейса OData», вкладку «Состав», отметьте нужные справочники, документы и регистры и запишите. Объект, которого нет в составе, агент не увидит, даже если права на него есть. Если вы вошли в базу администратором в браузере, это может сделать сам агент.

3

Заведите отдельного пользователя 1С

Дайте ему право удалённого доступа к OData и только те права чтения или записи, которые нужны для работы. Агент видит ровно то, что разрешено этому пользователю.

4

Подключите в «Интеграциях»

Откройте раздел «Интеграции», карточку «1С:Предприятие» и заполните «URL базы 1С», «Имя пользователя» и «Пароль». В поле адреса подойдёт корень публикации, адрес OData или адрес из браузера. Несколько баз одного сервера подключаются отдельными карточками и различаются путём публикации.

Прочитай состав OData моей базы @onec и перечисли, какие документы и регистры реально доступны. Ничего не меняй.

Открыть в чате

База в локальной сети

Если сервер 1С доступен только в офисе, публиковать базу в интернет не нужно.

1

Установите приложение на компьютер в этой сети

Скачайте приложение на странице загрузки и войдите в него. Компьютер должен открывать базу по внутреннему адресу.

2

Укажите внутренний адрес публикации

В карточке «1С:Предприятие» в поле «URL базы 1С» подойдёт и внутренний HTTP-адрес. Под полем появится «Запросы идут через ваш компьютер».

3

Держите приложение открытым

Запросы к базе пойдут через приложение на этом компьютере из любого вашего чата. Пока приложение закрыто или компьютер выключен, агент до базы не достучится и скажет об этом.

События базы от компьютера не зависят: их отправляет сам сервер 1С, ему нужен только исходящий HTTPS. Подробнее о работе через компьютер: «Приложения».

База в 1С:Фреш

В 1С:Фреш база уже опубликована, публиковать её самому не нужно. В поле «URL базы 1С» вставьте адрес базы из браузера: в нём есть номер области, и по нему различаются несколько баз одного аккаунта. Состав OData и пользователь подключения настраиваются в самой базе так же, как в шагах выше. Расширение конфигурации в модели сервиса даёт печать и отчёты, а события базы там недоступны.

Какие права выдать

Видимость ограничена дважды: составом OData и правами роли пользователя. Агент различает эти два случая: объект не в составе означает, что его нужно включить на вкладке «Состав», отказ по правам означает, что нужно расширить роль.

  • Только чтение: права на чтение нужных справочников, документов и регистров. С таким пользователем агент в базе ничего не изменит, даже если вы попросите.
  • Запись: права на добавление и изменение нужных документов, а для проведения ещё и право проводить их. Созданный или изменённый документ остаётся непроведённым, пока агент не проведёт его отдельным действием.
  • Расширение конфигурации: роль «Сам Решу: доступ агента» (срш_ДоступАгента) и право «Использование» на нужные отчёты.

В конфигурациях на БСП роль напрямую не выдаётся: добавьте её в профиль группы доступа (Администрирование → Настройки пользователей и прав → Профили групп доступа) и включите пользователя подключения в группу с этим профилем.

Что делать после правки прав

Попросите агента повторить запрос. Переподключать интеграцию не нужно: право живёт у пользователя 1С, а не у пароля, поэтому пересохранённые логин и пароль ничего не открывают. Если вы ставили или обновляли расширение конфигурации, перезапустите программу, как предложит форма «Расширения». Если меняли публикацию на веб-сервере, перезапустите веб-сервер.

Почему агент работает с базой по одному запросу

Лицензия 1С даёт пользователю одно подключение: второй одновременный запрос рвёт первый. Поэтому агент обращается к базе последовательно, и большая выборка идёт дольше, чем в других сервисах. Если агент открывает веб-клиент в браузере, он тоже занимает лицензию, поэтому лишний раз страницу не перезагружает.

Расширение конфигурации «Сам Решу»

Расширение добавляет то, чего нет в стандартном интерфейсе OData:

  • печатные формы документов файлом PDF, XLSX или MXL, те же команды печати, что программа предлагает приложить к письму;
  • отчёты на СКД файлом или таблицей для расчётов;
  • события базы: проведение, отмена проведения, запись и удаление выбранных документов и справочников. По ним срабатывают задачи: «когда провели реализацию, пришли покупателю счёт».

Расширение ничего не меняет в объектах вашей конфигурации и работает в безопасном режиме. Нужна конфигурация на БСП.

1

Скачайте файл .cfe

В карточке подключения 1С нажмите «Скачать расширение конфигурации», либо откройте Настройки → «Приложения» → «1С» и нажмите «Скачать .cfe». Рядом указан режим совместимости, с которого расширение подходит: проверьте, что у вашей конфигурации он не ниже.

2

Добавьте в «Расширения»

Под пользователем с полными правами: Администрирование → Печатные формы, отчеты и обработки → Расширения → Добавить из файла. Оставьте флажок «Безопасный режим» и перезапустите программу.

3

Опубликуйте HTTP-сервисы расширения

В той же публикации на веб-сервере включите публикацию HTTP-сервисов и сервисов расширений по умолчанию, затем перезапустите веб-сервер. Адрес у сервиса расширения общий с OData, отдельная учётная запись не нужна.

4

Проверьте карточку подключения

В строке «Печатные формы и отчёты» должно стоять «Установлено» с номером версии. «HTTP-сервис расширения конфигурации не найден» означает, что расширение не опубликовано или после установки не перезапущен веб-сервер.

События базы

Адрес приёма событий и секрет подписи «Сам Решу» записывает в базу сам при подключении, регламентное задание отправки включается само. О каких документах сообщать, агент задаёт под конкретную задачу с вашего согласия, пока список пуст, база ничего не отправляет.

Чтобы события доходили, серверу 1С нужен исходящий доступ в интернет по HTTPS к адресу приложения. В клиент-серверном варианте расширению нужен профиль безопасности с разрешённым привилегированным режимом и этим интернет-ресурсом. В модели сервиса (1С:Фреш и другие базы с разделением данных) печать и отчёты работают, а события недоступны.

Что видно в карточкеЧто это значит
«1С не смогла отправить события. Повтор отправки запланирован.»временный сбой сети или приёма, база повторит сама
«1С заблокировала отправку событий…»выключено регламентное задание или работа с внешними ресурсами
«1С остановила отправку событий после отказа приёмника…»приём отказал, новые события пока не поступают

Ограничения

Создание документа, правка и проведение меняют вашу учётную базу, поэтому их проверяет автопроверка действий. Обычная работа по вашей просьбе идёт сама, а рискованное и то, что подпадает под ваши правила «Сначала спрашивать», приходит в чат карточкой. В рабочей организации администратор может закрепить проведение документов за ролью.

Перед массовой правкой попросите сначала список без изменений и пилот на нескольких документах: «Как агент меняет данные».

Что значит «исход неизвестен»

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

Чтобы не создать второй документ и не провести дважды, агент:

  • не повторяет такую запись вслепую;
  • сначала читает документ заново: если он проведён, запись считается выполненной;
  • повторяет только то, что точно не применилось;
  • если проверить не удалось, прямо пишет «исход неизвестен» и продолжает остальные шаги.

Отдельного выключателя у этой защиты нет: повтор вслепую может задвоить документ или движения, и исправлять это пришлось бы руками. Правка задачи, ручной перезапуск или снятие паузы её не снимают, снимает только проверка самого документа.

Что делать вам: откройте документ в 1С и посмотрите, создан ли он и проведён ли, нет ли рядом дубля. Напишите агенту, что видите: «документ создан и проведён, иди дальше» или «документа нет, создай заново».

Как отозвать доступ

  • У нас: в карточке «1С:Предприятие» нажмите «Отключить». Агенты перестают обращаться к базе.
  • В 1С: отключите пользователя подключения или снимите у него право удалённого доступа к OData. Это закрывает доступ, даже если подключение у нас осталось.
  • Расширение конфигурации удаляется в Администрирование → Печатные формы, отчеты и обработки → Расширения.

Неполадки

  • Пустой ответ или объекта нет в схеме: объект не включён в состав OData. Включите его на вкладке «Состав».
  • «Доступ запрещён правами 1С»: у роли пользователя нет права на объект. Расширьте роль или профиль группы доступа, переподключать интеграцию не нужно.
  • Печатная форма в PDF не формируется на сервере под Linux: на сервере 1С не хватает шрифтов, XLSX при этом формируется.
  • Отчёта нет в списке: агент строит только отчёты на СКД, на которые у пользователя есть право «Использование».
  • Прочее: «Подключение сервисов» и «Частые вопросы».

Частые вопросы

Что нужно, чтобы подключить 1С?

Опубликованная на веб-сервере (IIS или Apache) база со стандартным интерфейсом OData, объекты, включённые в состав OData, и отдельный пользователь 1С с нужными правами. В разделе «Интеграции» откройте карточку «1С:Предприятие» и укажите адрес публикации, логин и пароль этого пользователя.

Агент пишет, что доступ запрещён правами 1С. Что делать?

Логин и пароль верные, отказала сама 1С: у роли пользователя нет права на этот объект. Выдайте право в профиле групп доступа или роли пользователя 1С и попросите агента повторить запрос. Переподключать интеграцию не нужно: пересохранённый пароль того же пользователя прав не добавляет.

Зачем расширение конфигурации, если есть OData?

OData отдаёт данные базы. Печатные формы (УПД, ТОРГ-12, счёт, акт) файлом, отчёты на СКД и события базы (провели документ, записали элемент справочника) даёт только расширение конфигурации «Сам Решу». Без него агент читает и пишет данные, но не печатает и не узнаёт об изменениях сам.

База стоит в офисе и не видна из интернета. Можно подключить?

Да. Укажите внутренний адрес публикации и держите приложение «Сам Решу» открытым на компьютере в той же сети: запросы к базе пойдут через него, открывать базу наружу не нужно.

Что значит «исход неизвестен» после записи в 1С?

1С не ответила или ответила ошибкой сервера, а запись при этом могла лечь. Агент не повторяет такую запись вслепую: сначала читает документ заново и повторяет только то, что точно не применилось. Если проверить не удалось, откройте документ в 1С и скажите агенту, что вы там видите.

Смотрите также

Была ли страница полезна?

Не нашли ответ? Как связаться