Параметры командной строки (Такса)

Материал из Alta-Soft Wikipedia
Версия от 09:00, 15 апреля 2014; Vakhrushev (обсуждение | вклад) (описание параметров REGIM и Silent)
Перейти к навигации Перейти к поиску

Параметры командной строки "Такса" 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.