Почему в обработке СБИС не подгружаются реквизиты Контрагент и Договор и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Бухгалтерский учет
← На главную

При работе с внешними обработками электронного документооборота мы нередко сталкиваемся с «плавающими» ошибками, которые воспроизводятся у одних пользователей и отсутствуют у других. Рассмотрим подробнее классическую ситуацию: пользователи загружают документы через обработку интеграции со СБИС в базу 1С:ERP, но у части сотрудников упорно не заполняются реквизиты Контрагент и Договор. Очистка кэша 1С и обновление плагина при этом не дают результата.

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

Шаг 1. Анализ программного кода и структуры XML

Первое, что мы должны сделать при отсутствии данных в реквизитах — посмотреть в отладчике, как обрабатывается входящий файл. Проанализируем фрагмент кода из внешней обработки СБИС, который отвечает за чтение свойств из структуры вложения документа:


//КНГС
Если Вложение.Свойство("Договор1С") Тогда
    Договор1С = Вложение.Договор1С;
Иначе
    Договор1С = "";
КонецЕсли;

Если Вложение.Свойство("Дата1С") Тогда
    Дата1С = Вложение.Дата1С;
Иначе
    Дата1С = "";
КонецЕсли;

Если Вложение.Свойство("Контрагент1С") Тогда
    Контрагент1С = Вложение.Контрагент1С;
Иначе
    Контрагент1С = "";
КонецЕсли;

Посмотрим на пример внимательнее. Если переменные в итоге остаются пустыми, значит метод Свойство() возвращает ложь. Это означает, что в структуре разбираемого XML-файла (или JSON) узлы Договор1С и Контрагент1С физически отсутствуют или не определены для текущей сессии.

Шаг 2. Локализация проблемы (права 1С или рабочее место ОС?)

Когда ошибка проявляется избирательно, необходимо выяснить причину: виноваты права доступа в 1С или настройки операционной системы. Проведем перекрестное тестирование (эксперимент, описанный разработчиками в процессе разбора инцидента):

  1. Берем пользователя с полными правами (Администратор), у которого не работают реквизиты.
  2. Берем обычного пользователя (Бухгалтер), у которого реквизиты заполняются корректно.
  3. Просим Администратора зайти в базу 1С под своей учетной записью, но с компьютера Бухгалтера. Результат: реквизиты не заполняются.
  4. Просим Бухгалтера зайти в базу 1С со своего компьютера, но под учетной записью Администратора. Результат: реквизиты не заполняются.

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

Решение 1. Проверка локальных файлов настроек СБИС

Выясним главную причину такого поведения. Обработка СБИС тесно связана с локальным окружением пользователя Windows. Индивидуальные настройки интеграции и сопоставления хранятся в профиле ОС.

Рассмотрим, что нужно проверить на проблемном компьютере:

  1. Каталог обмена по умолчанию: Проверьте наличие и содержимое папки C:\Sbis1C. Зачастую именно там должен находиться файл базовых настроек обмена. Если на ПК пользователя с работающей загрузкой этот файл задан и корректен, а у проблемного пользователя папка пуста — скопируйте конфигурационный файл (например, УПД3_01 или аналогичные файлы настроек формата).
  2. Данные в профиле AppData: Перейдите в скрытую системную директорию %AppData%\Roaming\Sbis1c. В ней хранятся файлы settings.xml и локальная база данных SQLite — identities.db. База данных отвечает за связь объектов справочников 1С с их уникальными идентификаторами в облаке СБИС. Если этот файл поврежден, отсутствует или недоступен для чтения из-за прав Windows, автозаполнение работать не будет.

Решение 2. Включение автоматического сопоставления

Иногда техническая проблема оказывается тривиальной настройкой интерфейса, которая хранится локально для каждого пользователя. Разберем действия в самой обработке:

Откройте форму обработки СБИС, перейдите в раздел Настройки (обычно пиктограмма шестеренки), далее откройте Параметры. Обратите внимание на флаг Автоматически сопоставлять контрагентов/номенклатуру. Если этот флажок снят, обработка принципиально не будет пытаться заполнить поля Контрагент и Договор в документах 1С 1С, ожидая, что пользователь выберет их вручную. Убедитесь, что настройка включена у всех пользователей.

Решение 3. Регистрация библиотек API (СБИС Коннект)

Если для интеграции используется API-подключение (компоненты СБИС), проблема может быть связана со слетевшей или не зарегистрированной библиотекой на компьютере конкретного пользователя.

Рассмотрим порядок действий для проверки компоненты:

  1. Убедитесь, что в системе присутствует файл SbisXmlRpc.dll (или его актуальный аналог для новых версий СБИС Плагина).
  2. Для того чтобы 1С могла корректно извлекать свойства Договор1С и Контрагент1С при работе через COM-соединение, библиотеку нужно зарегистрировать в реестре. Запустите командную строку от имени Администратора Windows и выполните команду regsvr32 путь_к_файлу\SbisXmlRpc.dll.
  3. В настройках подключения внутри 1С обязательно проверьте поле Идентификатор информационной базы. Без него СБИС в облаке не поймет, из какой именно базы пришел запрос на сопоставление контрагентов.

Решение 4. Сопоставление контрагентов в Личном Кабинете СБИС

Причиной пустых узлов в XML (с которых мы начали наш разбор) может быть отсутствие связи между карточкой в 1С и карточкой в самом сервисе тензора. В момент загрузки списка документов сервер СБИС генерирует XML налету.

Если контрагент в облаке online.sbis.ru не был ранее привязан к справочнику 1С, сервер просто не знает, какой внутренний УникальныйИдентификатор передать в 1С. В результате узел Контрагент1С не формируется. Зайдите в веб-версию СБИС под проблемным пользователем, откройте раздел «Контрагенты» и убедитесь, что у контрагентов указаны корректные коды из вашей базы 1С или абсолютно точно совпадают связки ИНН/КПП.

Решение 5. Настройки браузера и кэш WebView2

Современные версии обработки СБИС в 1С используют компоненты встроенного браузера (ранее Internet Explorer, сейчас все чаще Microsoft Edge WebView2) для отображения веб-интерфейса прямо внутри форм 1С.

Проанализируем этот аспект: если в настройках безопасности Windows на конкретном рабочем месте (в свойствах обозревателя) домен СБИС не добавлен в надежные узлы, либо заблокировано выполнение активных скриптов (ActiveX/JavaScript), скрипт на форме просто не сможет передать распарсенные данные документа (контрагента и договор) обратно в контекст 1С.

Обязательно добавьте адреса СБИС в список доверенных сайтов в панели управления ОС и очистите кэш папки компоненты WebView2 (обычно располагается в локальном профиле пользователя %LocalAppData%\Microsoft\EdgeWebView).

Подведение итогов

Подводя итог, можно с уверенностью сказать, что проблема неработающего автозаполнения в большинстве случаев лежит в плоскости инфраструктуры рабочего места (настроек Windows). При возникновении подобной ситуации всегда проверяйте наличие конфигурационных файлов в каталогах пользователя (C:\Sbis1C и AppData), актуальность установленного СБИС Плагина, регистрацию dll-библиотек и права ОС на чтение базы сопоставлений identities.db. Только обеспечив идентичность локального окружения, вы добьетесь стабильной работы загрузки документов в 1С у всех сотрудников.

← На главную