Skip to content

Masl0v/Viewerxml2html

Repository files navigation

Viewerxml2html

Программа для macOS, которая превращает нечитаемый XML-файл счёта-фактуры / УПД, присылаемый через ЭДО, в наглядный HTML-бланк — без 1С и без сторонних сервисов.

Зачем это нужно

Операторы электронного документооборота (Диадок, СБИС, Контур.Экстерн и т.п.) присылают счета-фактуры и УПД в виде XML-файлов формата ФНС (СЧФДОП). Открыть такой файл текстовым редактором невозможно — внутри вперемешку кодировка Windows-1251 и служебные теги на русском. Штатно посмотреть его по-человечески можно только через 1С или личный кабинет ЭДО.

Viewerxml2html решает именно эту задачу: конвертирует XML в HTML-страницу, оформленную как официальная печатная форма счёта-фактуры / УПД, и сразу открывает её в браузере.

Работает полностью локально и офлайн — файл не покидает компьютер, никуда не отправляется, никаких сторонних серверов или сервисов не используется.

Только для macOS.

Возможности

  • Открытие XML прямо из Finder — через контекстное меню «Открыть с помощью» или запуском программы напрямую
  • Автоопределение кодировки исходного XML (windows-1251 / utf-8)
  • HTML-бланк, визуально повторяющий официальную печатную форму УПД / счёта-фактуры (продавец, покупатель, таблица товаров/услуг, итоги, подписант)
  • По желанию пользователя — назначение программой по умолчанию для .xml, чтобы открывать файлы двойным кликом
  • Автоматическое снятие карантинного флага macOS с новых XML-файлов в Загрузках, чтобы Gatekeeper не спрашивал подтверждение на каждый файл

Поддерживаемый формат

Файлы обмена СЧФДОП (Счёт-фактура / Универсальный передаточный документ), формат ФНС, версия схемы 5.x — именно то, что присылают операторы ЭДО. Другие виды документов ЭДО (например, только акт без счёта-фактуры, либо иные схемы обмена) пока не поддерживаются.

Установка

  1. Скачайте Viewerxml2html.app.zip из этого репозитория (или из Releases) и распакуйте
  2. Переместите Viewerxml2html.app в папку Программы
  3. Запустите снять_блокировку_Viewerxml2html.command (двойной клик; если macOS покажет предупреждение — щёлкните правой кнопкой → «Открыть» → подтвердите). Скрипт снимает системный карантинный флаг с приложения
  4. Запустите Viewerxml2html.app — при первом запуске появится вопрос про программу по умолчанию для XML-файлов; ответьте на своё усмотрение

Использование

Через контекстное меню: правый клик на XML-файле → «Открыть с помощью» → Viewerxml2html

Через саму программу: запустите Viewerxml2html.app → появится окно выбора файла → выберите XML → результат откроется в браузере

Требования

  • macOS (Intel и Apple Silicon)
  • Python 3 (обычно уже есть в системе; если нет — программа подскажет выполнить xcode-select --install)

Почему приложение не подписано

Подпись сертификатом Apple Developer стоит $99/год — для небольшой бесплатной утилиты это несоразмерно. Поэтому при первом запуске macOS Gatekeeper требует ручного подтверждения (см. шаг 3 установки). Это стандартное поведение для любого приложения вне App Store и не связано с работой самой программы.

Решение проблем

  • При открытии XML ничего не происходит. Скорее всего, не снят карантинный флаг с приложения — запустите ещё раз снять_блокировку_Viewerxml2html.command.
  • Каждый новый файл заново просит подтверждения безопасности. Ожидаемо для неподписанных приложений. После того как вы согласитесь сделать программу обработчиком XML по умолчанию (диалог при первом запуске), фоновый процесс начинает автоматически снимать карантин с новых XML в Загрузках — и это перестаёт происходить.
  • Не найден Python 3. Выполните в Terminal: xcode-select --install, дождитесь установки Command Line Tools и повторите попытку.

Исходный код

Программа — это AppleScript-обёртка (droplet) вокруг Python-скрипта конвертации и небольшого helper'а на Swift (регистрация программы по умолчанию через Launch Services, фоновый снятие карантина). Исходники — в папке src/; сам конвертер — upd_to_html.py, он не имеет внешних зависимостей и запускается на любой ОС с Python 3:

python3 upd_to_html.py входной_файл.xml [выходной_файл.html]

Лицензия

MIT — см. LICENSE

About

Просмотр XML счетов-фактур/УПД (ЭДО) в виде HTML-бланка. Локально, офлайн, только macOS.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors