Печать чеков
на ККМ (дополнение, см. текст от 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.)