UserMagicWords.ini: различия между версиями

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
(Как пользоваться)
(Как пользоваться)
 
Строка 2: Строка 2:
  
 
== Как пользоваться ==   
 
== Как пользоваться ==   
Файл создается в папке профиля пользователя в в кодировке Windows-1251.
+
Файл создается в папке профиля пользователя в кодировке Windows-1251.
 +
 
 
Открыть файл в редакторе через нажатие кнопки на панели инструментов в редакторе строк.
 
Открыть файл в редакторе через нажатие кнопки на панели инструментов в редакторе строк.
  

Текущая версия на 16:36, 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;
   

Создаст новое ключевое слово +ЧИСЛО_ПОЗИЦИЙ+, которое будет выводить число записей в Инвойсе.