Скрипт предназначен для преобразования экспортированых файлов УПД *.xml
из 1С в формат импорта Диадок.
История умалчивает, умышленно ли было сделано небольшое различие в форматах файлов обмена электронными документами в вышеупомянутых конкурирующих системах, обе стороны утверждают, что системы работают с форматами файлов утвержденных Приказом ФНС России от 19.12.2023 № ЕД-7-26/970, но при этом, если попытаться импортировать файл xml, содержащий УПД из 1С в диадок, то скорее всего это мероприятие потерпит фиаско.
При разборе ситуации оказалось, что различия имеются только в использованных символах для разделения значений при заполнении всего лишь одного параметра.
Для исправления этого досадного недоразумения был написан этот скрипт, котрый заменяет символы в экспортированых файлах УПД *.xml
из 1С.
❗ Для работы скрипта на компьютер обязательно требуется установить Python версии 3
Скрипт распаковывает экспортированные из 1С архивы, содержащие документы УПД в формате xml, удаляет лишние служебные файлы и каталоги, после чего конвертирует файл в формат, который сервис Диадок принимает без возмущения.
Сачиваем и сохраняем скрипт diadok_conv.py в ту же папку где будут храниться экспортированные из 1С файлы, удобно использовать для этих целей папку в каталоге "Загрузки", например, \Downloads\1CExchange
.
Двойным щелчком по файлу diadok_conv.py запускаем работу скрипта и вместо архивов видим файлы в формате xml
пригодные для импорта в диадок.
Если вы счастливый обладатель компьютера фирмы Apple 😎 или не менее счастливый пользователь операционной системы Linux 😵, то последовательность ваших действий для использования скрипта должна быть следующей:
1️⃣ Окрываем терминал и проверяем установлен ли у вас ЯП Python3
$ python3
2️⃣ Если вы увидели сообщение похожее на такое:
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
жмём ctrl+d
для выхода и пропускаем следующий шаг.
3️⃣ Если python у вас не установлен, в поиске ищем как установить python3 в вашу систему, выполняем и возвращаемся к этому месту.
4️⃣ Откроем терминал, находясь в каталоге ~/
создаем директорию, где мы разместим скрипт и куда будем сохранять файлы с документами из 1С
mkdir 1CExchange
5️⃣ Перемещаемся в этот каталог командой
cd 1CExchange/
6️⃣ Скачиваем в этот каталог наш скрипт командой
wget https://raw.githubusercontent.com/wwsilin/1c_to_diadok/main/diadok_conv.py
7️⃣ Сохраняем в этот же каталог файлы подлежащие конвертации и запускаем скрипт командой
python3 diadok_conv.py
Если вы пользователь Windows, у вас не установлен Python, вам лень заморачиваться, а ваш администратор смотрит сквозь пальцы на скачивание и использование *.exe
файлов из интернета, вы можете скачать diadok.exe
в папку с архивами, полученными из 1С и запустив его получить xml
файлы для импорта в диадок.
Если вы пользователь Linux и вам вообще не охота в это вникать (хотя так не получится), качаем вместо скрипта в каталог исполняемы файл diadoc
даем права на запуск и получаем нужный результат.
Последовательность команд следующая:
$ mkdir 1CExchange
$ cd 1CExchange/
$ wget https://raw.githubusercontent.com/wwsilin/1c_to_diadok/main/diadok
$ sudo chmod 755 diadoc
$ ./diadok
💩 Маленькая оговорка: в виду того, что кодировка файлов xml для сервисов ЭДО положена ср1251, в linux и MacOs работа данного ПО совершенно не гарантируется. Надеюсь, вам повезёт!
Работа программы была проверена на 1С версии 8.3 с сервисом Диадок, из 1С экспортировались УПД, сохраненные в ZIP-архив, результат работы программы загружался в сервис контур.диадок.
❗ Работа с другими видами документов не гарантируется.
Поэтому проверяем, что импортируется и что вы отправляете.