31 января 2013 г.

3-НДФЛ в Linux: Декларация 2012 под wine

Внимание: happy end'а пока нет, заставить работать под wine - получилось, а вот печатать - нет.

Понадобилось недавно подать налоговую декларацию по 3-НДФЛ, и как оказалось, для этого существует бесплатная утилита под названием "Декларация 2012", которую можно скачать здесь:
http://www.gnivc.ru/software/free_software/software_fl/ndfl_3_4/
Конечно, факт того, что существует такая программа и она бесплатна - радует. Но, пока я не смог разобраться, можно ли заполнить декларацию вручную (допустим на бланке в Excel или Calc). А поэтому опять расстроился - ведь государство вроде как смотрит в сторону open source, школы там переводит на linux и всякое, но программы все выпускает под Windows. И что делать, если у меня, скажем нет Windows и денег на неё тоже нет? Так что дальше я опишу мои попытки запустить её под wine'ом.


Не буду долго описывать свои искания, приведу сразу руководство к действию.


1. Я устанавливал "Декларацию 2012" на "чистую" конфигурацию wine, поэтому удалил существующую директорию ~/.wine
2. Для "чистой" конфигурации выполните:
winecfg
3. Затем нам понадобится winetricks:
wget http://winetricks.org/winetricks
chmod +x winetricks
4. Установите поддержку Microsoft XML 4:
./winetricks msxml4
5. Затем библиотеки Visual C++ 6
./winetricks vcrun6
6. И, наконец Windows Script Host 5.6:
./winetricks wsh56
7. Теперь можно приступить к установке самой программы (предварительно скачав её по ссылке выше).
wine InsD2012.exe
8. В конце установки дистрибутива вам будет сообщено о том, что должен установится пакет Печать НД с PDF417(3.0.29). Однако, его установщик не запускается, поэтому нажимаем "Далее" и "Готово" и переходим в папку с установленной "Декларацией 2012" (~/.wine/drive_c/Program Files...) и запускаем установку этой программы вручную:
wine start "Печать НД с PDF417(3.0.29).msi"
9. Теперь можно запускать саму программу.

Итак, сухой остаток:
+ у меня получилось установить в полном объеме и запустить программу
+ ошибки не вылазят
+ также получилось заполнить декларацию
+ экспорт в xml работает
+ 3-НДФЛ выходит на предпросмотр
- 3-НДФЛ выходит на печать как пустой лист (по крайней мере в виртуальный принтер CUPS-PDF, но, думаю, это не важно)

Мне помогла информация с этого сайта (как я понял - разработчика программы):
http://y007.ru/1/

Как я понял, проблема именно с программой Печать с НД с PDF417.

Если у кого-то получится "добить" и заставить софтину печатать 3-НДФЛ прошу отметиться в комментариях и написать, как это получилось.

4 комментария:

  1. Печатает без проблем (проверял на 2011 и 2012).

    [cas@cas Декларация 2012]$ winetricks list-installed
    dotnet20
    gdiplus
    gdiplus_winxp
    mdac27
    msvcirt
    msxml3
    msxml4
    vb6run
    vcrun6sp6
    vcrun6
    wsh56vb
    wsh57
    [cas@cas Декларация 2012]$ wine --version
    wine-1.6-rc3

    ОтветитьУдалить
  2. AltLinux 7.0 Centaurus

    wine-1.7.42

    dotnet20sp1
    dotnet20sp2
    dotnet20
    dotnet30sp1
    dotnet40
    gdiplus
    gdiplus_winxp
    mdac27
    msvcirt
    msxml3
    msxml4
    vcrun2005
    vcrun2008
    vcrun2010
    vcrun6sp6
    vcrun6
    wsh56vb
    wsh57
    Успешно установил и запустил "Декларация 2014", однако при попытке вызвать просмотр выходит ошибка "Получение преобразования для проверки 23XML : Получение числа страниц Tiff-файла : GDI+: Не удалось создать объект из файла 'C:\Program Files\Декларация 2014\1151020_5.09000_12.tif' (код: 1). [-1073217532 (0xC0080004)\\0 (0x0)\TifOperation.cpp (строка: 2684)]"

    ОтветитьУдалить
  3. Игорь, добрый день.

    А каким образом Вы обнаружили, что для работы программы нужны будут именно эти доп.пакеты: msxml4, vcrun6 и wsh56? Есть какой-то способ выяснить, каковы требования программы для запуска под Wine?

    ОтветитьУдалить
    Ответы
    1. Евгений, здравствуйте!
      К сожалению, давно уже не занимался запуском каких-то "проблемных" программ под wine. Но, если я не ошибаюсь, я делал так - запускал эмулятор терминала и уже через него производил запуск программы с помощью wine. Например, "wine calc.exe". Соответственно, все ошибки, если они есть, в том числе и об отсутствующих библиотеках будут отражены в окне терминала.

      Удалить