Печать чеков на ККМ (дополнение, см. текст от 04.03.2003)

 

Появилась возможность динамического изменения параметров печати чека с помощью прог-

раммного блока-кода - он задается 4-м параметром функции PrintCheckFromCar():

   PrintCheckFromCar(код поставщика,массив строк заголовка,не печатать плательщика,;

                     блок-кода изменения параметров печати чека)

В блоке можно использовать обращение к любым реквизитам приходного ордера (через

алиас Docs1->Имя Реквизита) и предопределенные переменные с стандартно заполненными

параметрами печати чека: a_head - массив строк заголовка чека (не более 3-х элементов),

a_foot - массив строк подвала чека (не более 3-х элементов), sale_text - строка

содержимого (за что деньги), section - число - секции. По умолчению все эти переменные

заполнены: a_head - наименование предприятия по factorykod, a_foot[1] - номер прих.

ордера, a_foot[2] (и может быть a_foot[3]) - наименование плательщика, section = 1,

sale_text = "За хл-бул.изделия"

 

Привожу реально работающий пример программы для R179->Программа печати чеков для Win по

изменению стандартных параметров печати чека для возможности печати в подвале чека

сумм НДС и НсПР:

 

// Docs1-> nattr4 - Сумма НДС 10%   nattr6 - НсПР

//         nattr2 - Сумма НДС 20%   nattr5 - НсПР

//-----------------------------------------------

//PrintCheckFromCar('4295009749')

PrintCheckFromCar('4295009749',,,;

                  {||a_fs:={}, np:=0,;

                     iif(Docs1->nattr4<>0, AADD(a_fs,'NНДС10% '+Str(Docs1->nattr4,10,2)), nil),;

                     iif(Docs1->nattr2<>0, AADD(a_fs,'NНДС20% '+Str(Docs1->nattr2,10,2)), nil),;

                     iif((np:=Docs1->nattr5+Docs1->nattr6)<>0, AADD(a_fs,'NНсПР '+Str(np,12,2)), nil),;

                     iif(Len(a_fs)=3, a_foot:=a_fs, nil),;

                     iif(Len(a_fs)=2, a_foot:={a_foot[1],a_fs[1],a_fs[2]}, nil),;

                     iif(Len(a_fs)=1 and Len(a_foot)>1, a_foot:={a_foot[1],a_foot[2],a_fs[1]}, nil),;

                     iif(Len(a_fs)=1 and Len(a_foot)=1, a_foot:={a_foot[1],a_fs[1]}, nil),;

                     sale_text:='По договору';

                     },.t.)