Как настроить обмен с Диадок в 1С:Фреш и почему внешняя обработка не проходит аудит?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Сервис 1С:Фреш (1С:Fresh) налагает жесткие ограничения на безопасность и производительность используемого программного кода. Многие пользователи и разработчики сталкиваются с тем, что популярный универсальный модуль Диадок от компании СКБ Контур не получается запустить в облачной базе 1С. Техническая поддержка оператора часто не может дать внятного ответа, утверждая, что обработка должна работать без проблем.

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

Технический анализ: почему обработка Диадок отклоняется аудиторами 1С:Фреш

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

  1. Использование внешних компонент (DLL-библиотек). Архитектура стандартного модуля Диадока построена на вызове локальных библиотек шифрования и связи для операционных систем Windows. Серверная часть 1С:Фреш работает под управлением операционных систем семейства Linux (в частности, CentOS). Запуск Windows-ориентированных DLL-файлов в такой среде невозможен. Более того, правила безопасности облачной "песочницы" полностью запрещают регистрацию и исполнение любых сторонних бинарных файлов на серверах приложений.
  2. Прямые небезопасные сетевые вызовы. Модуль Диадока выполняет запросы к внешним API-сервисам напрямую с клиента или сервера без использования специализированных и безопасных механизмов, разрешенных в облаке. Подобная сетевая активность блокируется системой безопасности сервиса.
  3. Критическое падение производительности на больших базах. Стандартный модуль Диадока оптимизирован под локальное использование (файловое или клиент-серверное в локальной сети). При работе в веб-клиенте или через тонкий клиент в облаке обработка начинает сильно тормозить. Выясним причину на практическом примере. Если в базе ведется учет по 14 организациям и содержится около 20 000 контрагентов, то при обновлении списка документов обработка формирует таблицу сопоставления размером 14 х 20 000 = 280 000 строк. Этот гигантский массив данных гоняется между сервером и клиентом при каждом изменении отборов, открытии формы или обновлении списка. Это приводит к зависанию сеанса пользователя и перегрузке облачного сервера приложений.
  4. Работа с файловой системой. Модуль пытается осуществлять операции чтения и записи временных файлов на жесткий диск сервера в непредназначенные для этого директории, что также запрещено политикой безопасности 1С:Фреш.

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

Рассмотрим рабочие альтернативные варианты обмена документами с контрагентами.

Решение 1. Использование встроенного сервиса 1С-ЭДО (Рекомендуемый способ)

Наиболее простым, надежным и штатным способом работы с электронными документами в облаке является использование встроенного сервиса 1С-ЭДО. Этот продукт изначально интегрирован в конфигурации на платформе 1С и полностью удовлетворяет всем требованиям безопасности.

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

  1. Активируйте сервис 1С-ЭДО непосредственно в личном кабинете 1С:Фреш.
  2. В программе 1С перейдите в справочник Контрагенты, выберите нужного партнера и отправьте ему приглашение к обмену.
  3. Если ваш контрагент использует Диадок (или любого другого оператора, например, СБИС/Тензор), система автоматически определит его идентификатор ЭДО и настроит автоматический роуминг. В некоторых случаях может потребоваться отправить ручной запрос на настройку роуминга через вашего партнера 1С.

Мнение о том, что крупные корпорации принципиально отказываются работать через роуминг, в настоящее время устарело. Согласно требованиям ФНС России, все операторы обязаны поддерживать сквозной межоператорский обмен. Настройка роуминга между 1С-ЭДО и Диадоком происходит в автоматическом режиме за несколько минут.

Решение 2. Использование "Почтового шлюза" от Контура

Если специфика вашего бизнеса требует отправки документов именно в систему Диадок, но при этом база находится в 1С:Фреш, можно использовать разработанный Контуром альтернативный инструмент — "Почтовый шлюз для 1С".

Проанализируем схему работы этого решения:

Важные ограничения Почтового шлюза:

  1. Поддерживается отправка только исходящих документов. Входящие документы загрузить обратно в 1С этим способом не получится.
  2. В пакете отправки обязательно должен присутствовать хотя бы один формализованный документ в формате XML (например, УПД или накладная ТОРГ-12). Отправить только произвольные файлы (PDF, DOCX) через шлюз нельзя.
  3. Данный сервис требует приобретения дополнительной платной лицензии у СКБ Контур.

Решение 3. Ручной экспорт и импорт документов (Для небольших объемов)

Если количество отправляемых документов невелико (до 50-100 пакетов в месяц), можно обойтись абсолютно бесплатным ручным способом, который не требует прохождения никаких аудитов:

  1. Откройте нужный документ реализации в 1С:Фреш.
  2. Нажмите кнопку Еще — ЭДО — Выгрузить документ в файл. Программа предложит сохранить XML-файл или архив на ваш локальный компьютер.
  3. Откройте веб-версию Диадока в браузере.
  4. Нажмите кнопку "Загрузить с компьютера" и выберите сохраненные файлы. Система автоматически распознает контрагента, сумму и содержание документа. Вам останется только нажать кнопку "Подписать и отправить".

Решение 4. Переход на альтернативные облака (Для полноценного обмена через Диадок Про)

Если для вашей компании критически важен автоматический двусторонний обмен именно через модуль Диадока (например, при объемах в тысячи документов в день) и вам требуется использовать версию "Диадок Про", сервис 1С:Фреш вам не подойдет.

В этой ситуации рекомендуется рассмотреть переход на облачные хостинги 1С от других провайдеров (например, аренда выделенного сервера VPS/VDS или приватного облака у официальных партнеров 1С). В таких облаках:

Рассмотрим пример кода, который часто вызывает проблемы при аудите, и покажем, как правильно организовать вызов длительных процедур, чтобы повысить шансы прохождения проверки в облачных сервисах (если вы разрабатываете собственную облегченную интеграцию по API без использования DLL):


// Пример правильной организации длительной операции загрузки документов без блокировки интерфейса
&НаКлиенте
Процедура ВыполнитьЗагрузкуДокументов(Команда)
    
    ПараметрыВыполнения = Новый Структура;
    ПараметрыВыполнения.Вставить("ДатаНачала", Объект.ПериодРегистрации);
    
    // Запускаем фоновое задание на сервере, чтобы избежать зависания клиента
    РезультатФона = ЗапуститьЗагрузкуНаСервере(ПараметрыВыполнения);
    
    // Подключаем обработчик ожидания для проверки статуса выполнения
    Если РезультатФона.Статус = "Выполняется" Тогда
        ПодключитьОбработчикОжидания("ПроверитьСтатусЗагрузки", 2, Ложь);
    КонецЕсли;

КонецПроцедуры

Подводя итог, отметим: пытаться внедрить стандартный модуль Диадока во Фреш напрямую — это тупиковый путь. Используйте встроенный 1С-ЭДО с роумингом как наиболее технологичное и простое решение, либо рассмотрите Почтовый шлюз или смену облачного провайдера под ваши масштабные бизнес-требования. При необходимости массового ручного обмена можно воспользоваться инструментом для групповой выгрузки и загрузки XML-файлов по форматам ФНС.

← На главную