Интеграция 1С с системой электронного документооборота Диадок позволяет автоматизировать отправку актов, счетов-фактур и УПД контрагентам без ручного экспорта. Настройка требует точной последовательности действий – от подключения модуля до настройки формата обмена и прав доступа.
Для начала требуется подключить компонент «1С-Диадок» через расширения, указав ссылку на актуальную версию модуля. После установки необходимо ввести данные учётной записи в Диадоке, привязать сертификат ЭЦП и протестировать соединение. На этом этапе возможны ошибки авторизации, особенно при некорректной настройке криптопровайдера или отсутствии прав у пользователя 1С.
Далее создаются правила выгрузки. Они определяют, какие типы документов отправляются, в каком формате (например, УПД в XML или PDF), а также условия фильтрации по организациям, контрагентам и датам. Ошибки на этом этапе часто связаны с отсутствием соответствий между справочниками 1С и идентификаторами Диадока, поэтому требуется ручная проверка привязки ИНН и КПП.
Перед массовой выгрузкой рекомендуется выполнить тестовую отправку одного документа и убедиться, что он успешно принят и отображается в Диадоке у получателя. Если используется документооборот с несколькими организациями, необходимо настроить маршруты для каждой из них отдельно, иначе документы могут отправляться от имени неправильной компании.
Настройка обмена между 1С и Диадок через API
Для интеграции 1С с Диадок через API необходимо использовать HTTP-сервис Диадок и обеспечить корректную работу библиотеки работы с API, доступной на сайте разработчика. Перед началом убедитесь, что у вас есть доступ к кабинету организации в Диадоке и получен API-ключ.
В конфигурации 1С (обычно используется версия 1С:Предприятие 8.3) потребуется добавить внешний компонентный модуль. Скачайте COM-компонент DiadocApi.dll с официального сайта и зарегистрируйте его в системе через команду:
regsvr32 DiadocApi.dll
Затем выполните следующие шаги:
1. Откройте конфигурацию в режиме конфигуратора.
2. Вставьте внешний компонентный объект через «Администрирование» → «Дополнительные внешние компоненты».
3. Укажите путь к DLL-файлу и задайте идентификатор компоненты (например, DiadocCom).
4. В модуле менеджера создайте и инициализируйте объект API:
ДиадокAPI = Новый COMОбъект("Diadoc.Api.DiadocApi"); Клиент = ДиадокAPI.CreateClient("API-ключ", Истина);
5. Получите токен авторизации с использованием логина и пароля от Диадок (если не используется OAuth):
Токен = Клиент.Authenticate("логин", "пароль");
6. Получите идентификатор вашей организации (BoxId) для отправки документов:
Организации = Клиент.GetMyOrganizations(Токен); BoxId = Организации[0].Boxes[0].BoxId;
7. Подготовьте и отправьте документ. Для этого создайте UtdInvoice или UniversalTransferDocument, заполните его и выполните отправку:
DocumentToSend = Новый Структура; DocumentToSend.Insert("FromBoxId", BoxId); DocumentToSend.Insert("ToBoxId", BoxIdКонтрагента); DocumentToSend.Insert("DocumentType", "UniversalTransferDocument"); DocumentToSend.Insert("FileName", "Счет-фактура_№1.xml"); DocumentToSend.Insert("Content", СодержимоеФайлаВBase64); Результат = Клиент.SendDocument(Токен, DocumentToSend);
Проверьте, получен ли идентификатор документа в ответе и сохраните его для дальнейшей обработки (например, отслеживания статуса доставки или подписи).
Для получения входящих документов реализуйте метод GetNewEvents и обрабатывайте новые события с типом «DocumentReceived».
Необходимо обеспечить регулярную проверку и обновление токенов, а также логирование всех операций обмена для диагностики ошибок.
Получение и установка сертификатов для подписи документов
Для работы с Диадок через 1С требуется квалифицированный сертификат электронной подписи (КЭП), выданный аккредитованным удостоверяющим центром. Сертификат должен быть оформлен на юридическое лицо или индивидуального предпринимателя, от имени которого отправляются документы.
1. Заказ и выпуск сертификата: обратитесь в удостоверяющий центр, поддерживающий формат ГОСТ Р 34.10-2012. Рекомендуемые УЦ – СКБ Контур, Тензор, Калуга Астрал. При оформлении укажите ФИО уполномоченного сотрудника, ИНН организации, ОГРН и актуальные контактные данные. Сертификат должен содержать корректные ОИД’ы, поддерживаемые Диадок.
2. Установка сертификата на компьютер: после получения файла сертификата и закрытого ключа (обычно в формате .PFX), установите его через консоль управления сертификатами Windows (certmgr.msc) в хранилище «Личные» текущего пользователя. Убедитесь, что сертификат имеет статус «Действителен» и отображается с меткой «Есть закрытый ключ».
3. Проверка совместимости с 1С: запустите 1С под тем же пользователем, на которого установлен сертификат. В конфигурации 1С откройте раздел «Администрирование» → «Обмен электронными документами» → «Настройки ЭП» и выполните тест выбора сертификата. Если он не отображается – проверьте наличие закрытого ключа и перезапустите 1С от имени пользователя с правами доступа к ключевому контейнеру.
4. Регистрация сертификата в Диадок: перейдите в веб-интерфейс Диадок, войдите под учетной записью организации, откройте «Настройки» → «Сертификаты» и загрузите открытую часть сертификата (файл с расширением .cer). Подтвердите права, если система запросит их верификацию через 1С.
5. Назначение сертификата в 1С: в настройках подключения к Диадок в 1С укажите конкретный сертификат по отпечатку или владельцу. Система автоматически подставит его при подписи и отправке документов. Повторная настройка потребуется при замене или продлении КЭП.
Создание контрагента с поддержкой ЭДО в 1С
Для отправки документов через Диадок необходимо создать или изменить карточку контрагента в 1С с учётом требований ЭДО. Ниже описана пошаговая настройка.
- Откройте справочник «Контрагенты» и выберите нужную организацию или создайте новую.
- Перейдите на вкладку «ЭДО». Если такой вкладки нет – включите функциональность в настройках программы или установите соответствующую версию конфигурации.
- Нажмите «Подключить ЭДО». В появившемся окне выберите оператора «Диадок (ПАО СБЕРБАНК)» или «ООО ПФ «СКБ Контур»», в зависимости от интеграции.
- Укажите ИНН и КПП контрагента. После ввода система автоматически выполнит поиск ящика Диадок. При успешном обнаружении ящик привяжется к карточке.
- Если ящик не найден – свяжитесь с контрагентом для получения точного идентификатора ЭДО (ID ящика). Введите его вручную, используя кнопку «Указать ящик вручную».
- Проверьте, что в карточке заполнены поля: «Полное наименование», «ИНН», «КПП», «Юридический адрес» – они обязательны для корректного обмена документами.
- Сохраните изменения. После этого в форме контрагента отобразится статус подключения ЭДО, а в документах появится возможность выбора отправки через Диадок.
Без заполнения вкладки ЭДО выгрузка документов невозможна. Убедитесь, что привязка к ящику прошла успешно: при наведении курсора на статус подключения должна отображаться информация об операторе и идентификаторе.
Формирование счета-фактуры для отправки в Диадок
Для корректной отправки счета-фактуры из 1С в Диадок требуется строгое соблюдение формата документа и заполнение обязательных реквизитов. Алгоритм действий:
- Откройте модуль «Документы продажи» в 1С и выберите реализацию, по которой необходимо сформировать счет-фактуру.
- Нажмите «Создать на основании» → «Счет-фактура выданный». Убедитесь, что организация, контрагент и договор заполнены полностью и корректно.
- Проверьте ИНН и КПП контрагента. Ошибка в этих данных приведёт к отклонению документа Диадоком.
- Поле «Номер и дата счета-фактуры» должно соответствовать внутренней нумерации организации. Не допускается дублирование номеров за один налоговый период.
- В разделе «Товары и услуги» укажите код ОКПД2 для каждой позиции. Без этого ЭДО может отклонить файл.
- Проверьте наличие единиц измерения в формате ОКЕИ. Значения должны быть выбраны из классификатора, а не введены вручную.
- Убедитесь, что сумма НДС указана отдельно по каждой ставке, а итоговая сумма документа соответствует арифметике строк.
- Заполните поле «Основание отгрузки» – номер и дата накладной или договора. Это обязательный реквизит при передаче в Диадок.
- Сохраните документ и проведите его. После этого появится кнопка «Отправить в Диадок».
Перед отправкой выполните визуальную проверку печатной формы. Несовпадение печатной версии с данными XML приводит к отказу в приёме.
После нажатия «Отправить в Диадок» убедитесь, что статус документа изменился на «Отправлен». Если этого не произошло – проверьте настройки обмена и лог ошибок в модуле «Журнал обмена с Диадок».
Отправка документа в Диадок из формы 1С
Откройте нужный документ в 1С, например, счёт-фактуру или УПД. Проверьте, чтобы статус документа позволял отправку: он должен быть проведён и не содержать ошибок заполнения. В меню формы выберите пункт «Отправить в Диадок» или используйте кнопку с аналогичным названием, если она выведена на панель действий.
При первом обращении 1С может запросить авторизацию в сервисе Диадок. Введите логин и пароль от учётной записи, связанной с вашей организацией в Диадоке. Если настроена работа через токен или сертификат, убедитесь, что подключён актуальный ключ ЭЦП и он корректно установлен в хранилище сертификатов Windows.
После авторизации откроется форма подготовки к отправке. Обязательно проверьте данные получателя: ИНН, КПП, название организации. Если контрагент ранее не был связан с ящиком Диадока, укажите идентификатор ящика вручную. Для корректной отправки у контрагента должен быть активен ящик на стороне Диадока.
Выберите формат отправки: УПД в XML, PDF или оба варианта. Убедитесь, что документ содержит обязательные реквизиты: дата, номер, сумма, информация об отправителе и получателе. При необходимости добавьте вложения – акты, спецификации, сопроводительные письма. Нажмите «Отправить».
После отправки внизу формы появится уведомление с номером транзакции или сообщением об ошибке. Для контроля статуса откройте журнал обмена с Диадоком – там отображается история всех действий по данному документу. При возникновении ошибки проверьте лог обмена или повторите попытку, убедившись в корректности всех параметров.
Обработка ошибок при выгрузке и пути их устранения
Ошибка 401 «Неавторизован» возникает при неверных учетных данных или истекшем токене доступа. Проверяйте правильность логина и пароля в настройках интеграции, обновляйте токен через Диадок API. Рекомендуется настроить автоматическое обновление токена в 1С.
Ошибка 400 «Неверный формат запроса» свидетельствует о несоответствии структуры выгружаемого документа требованиям Диадок. Проверяйте соответствие XML-схеме, используйте встроенные средства в 1С для валидации перед отправкой. Убедитесь, что все обязательные поля заполнены корректно.
Ошибка «Документ уже существует» появляется при повторной попытке выгрузить один и тот же документ. Для предотвращения дублирования внедрите проверку по уникальному идентификатору документа (например, по номеру и дате) перед выгрузкой.
При ошибках сетевого взаимодействия (тайм-ауты, сбои соединения) настройте повторные попытки отправки с экспоненциальным увеличением интервала. Логи 1С и Диадок помогут выявить конкретный момент сбоя для дальнейшего анализа.
Если появляется ошибка «Отсутствует доступ к организации», убедитесь, что учетная запись, используемая для выгрузки, имеет необходимые права в Диадок. Проверьте, что организация правильно зарегистрирована в системе и подключена к интеграции.
В случае ошибок с кодами 500 и выше – внутренние ошибки сервиса Диадок – повторите попытку через некоторое время. Если проблема сохраняется, обратитесь в поддержку Диадок с указанием кода ошибки, времени и параметров запроса.
Для отслеживания ошибок используйте встроенный журнал регистрации 1С, настройте уведомления о сбоях по электронной почте. Это позволит оперативно реагировать на проблемы без необходимости ручного контроля.
Проверка статуса доставки и получение квитанций из Диадок
После отправки документа из 1С в Диадок, следующий шаг – контроль статуса доставки. Для этого необходимо использовать метод API Диадок GetMessage
или аналогичный в вашей интеграции. Запрос возвращает информацию о состоянии документа: «Отправлен», «Принят», «Отклонен» и другие статусы.
Статус «Принят» подтверждает, что контрагент получил документ и его можно считать доставленным. Если статус «Отклонен», система Диадок возвращает подробный код ошибки и описание причины отказа, что позволяет быстро выявить и устранить проблему.
Для получения квитанций, подтверждающих факт передачи и обработки документа, применяется метод GetPostMarkReceipt
. В ответе содержится электронная квитанция с уникальным идентификатором и штампом времени. Важно сохранять эти квитанции в 1С для ведения архива и возможных проверок.
Рекомендуется регулярно выполнять проверку статусов через планировщик заданий или механизм обработки событий 1С, чтобы своевременно фиксировать изменения и предотвращать задержки в документообороте.
При автоматизации важно учитывать лимиты API Диадок на частоту запросов, чтобы избежать блокировок. Оптимально запрашивать статусы и квитанции пакетно, обрабатывая сразу несколько документов за один запрос.
Вопрос-ответ:
Какие основные шаги нужно выполнить для выгрузки документов из 1С в Диадок?
Процесс начинается с настройки обмена между 1С и Диадок: необходимо подключить соответствующий модуль и авторизоваться в системе Диадок через 1С. Далее выбирается тип документа для выгрузки, указываются необходимые параметры (например, контрагент и дата). После этого документы формируются и отправляются из 1С в Диадок через специальный интерфейс. Важно проверить статус отправки и при необходимости обработать ошибки.
Какие ошибки чаще всего встречаются при выгрузке документов из 1С в Диадок, и как их исправить?
Одной из распространённых проблем является отсутствие подключения к Диадок из-за неверных настроек доступа или истечения срока действия сертификатов. Часто возникают ошибки из-за несоответствия формата документа требованиям Диадок — например, отсутствует обязательное поле или неверный тип данных. Для решения нужно проверить настройки подключения, обновить сертификаты и внимательно сверить структуру выгружаемых файлов с требованиями системы. Иногда помогает повторная загрузка документа после исправлений.
Можно ли выгружать в Диадок сразу несколько документов из 1С, и как это лучше сделать?
Да, 1С позволяет массовую выгрузку документов в Диадок. Обычно это реализуется через форму выбора нескольких документов, где пользователь отмечает нужные позиции. После подтверждения происходит пакетная отправка. Важно контролировать, чтобы все документы соответствовали требованиям по формату и были подписаны электронной подписью. При больших объёмах стоит учитывать нагрузку на систему и возможные временные задержки.
Какие настройки в 1С нужно проверить перед выгрузкой документов в Диадок, чтобы избежать проблем?
Первым делом следует убедиться, что модуль интеграции с Диадок установлен и активирован. Необходимо проверить правильность введённых данных для доступа к Диадок — логин, пароль, а также наличие действующего электронного ключа. Настройка параметров обмена должна включать указание правильных типов документов и шаблонов выгрузки. Желательно также протестировать отправку на один документ перед массовой выгрузкой, чтобы исключить ошибки.
Как проверить статус отправленных из 1С документов в Диадок и что делать, если документы не приняты?
Статус отправленных документов можно посмотреть прямо в 1С через журнал обмена с Диадок. Там отображаются все этапы прохождения документов: от отправки до получения ответа. Если документ не принят, система выдаст код ошибки и описание причины — например, некорректный формат или неподписанный файл. В таком случае нужно внести нужные исправления в документ в 1С и отправить его повторно. При необходимости можно обратиться в техподдержку Диадок для уточнения деталей.
Какие настройки нужно выполнить в 1С, чтобы документы корректно выгружались в Диадок?
Для правильной выгрузки документов из 1С в Диадок необходимо сначала настроить обмен с контрагентами. В 1С следует проверить, что в карточках организаций и контрагентов указаны их ИНН и КПП, а также корректно подключен модуль интеграции с Диадок. В разделе настроек обмена необходимо выбрать нужный тип документов для выгрузки — счета, накладные или акты, после чего активировать передачу через API Диадок. Кроме того, важно проверить, что в программе стоит актуальная версия обработки обмена, чтобы избежать ошибок при выгрузке.
Как шаг за шагом происходит процесс отправки счета из 1С в Диадок, и как проверить успешность передачи?
Сначала в 1С формируется счет на оплату в привычном режиме. После создания документа нужно выбрать функцию «Отправить в Диадок» или аналогичную в меню обмена. Далее система автоматически преобразует счет в электронный формат, совместимый с Диадок, и отправляет его через установленное подключение. Чтобы убедиться, что документ успешно попал в систему Диадок, в 1С предусмотрена вкладка или отчет по статусу обмена — там отображаются все отправленные и полученные документы с указанием их текущего состояния: отправлен, доставлен, подписан или отклонен. При возникновении ошибок система выдаст соответствующее уведомление, позволяя своевременно исправить проблему.