Пример формирования DBF-файла из формы печати накладной на внутренне перемещение для выгрузки его на кассу розничной торговли (только существенное):
.linkform 'movnac_to_DBF' prototype is 'printinmovnak'
.nameinlist 'Формирование файла для касс'
.Group 'Vnut'
.var
hDBFh : LongInt;
.endvar
.begin
hDBFh:=DBFOpen('update.dbf', stCreate)
DBFAddField(hDBFh,'OPER' ,dbChar, 1 ,0);
DBFAddField(hDBFh,'KOD_K' ,dbChar,13 ,0);
DBFAddField(hDBFh,'Artikul',dbChar, 5 ,0);
DBFAddField(hDBFh,'Stock' ,dbChar,30 ,0);
DBFAddField(hDBFh,'Price' ,dbNum, 12 ,2);
DBFAddField(hDBFh,'QTY1' ,dbNum, 12 ,3);
DBFAddField(hDBFh,'QTY2' ,dbNum, 12 ,3);
DBFAddField(hDBFh,'QTY3' ,dbNum, 12 ,3);
end.
...
...
...
// В цикле по спецификации
.begin
DBFPutFieldValue(hDBFh,'OPER' ,'+');
DBFPutFieldValue(hDBFh,'KOD_K' ,RBarKod);
DBFPutFieldValue(hDBFh,'Artikul',RBarKod);
DBFPutFieldValue(hDBFh,'Stock' ,NameMC);
DBFPutFieldValue(hDBFh,'Price' ,Price);
DBFPutFieldValue(hDBFh,'QTY1' ,kol );
DBFPutFieldValue(hDBFh,'QTY2' ,kol);
DBFPutFieldValue(hDBFh,'QTY3' ,kol);
DBFInsertRecord(hDBFh);
end.
...
...
...
.begin DBFClose(hDBFh) end.
.endform
Примечание:
Необходимы приведения типов некоторых переменных.
ИМЯ переменной дескриптора файла может быть ТОЛЬКО hDBFh, не знаю с чем это связано но произвольнле имя не работало