InvStr31.ini: различия между версиями
Belousov (обсуждение | вклад) (→Условия USL) |
Belousov (обсуждение | вклад) (→Условия USL) |
||
Строка 54: | Строка 54: | ||
* USL = 'AVTO' Базовая строка для АвтоИнвойса | * USL = 'AVTO' Базовая строка для АвтоИнвойса | ||
* USL = 'PR339' Строка для товаров 399 приказа [[МЭРТ]] | * USL = 'PR339' Строка для товаров 399 приказа [[МЭРТ]] | ||
− | * USL верно для [[ | + | * USL верно для [[w:Регулярные_выражения|маски]] '(\d{10})[-]{1}(\d{10})' Диапазон кодов [[ТНВЭД]] |
− | * USL верно для [[ | + | * USL верно для [[w:Регулярные_выражения|маски]] '(\w+)(\[{1}(=|<>|start|include|empty|fill|>|>=|<|<=)\]{1})(.*)' Условие из полей инвойса |
* USL = 'LIST' Строка при декларировании списком | * USL = 'LIST' Строка при декларировании списком | ||
* USL = 'DVAMIN' Строка для формирования раздела 31.2- "грузовые места" | * USL = 'DVAMIN' Строка для формирования раздела 31.2- "грузовые места" |
Текущая версия на 11:00, 20 ноября 2018
InvStr31.ini
InvStr31.ini - конфигурационный файл в котором хранятся строки формирования 31 графы для приложения Инвойс. Является полностью пользовательским, обычно хранится в рабочей папке программы Альта-ГТД рядом с gtd.ini. По умолчанию создается при первом вызове редактора строк с двумя базовыми строчками для Инвойса и АвтоИнвойса. Кодировка WIN.
Текущие базовые строки определяются непосредственно по самому InvStr31.ini: ищется первая строка active с начала файла. Таким образом настройки строк никак не связаны с gtd.ini. В случае терминального режима работы с Альта-ГТД или если программой пользуются несколько декларантов, каждый со свиом gtd.ini, может возникать необходимость иметь отдельный InvStr31.ini для каждого пользователя. Эта задачу можно решить разнеся пользовательские gtd.ini по разным каталогам.
Например создать папки по числу пользователей и разместить в них индивидуальные gtd.ini
С:\ALTA\Вася\gtd.ini
С:\ALTA\Коля\gtd.ini
С:\ALTA\Толя\gtd.ini
а при запуске Альта-ГТД, выбирать нужный ini при помощи параметра i командной строки.
C:\Alta\gtdw.exe -iС:\ALTA\Вася\gtd.ini
В этом случае рядом с каждым gtd.ini будут автоматически созданы индивидуальные InvStr31.ini и настройки строк формирования будут разные у каждого пользователя.
Формат данных
Необходимость непосредственного редактирования файла отсутствует: все операции выполняются из интерфейса редактора строк. Каждая строка представляется отдельной секцией вида
[Инвойс]
Data=МОЙТНВЭД+": "+{НАИМЕНОВАНИЕ+", "+{" АРТ: "+АРТИКУЛ+" - "+КОЛИЧЕСТВО+" ШТ;"}}+...
Ord=31_DESCRIPT
OrdSub=31_ARTICUL
OrdSubSub=31_ARTICUL
active=1
usl=BASE
PRIM=Последняя использованная строка для Инвойса из gtd.ini
где название секции , это имя строки.
Data - содержимое строки
Ord, OrdSub, OrdSubSub - идентификаторы полей для перебора вложенных {} блоков
active - 1 или 0, включена или выключена строка
uls - условие применения строки
PRIM - примечание, любой текст
Строк может быть неограниченно много, но имена должны быть уникальны. Тип и порядок применения определяется по условию. Не должно быть 2-х ВКЛЮЧЕННЫХ строк с ОДИНАКОВЫМ УСЛОВИЕМ. При обычном использовании за всем этим следит редактор строк формирования 31 графы
Условия USL
На данный момент по условию применения различают следующие типы строк
- USL = 'BASE' Базовая строка для Инвойса. Применяется для всех товаров, для которых нет иных строк с условиями
- USL = 'AVTO' Базовая строка для АвтоИнвойса
- USL = 'PR339' Строка для товаров 399 приказа МЭРТ
- USL верно для маски '(\d{10})[-]{1}(\d{10})' Диапазон кодов ТНВЭД
- USL верно для маски '(\w+)(\[{1}(=|<>|start|include|empty|fill|>|>=|<|<=)\]{1})(.*)' Условие из полей инвойса
- USL = 'LIST' Строка при декларировании списком
- USL = 'DVAMIN' Строка для формирования раздела 31.2- "грузовые места"
InvStr31*.add
Строки формирования можно править из внешних программ. Например при самостоятельной автоматизации при помощи собственной КИС.
Для этого в каталог IN\ ГТДшки копируется файл (или даже несколько) с именем InvStr31*.add. В нем должна содержаться секция-строка (или несколько строк). После этого необходимо послать ГТДшке WM_MyMessage = 5561; с WParam = 16;
После этого ГТД перебирает файлы InvStr31*.add, и добавляет в конец файла строки со следующими особенностями:
- Если строка с таким же именем уже существует, то:
- Если Data загружаемой и существующей строки отличаются, то старая строка переименовывается в ~ИМЯ, а новая кладется в низ спсика
- Если Data одинаковые, то новая строка пишется поверх. Таким не замысловатым образом можно, включать выключать нужные строки извне.
- Если новая строка включенная, и уже существуют строки с таким же условием, то они отключаются
Примеры
[АвтоИнвойс]
Data="АВТОМОБИЛИ ЛЕГКОВОЙ."+{"МАРКА: "+МОДЕЛЬ+{" VIN:"+VIN+" ДВИГ.:"+ДВИГ№+" ЦВЕТ: "+ЦВЕТ}+\P+"ВСЕГО:"+ДВИГ.Л.С.+"Л.С. /"+ОБ.ДВИГ.+" СМ3 "}+#+\P+"ПРОИЗВ.: "+ПРОИЗВОДИТЕЛЬ+", "+СТРАНА
Ord=A2_1
OrdSub=A1_1
OrdSubSub=Ошибка!
active=1
usl=AVTO
PRIM=Последняя использованная строка для АвтоИнвойса из gtd.ini
[Обувь]
Data="Обувь спортивная: "+{НАИМЕНОВАНИЕ+" "+{АРТИКУЛ+" "+{РАЗМЕР+" - "+КОЛИЧЕСТВО+"ШТ.;"}}}
Ord=31_DESCRIPT
OrdSub=31_ARTICUL
OrdSubSub=31_SIZE
active=1
usl=6404110000-6404199999
PRIM=