Параметры командной строки (Такса): различия между версиями
Belousov (обсуждение | вклад) (→Расчет списка товаров) |
Belousov (обсуждение | вклад) (→Расчет списка товаров) |
||
Строка 63: | Строка 63: | ||
=== Расчет списка товаров === | === Расчет списка товаров === | ||
− | |||
− | |||
Если вызвать Таксу с ключем -E и указать на ini файл следующей структуры | Если вызвать Таксу с ключем -E и указать на ini файл следующей структуры |
Версия 13:05, 21 февраля 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 и указать на 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
а в файл, указанный в ключе FileName поместить информацию о списке товаров в формате XML в виде структуры
<?xml version="1.0" encoding="UTF-8"?>
<INVOICE>
<HEAD>
<CURRENCY>EUR</CURRENCY>
<DATE>21.12.2013</DATE>
</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 в список товаров и произведет расчет платежей.
При необходимости дополнительной детализации будут заданы вопросы о характеристиках товаров
влияющих на расчет платежей. Если все ответы будут получены или вопросов вообще не возникнет,
то результаты расчета будут выгружены в 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>
<COST>375РУБ.</COST>
<SUMM>375.00</SUMM>
</PAY>
</PAYS>
</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>
<COST>1.83евро/л</COST>
<SUMM>3412.95 руб</SUMM>
</PAY>
<PAY>
<NAME>Акциз</NAME>
<BASE>40.00 л.сп</BASE>
<COST>500руб/л.сп</COST>
<SUMM>20000.00 руб</SUMM>
</PAY>
<PAY>
<NAME>НДС</NAME>
<BASE>41825.57 руб</BASE>
<COST>18%</COST>
<SUMM>7528.60 руб</SUMM>
</PAY>
</PAYS>
</GOOD>
<GOOD>
... Следующий товар ...
</GOOD>
... и т.д. ...
</GOODS>
</INVOICE>
Ключи с префиксом Customer... определяют каким способом Такса должна уведомить вызывающее приложение о том, что список товаров рассчитан.
Если заполнен ключ CustomerExec, то будет выполнена указанная команда. Иначе будет отослано сообщение (Windows Message) с кодом CustomerMSG в запущенное приложение с handle окна CustomerWndHandle или именем класса окна CustomerWndClass.