Обмен электронными документами через Диадок стал стандартом делового документооборота, но не все компании готовы покупать специализированные модули для интеграции с 1С:Предприятие. Если вам нужно выгрузить УПД (универсальный передаточный документ) из 1С в Диадок, но модуля обмена нет — это не приговор. Существуют легальные и рабочие способы сделать это вручную или с минимальными доработками.
В этой статье разберём 5 проверенных методов выгрузки УПД без покупки дополнительных решений: от экспорта в XML с последующей загрузкой в Диадок до использования встроенных инструментов 1С и внешних обработок. Особое внимание уделим нюансам формата УПД, требованиям Диадока к структуре файлов и типичным ошибкам, которые возникают при ручной выгрузке. Если вы бухгалтер, специалист по 1С или владелец бизнеса — здесь найдёте решение под свои задачи.
⚠️ Важно: Способы без модуля обмена требуют больше времени и внимания к деталям. Если вы отправляете сотни УПД в месяц, рассмотрите возможность покупки модуля или разработки автоматического обмена через API. Ручные методы оптимальны для разовых операций или малого документооборота.
1. Экспорт УПД из 1С в XML: базовый метод
Самый универсальный способ — выгрузить УПД в формате XML, который поддерживает Диадок. Большинство конфигураций 1С (включая 1С:Бухгалтерия 8, 1С:Управление торговлей, 1С:ERP) позволяют экспортировать документы в XML без дополнительных доработок.
Чтобы сделать это:
- Откройте нужный УПД в 1С (например, через журнал
Продажи → Универсальные передаточные документы). - Нажмите
Файл → Сохранить как...илиЕщё → Выгрузить в XML(название пункта зависит от версии 1С). - Выберите папку для сохранения и подтвердите экспорт.
Полученный файл будет в формате УПД_НомерДокумента.xml. Его можно загрузить в Диадок через веб-интерфейс или FTP (если у вас подключен такой способ обмена).
- Версия 1С поддерживает выгрузку УПД (в старых релизах может потребоваться обновление)
- В документе заполнены все обязательные реквизиты (ИНН, КПП, суммы с НДС)
- Файл сохранён в кодировке UTF-8 (Диадок не принимает файлы в других кодировках)
- Название файла не содержит запрещённых символов (/, \, :, *, ?, ", <, >, |)-->
⚠️ Внимание: Диадок принимает XML только в строгом соответствии со своей документацией. Если структура файла из 1С не совпадает с требованиями, документ не пройдёт валидацию. В этом случае поможет преобразование XML через внешние обработки (об этом — в следующем разделе).
2. Преобразование XML через XSLT: если структура не подходит
Если экспортированный из 1С XML не принимается Диадоком из-за несовпадения структуры, можно использовать XSLT-преобразование. Это технологический способ изменить формат XML без ручного редактирования.
Для этого понадобится:
- 📄 Исходный XML из 1С (выгруженный по инструкции выше).
- 🔧 XSLT-шаблон для преобразования. Его можно скачать на форумах 1С или заказать у разработчиков.
- 🖥️ Программа для XSLT-преобразования (например, Altova XMLSpy, Oxygen XML Editor или бесплатный XML Notepad).
Процесс преобразования:
- Откройте исходный XML в программе.
- Примените XSLT-шаблон (в большинстве редакторов это делается через меню
Tools → XSLT Transformation). - Сохраните полученный файл и проверьте его через валидатор Диадока.
💡 Полезный совет: Если вы часто выгружаете УПД, создайте в 1С внешнюю обработку с кнопкой "Выгрузить в Диадок", которая будет автоматически применять XSLT и сохранять файл в нужную папку. Это сэкономит время.
На официальном сайте Диадока есть примеры XSLT для разных типов документов. Также шаблоны можно найти на форумах: - Инфостарт (раздел "Обмен данными") - Форум 1С (поиск по запросу "УПД Диадок XSLT") - GitHub (репозитории с открытыми обработками для 1С). Обратите внимание: шаблоны могут требовать доработки под вашу версию 1С и конфигурацию.Где взять готовый XSLT для УПД?
3. Выгрузка через внешнюю обработку: полуавтоматический способ
Если ручной экспорт и XSLT кажутся сложными, можно использовать внешние обработки для 1С. Многие разработчики делятся бесплатными или условно-бесплатными решениями, которые упрощают выгрузку УПД в Диадок.
Популярные обработки:
- 🔹 "Выгрузка УПД в Диадок" от Инфостарт (есть бесплатная версия с ограничениями).
- 🔹 "Диадок: Обмен документами" — плагин с расширенными настройками.
- 🔹 "Универсальный обмен с Диадок" (поддерживает УПД, счета-фактуры, акты).
Как подключить обработку:
- Скачайте файл обработки (обычно это
.epfили.erf). - В 1С откройте
Файл → Открыть...и выберите скачанный файл. - Следуйте инструкциям обработки (обычно нужно указать путь для сохранения XML и параметры подключения к Диадоку).
⚠️ Внимание: Перед использованием обработки проверьте её совместимость с вашей версией 1С. Некоторые решения работают только на актуальных релизах платформы (8.3.20+). Также обратите внимание на лицензионные ограничения — некоторые обработки требуют покупки после пробного периода.
| Обработка | Поддержка УПД | Стоимость | Требуемая версия 1С |
|---|---|---|---|
| "Выгрузка УПД в Диадок" (Инфостарт) | Да | Бесплатно (ограниченная) | 8.3.10+ |
| "Диадок: Обмен документами" | Да (включая корректировочные) | От 3 000 ₽ | 8.3.15+ |
| "Универсальный обмен с Диадок" | Да | От 5 000 ₽ | 8.3.18+ |
4. Использование API Диадока: для технических специалистов
Если в вашей компании есть IT-специалист или вы сами разбираетесь в программировании, можно настроить выгрузку УПД через API Диадока. Это самый гибкий способ, который позволяет автоматизировать процесс без покупки модуля.
Для работы с API понадобится:
- 🔑 Токен доступа к API Диадока (генерируется в личном кабинете).
- 📡 HTTP-клиент для отправки запросов (можно использовать Postman, cURL или встроенные средства 1С).
- 📂 XML-файл УПД в правильном формате.
Пример запроса для загрузки УПД через API (на языке 1С):
Параметры = Новый Структура();
Параметры.Вставить("boxId", "ИД_ящика_в_Диадоке");
Параметры.Вставить("messageType", "UniversalTransferDocument");
Параметры.Вставить("fromDepartmentId", "ИД_отдела_отправителя");
Запрос = Новый HTTPЗапрос("https://diadoc-api.kontur.ru/V2/PostMessage");
Запрос.УстановитьТекст(ПолучитьXMLУПД()); // Функция, возвращающая XML документа
Запрос.УстановитьЗаголовок("Authorization", "DiadocAuth ddauth_api_client_id=" + ТокенДоступа);
Запрос.УстановитьЗаголовок("Content-Type", "application/xml");
Ответ = Новый HTTPСоединение();
Ответ.ОтправитьДляОбработки(Запрос);
🔧 Техническая заметка: Для работы с API в 1С потребуется подключить библиотеку HTTPСоединение (доступна в стандартных поставках платформы). Полную документацию по API Диадока можно найти здесь.
Перед отправкой УПД через API проверьте документ в песочнице Диадока. Это поможет избежать ошибок при работе с реальными данными.
5. Ручной ввод УПД в Диадок: если документов мало
Если вам нужно отправить 1-2 УПД в месяц, проще всего ввести данные вручную через веб-интерфейс Диадока. Этот способ не требует никаких технических навыков, но занимает больше времени.
Пошаговая инструкция:
- Авторизуйтесь в личном кабинете Диадока.
- Перейдите в раздел
Документы → Создать → Универсальный передаточный документ. - Заполните реквизиты документа:
- 📋 Номер и дата (должны совпадать с данными из 1С).
- 🏢 Контрагент (выбирается из справочника или добавляется вручную).
- 💰 Суммы, ставки НДС, товары/услуги.
⚠️ Внимание: При ручном вводе легко допустить ошибку в реквизитах (например, неверный ИНН или сумму НДС). Всегда сверяйте данные с оригиналом УПД из 1С перед отправкой. Диадок не блокирует отправку документов с ошибками, но они могут быть отклонены контрагентом или ФНС при проверке.
Ручной ввод подходит только для единичных документов. При регулярном документообороте лучше автоматизировать процесс через XML, обработки или API.
Типичные ошибки и как их избежать
При выгрузке УПД из 1С в Диадок без модуля пользователи часто сталкиваются с одними и теми же проблемами. Вот самые распространённые ошибки и способы их решения:
1. Ошибка валидации XML
- 🔴 Причина: Структура XML не соответствует схеме Диадока.
- 🟢 Решение: Используйте XSLT-преобразование или проверьте XML через валидатор.
2. Неверные реквизиты контрагента
- 🔴 Причина: В 1С указан старый ИНН или КПП, а в Диадоке — актуальный.
- 🟢 Решение: Обновите справочник контрагентов в 1С или вручную исправьте данные при загрузке.
3. Проблемы с кодировкой файла
- 🔴 Причина: XML сохранён в кодировке
Windows-1251, а Диадок требуетUTF-8. - 🟢 Решение: Пересохраните файл в правильной кодировке (можно через Notepad++ или онлайн-конвертеры).
4. Ошибка подписи документа
- 🔴 Причина: В 1С документ подписан ЭЦП, но в Диадоке не настроен сертификат.
- 🟢 Решение: Загрузите сертификат в личный кабинет Диадока или подпишите документ уже в системе.
Критическая ошибка: Если УПД содержит товары с разными ставками НДС (например, 20% и 10%), а в XML они сгруппированы неправильно, Диадок может отклонить документ. Всегда проверяйте раздел <НДС> в XML перед загрузкой.
Сравнение способов выгрузки УПД без модуля
Чтобы выбрать оптимальный метод, сравним все рассмотренные способы по ключевым параметрам:
| Способ | Сложность | Время на 1 документ | Требуемые навыки | Подходит для |
|---|---|---|---|---|
| Ручной экспорт в XML | Низкая | 2-5 минут | Базовые знания 1С | Единичные документы |
| XSLT-преобразование | Средняя | 5-10 минут | Понимание XML, XSLT | Регулярный обмен (до 20 док/месяц) |
| Внешняя обработка | Низкая | 1-2 минуты | Умение подключать обработки в 1С | Регулярный обмен (до 50 док/месяц) |
| API Диадока | Высокая | Автоматически | Программирование 1С, работа с API | Массовый документооборот |
| Ручной ввод в Диадок | Низкая | 10-15 минут | Нет | Единичные документы |
🔍 Вывод: Для разовых операций подойдёт ручной экспорт в XML или ввод через веб-интерфейс. Если документов много (от 10 в месяц), лучше настроить внешнюю обработку или API. XSLT актуален, если структура XML из 1С несовместима с Диадоком, но вы не хотите покупать модуль.
FAQ: Частые вопросы о выгрузке УПД в Диадок
Можно ли выгрузить УПД из 1С:ЗУП в Диадок?
Да, но в 1С:Зарплата и Управление Персоналом нет встроенной выгрузки УПД. Вам потребуется:
- Сформировать УПД вручную через отчёт
Универсальный передаточный документ. - Экспортировать его в Excel или XML.
- Преобразовать файл под требования Диадока (например, через XSLT).
Либо используйте внешнюю обработку, поддерживающую ЗУП.
Что делать, если Диадок не принимает XML из 1С?
Сначала проверьте:
- Структуру XML через валидатор Диадока.
- Кодировку файла (должна быть UTF-8).
- Наличие всех обязательных реквизитов (ИНН, КПП, суммы).
Если ошибка остаётся, попробуйте:
- Применить XSLT-преобразование.
- Связаться с поддержкой Диадока (приложите файл и описание ошибки).
Нужно ли подписывать УПД ЭЦП перед выгрузкой в Диадок?
Нет, подписывать документ в 1С не обязательно. Вы можете:
- Подписать УПД в 1С и выгрузить подписанный XML.
- Выгрузить неподписанный XML и подписать его уже в Диадоке (через личный кабинет или API).
Главное — чтобы документ был подписан до отправки контрагенту.
Как выгрузить корректировочный УПД?
Корректировочный УПД выгружается так же, как и обычный, но:
- В XML должен быть указан тип документа:
UniversalTransferDocumentRevision. - Нужно указать номер и дату исходного УПД, который корректируется.
Если используете внешнюю обработку, убедитесь, что она поддерживает корректировочные документы.
Можно ли автоматизировать выгрузку без покупки модуля?
Да, частично. Варианты автоматизации:
- 🤖 Сценарии 1С: Написать скрипт, который экспортирует УПД в XML и отправляет через API Диадока.
- ⚙️ Планировщик задач: Настроить автоматическую выгрузку XML в папку, откуда их забирает обработчик.
- 🔄 Интеграция через Р7-Офис: Если у вас подключён Р7, можно настроить обмен с Диадоком без модуля.
Полной автоматизации (как с модулем) добиться сложно, но рутинные операции можно оптимизировать.