UserMagicWords.ini: различия между версиями
Belousov (обсуждение | вклад) (→Как пользоваться) |
Belousov (обсуждение | вклад) (→Как пользоваться) |
||
Строка 2: | Строка 2: | ||
== Как пользоваться == | == Как пользоваться == | ||
− | Файл создается в папке профиля пользователя | + | Файл создается в папке профиля пользователя в кодировке Windows-1251. |
+ | |||
Открыть файл в редакторе через нажатие кнопки на панели инструментов в редакторе строк. | Открыть файл в редакторе через нажатие кнопки на панели инструментов в редакторе строк. | ||
Текущая версия на 16:36, 21 октября 2019
UserMagicWords.ini - пользовательский конфигурационный файл для программы Альта-ГТД, позволяющий создавать собственные ключевые слова для строки формирования Инвойса.
Как пользоваться
Файл создается в папке профиля пользователя в кодировке Windows-1251.
Открыть файл в редакторе через нажатие кнопки на панели инструментов в редакторе строк.
Каждое пользовательское слово описывается в секции начинающейся со слова в квадратных скобках, а внутри секции находится Pascal-скрипт, задающий поведение слова. Пользовательские слова должны пересекаться с существующими стандартными.
Документ Инвойс представляется в виде встроенного объекта Doc1. Доступу к полям Инвойса осуществляется или функцией Doc1.GetField(<ИдентификаторПоля>) или при помощи короткой записи _<ИдентификаторПоля>
Встроенная переменная NBLOCK равна номеру группы позиций Инвойса для создаваемого товара ДТ
Возможности скрипта можно иузучить на реальных примерах в файле ALTA\DATA\WGTDINFO.DAT в секциях [*.Revise]
Примеры
[ОЦЕНКАВЕСА] var I: integer; ves: double; begin ves := 0; For I := 0 to Doc1.NumBlock('\\BLOCK')-1 do begin Doc1.NBlock(I); // NBLOCK - это номер создаваемого товара ДТ if Doc1.GetField('32_NUM') = inttostr(NBLOCK) then ves := ves + GetVal(Doc1.GetField('35_1')); end; if ves < 1000 then Result := 'лёгкий' else if (ves > 1000) and (ves < 5000) then Result := 'обычный' else Result := 'тяжелый'; end;
Создаст новое ключевое слово +ОЦЕНКАВЕСА+, которое в зависимости от величины поля 35_1 (Вес брутто) будет выводить заданный пользователем текст.
[ЧИСЛО_ПОЗИЦИЙ] begin Result := Doc1.NumBlock('\\BLOCK'); end;
Создаст новое ключевое слово +ЧИСЛО_ПОЗИЦИЙ+, которое будет выводить число записей в Инвойсе.