UserMagicWords.ini: различия между версиями
Belousov (обсуждение | вклад) (→Примеры) |
Belousov (обсуждение | вклад) (→Как пользоваться) |
||
Строка 3: | Строка 3: | ||
== Как пользоваться == | == Как пользоваться == | ||
Файл создается в папке профиля пользователя в в кодировке Windows-1251. | Файл создается в папке профиля пользователя в в кодировке Windows-1251. | ||
+ | Открыть файл в редакторе через нажатие кнопки на панели инструментов в редакторе строк. | ||
+ | [Файл:UserMagicWords.png] | ||
+ | Каждое пользовательское слово описывается в секции начинающейся со слова в квадратных скобках, | ||
+ | а внутри секции находится Pascal-скрипт, задающий поведение слова. | ||
Пользовательские слова должны пересекаться с существующими стандартными. | Пользовательские слова должны пересекаться с существующими стандартными. | ||
− | |||
− | |||
Документ Инвойс представляется в виде встроенного объекта '''Doc1'''. | Документ Инвойс представляется в виде встроенного объекта '''Doc1'''. |
Версия 16:34, 21 октября 2019
UserMagicWords.ini - пользовательский конфигурационный файл для программы Альта-ГТД, позволяющий создавать собственные ключевые слова для строки формирования Инвойса.
Как пользоваться
Файл создается в папке профиля пользователя в в кодировке Windows-1251. Открыть файл в редакторе через нажатие кнопки на панели инструментов в редакторе строк. [Файл:UserMagicWords.png] Каждое пользовательское слово описывается в секции начинающейся со слова в квадратных скобках, а внутри секции находится 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;
Создаст новое ключевое слово +ЧИСЛО_ПОЗИЦИЙ+, которое будет выводить число записей в Инвойсе.