Параметры командной строки (Такса): различия между версиями
Belousov (обсуждение | вклад) (→Расчет списка товаров) |
м (описание параметров REGIM и Silent) |
||
Строка 83: | Строка 83: | ||
CustomerMSG=1025 | CustomerMSG=1025 | ||
CustomerExec=C:\ERP\myERP.exe %Filename | CustomerExec=C:\ERP\myERP.exe %Filename | ||
+ | Silent=0 | ||
</source> | </source> | ||
Строка 93: | Строка 94: | ||
<CURRENCY>EUR</CURRENCY> | <CURRENCY>EUR</CURRENCY> | ||
<DATE>21.12.2013</DATE> | <DATE>21.12.2013</DATE> | ||
+ | <REGIM>ИМ</REGIM> | ||
</HEAD> | </HEAD> | ||
<GOODS> | <GOODS> | ||
Строка 121: | Строка 123: | ||
− | то программа загрузит XML в список товаров и произведет расчет платежей. | + | то программа загрузит XML в список товаров и произведет расчет платежей. С помощью элементов в теге <HEAD> можно управлять основными параметрами расчета: CURRENCY (валюта), DATE (дата), REGIM (режим, определяется по первой букве значения И/Э). |
При необходимости дополнительной детализации будут заданы вопросы о характеристиках товаров | При необходимости дополнительной детализации будут заданы вопросы о характеристиках товаров | ||
− | влияющих на расчет платежей. Если все ответы будут получены | + | влияющих на расчет платежей. Данные вопросы можно отключить параметром Silent=1 в ini-файле, тогда программа отработает в тихом режиме, а при необходимости вмешательства оператора в работу напишет об этом в результирующем файле в теге <PAYS>: "Для окончания расчета требуется вмешательство оператора". Если все ответы будут получены, вопросов вообще не возникнет или указан параметр Silent=1, |
то результаты расчета будут выгружены в XML файл схожей структуры с именем указанном в ключе '''OutPutFileName'''. | то результаты расчета будут выгружены в XML файл схожей структуры с именем указанном в ключе '''OutPutFileName'''. | ||
Пир этом первоначальный XML удаляется. | Пир этом первоначальный XML удаляется. | ||
Строка 164: | Строка 166: | ||
</PAY> | </PAY> | ||
</PAYS> | </PAYS> | ||
+ | <REGIM>ИМ</REGIM> | ||
</HEAD> | </HEAD> | ||
<GOODS> | <GOODS> |
Версия 09:00, 15 апреля 2014
Содержание
Параметры командной строки "Такса" taxwin.exe
- /ini2profile - хранить все настроечные и пользовательские файлы в папке текущего профиля (типа C:\Documents and Settings\User\Local Settings\Application Data\Alta\Taxwin). Рекомендуется при установке на терминал-сервер.
- /Z"путь" - загрузить INI-файл в формате Заполнителя (файл будет удален!)
- /I"путь к ini" - использовать указанный файл для хранения настроек. Так же хранить все пользовательские файлы в указанной папке рядом с ini
- /noAdo - не использовать библиотеку MDAC (доступ к MDB). Аналог noAdo=1 в секции [common] в config.ini.
- /E"путь к файлу-макросу" - обработать спец.файл с инструкциями (выдача справки по запросу, расчет списка товаров и т.д.)
- /? - показать данную подсказку
Если программа "Такса" уже выполняется, то второй экземпляр taxwin.exe запущенный с ключем передает управление первому
В качестве сигнального символа допускается и / и -. Например
taxwin.exe -Z /Z
Дополнительные строковые параметры пишутся слитно с ключём, без пробелов, либо в кавычках, например
taxwin.exe /Zc:\Alta\In\F112A4D5.ini taxwin.exe /Z"c:\"Program Files (x86)\Alta\In\F112A4D5.ini"
Выполнение файлов-макросов
Ключем /E можно инициировать обработку Таксой файла специального формата с инструкциями. При помощи такого макроса можно заставить программу сгенерировать Справку о товаре или рассчитать платежи для переданного в XML файле списка товаров.
Генерация справки о товаре
Если вызвать Таксу с ключем -E
taxwin.exe -eC:\Alta\IN\my_request.xml
или
taxwin.exe -e"C:\Documents and Settings\Василий\Мои документы\my_request.xml"
указав на w:.ini-файл следующей структуры
[TaxMacro]
ACTION=MAKESPRAVKA
TNVED=3921190000
REGIM=ИМ
COUNTRY=DE
TRADEMARK=
OKP=
DATE=14.01.14
IE=0
FileName=C:\USERS\Василий\APPDATA\LOCAL\TEMP\67653163.htm
CustomerWndClass=TMain
CustomerWndHandle=2755280
CustomerMSG=1025
CustomerExec=C:\ERP\myERP.exe %Filename
то Такса сгенерирует справку о товаре в виде w:HTML файла с именем указанным в ключе FileName.
Ключи TNVED, REGIM, COUNTRY, TRADEMARK, OKP, DATE задают соответственно код ТНВЭД товара, режим (ИМ или ЭК), буквенный код страны происхождения, код ОКП товара и на какую дату необходимо сгенерировать справку.
Ключ IE в значении =1 приведет к отображению справки о товаре в стандартном w:Браузере. При значении =0 Такса будет пытаться обработать ключи с префиксом Customer....
Ключи с префиксом Customer... определяют каким способом Такса должна уведомить вызывающее приложение о том, что справка о товаре сформирована. Генерация справки проиходит не мгновенно, особенно если Такса еще запущена. Поэтому между запуском программы с ключем и генерацией HTML отчет может проходить несколько десятков секунд.
Если заполнен ключ CustomerExec, то будет выполнена указанная команда. Иначе будет отослано сообщение (Windows Message) с кодом CustomerMSG в запущенное приложение с handle окна CustomerWndHandle или именем класса окна CustomerWndClass.
Расчет списка товаров
Если вызвать Таксу с ключем -E и указать на ini файл структуры вида
[TaxMacro]
ACTION=CALCINVOICE
FileName=C:\USERS\Василий\APPDATA\LOCAL\TEMP\67653163.XML
OutPutFileName=C:\USERS\Василий\APPDATA\LOCAL\TEMP\67653163.XML
CustomerWndClass=TMain
CustomerWndHandle=2755280
CustomerMSG=1025
CustomerExec=C:\ERP\myERP.exe %Filename
Silent=0
а в файл, указанный в ключе FileName поместить информацию о списке товаров в формате XML в виде структуры
<?xml version="1.0" encoding="UTF-8"?>
<INVOICE>
<HEAD>
<CURRENCY>EUR</CURRENCY>
<DATE>21.12.2013</DATE>
<REGIM>ИМ</REGIM>
</HEAD>
<GOODS>
<GOOD>
<TNVED>2208601900</TNVED>
<DESCR>ВОДКА, С КОНЦЕНТРАЦИЕЙ СПИРТА 45,4 ОБ% ИЛИ МЕНЕЕ, В СОСУДАХ ЕМКОСТЬЮ БОЛЕЕ 2 Л</DESCR>
<COUNTRY>DE</COUNTRY>
<COUNTRYNAME>ГЕРМАНИЯ</COUNTRYNAME>
<PRICE>552</PRICE>
<ART>VDK1003345</ART>
<UNIT2>20</UNIT2>
<NETTO>912.56</NETTO>
<BRUTTO>1012.56</BRUTTO>
<FIRM>ZAFIROFF</FIRM>
<DESCREN>VODKA ZAFIROFF vol.2,5 litre</DESCREN>
<WEIGHT>41</WEIGHT>
<ACCWEIGHT>40</ACCWEIGHT>
<QTY>21</QTY>
<DEFNDS>18</DEFNDS>
</GOOD>
<GOOD>
... Следующий товар ...
</GOOD>
... и т.д. ...
</GOODS>
</INVOICE>
то программа загрузит XML в список товаров и произведет расчет платежей. С помощью элементов в теге <HEAD> можно управлять основными параметрами расчета: CURRENCY (валюта), DATE (дата), REGIM (режим, определяется по первой букве значения И/Э).
При необходимости дополнительной детализации будут заданы вопросы о характеристиках товаров
влияющих на расчет платежей. Данные вопросы можно отключить параметром Silent=1 в ini-файле, тогда программа отработает в тихом режиме, а при необходимости вмешательства оператора в работу напишет об этом в результирующем файле в теге <PAYS>: "Для окончания расчета требуется вмешательство оператора". Если все ответы будут получены, вопросов вообще не возникнет или указан параметр Silent=1,
то результаты расчета будут выгружены в XML файл схожей структуры с именем указанном в ключе OutPutFileName.
Пир этом первоначальный XML удаляется.
Если ключ OutPutFileName не указан, то результаты расчета будут записаны в исходный файл.
Поля XML с характеристиками товара означают:
- TNVED - * код ТНВЭД
- DESCR - Описание товара
- COUNTRY - * буквенный (ALFA2) код станы происхождения товара
- PRICE - * стоимость товара
- ART - Артикул товара
- UNIT2 - количество в дополнительных единицах измерения
- NETTO - вес нетто, кг
- BRUTTO - вес брутто, кг
- FIRM - название производителя
- DESCREN - описание на англиском
- WEIGHT - * Основа для расчета Пошлины
- ACCWEIGHT - *Основа для расчета Акциза
- QTY - количество в штуках
- DEFNDS - ставка НДС по умолчанию
Результатом расчета является XML той же структуры, что и входной файл, но с добавлением по товарам информации
о ставках и суммах платежей.
<?xml version="1.0" encoding="UTF-8"?>
<INVOICE>
<HEAD>
<CURRENCY>EUR</CURRENCY>
<DATE>21.12.2013</DATE>
<PAYS>
<PAY>
<NAME>Таможенный сбор</NAME>
<BASE>35 207.47</BASE>
<RATE>375РУБ.</RATE>
<SUMM>375.00</SUMM>
</PAY>
</PAYS>
<REGIM>ИМ</REGIM>
</HEAD>
<GOODS>
<GOOD>
<TNVED>2208601900</TNVED>
<DESCR>ВОДКА, С КОНЦЕНТРАЦИЕЙ СПИРТА 45,4 ОБ% ИЛИ МЕНЕЕ, В СОСУДАХ ЕМКОСТЬЮ БОЛЕЕ 2 Л</DESCR>
<COUNTRY>DE</COUNTRY>
<COUNTRYNAME>ГЕРМАНИЯ</COUNTRYNAME>
<PRICE>552</PRICE>
<ART>VDK1003345</ART>
<UNIT2>20</UNIT2>
<NETTO>912.56</NETTO>
<BRUTTO>1012.56</BRUTTO>
<FIRM>ZAFIROFF</FIRM>
<DESCREN>VODKA ZAFIROFF vol.2,5 litre</DESCREN>
<WEIGHT>41</WEIGHT>
<ACCWEIGHT>40</ACCWEIGHT>
<QTY>21</QTY>
<DEFNDS>18</DEFNDS>
<PAYS>
<PAY>
<NAME>Пошлина</NAME>
<BASE>41.00 л</BASE>
<RATE>1.83евро/л</RATE>
<SUMM>3412.95 руб</SUMM>
</PAY>
<PAY>
<NAME>Акциз</NAME>
<BASE>40.00 л.сп</BASE>
<RATE>500руб/л.сп</RATE>
<SUMM>20000.00 руб</SUMM>
</PAY>
<PAY>
<NAME>НДС</NAME>
<BASE>41825.57 руб</BASE>
<RATE>18%</RATE>
<SUMM>7528.60 руб</SUMM>
</PAY>
</PAYS>
</GOOD>
<GOOD>
... Следующий товар ...
</GOOD>
... и т.д. ...
</GOODS>
</INVOICE>
Ключи с префиксом Customer... определяют каким способом Такса должна уведомить вызывающее приложение о том, что список товаров рассчитан.
Если заполнен ключ CustomerExec, то будет выполнена указанная команда. Иначе будет отослано сообщение (Windows Message) с кодом CustomerMSG в запущенное приложение с handle окна CustomerWndHandle или именем класса окна CustomerWndClass.