//Скрипт выводу на печать в FastReport выбранных строк прайс-листа Function Main #include "box.ch" #include "achoice.ch" #include "inkey.ch" #include "dbedit.ch" Private i, k, ch_p, str, nProcess Private cFile, cFileStr, aStru:={} Private aSet, aSetKey AltD() aSet:=SaveSet() aSetKey:=SaveSetKey() If nNumber=1 // Прописываем имена-пути для файлов источников и шаблона отчета aGlobVars[1]:= 'real\template\ch_price.frf' r_n := SubStr(Time(),1,2)+SubStr(Time(),4,2)+SubStr(Time(),7,2) aGlobVars[2]:= LoadPath()+'tmp\fo'+r_n+'.dbf' aGlobVars[3]:= LoadPath()+'tmp\rt'+r_n+'.dbf' aGlobVars[4]:= .F. If(File(aGlobVars[2]),fErase(aGlobVars[2]),) If(File(aGlobVars[3]),fErase(aGlobVars[3]),) aStru := {} aAdd(aStru,{"VarName" ,"C",32,0}) aAdd(aStru,{"VarC" ,"C",10,0}) aAdd(aStru,{"VarN" ,"N",12,2}) aAdd(aStru,{"VarD" ,"D",8 ,0}) aAdd(aStru,{"FieldName","C",19,0}) dbCreate(aGlobVars[2],aStru) NetUse("File_op",aGlobVars[2]) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Дата_прайс_листа' FILE_OP->VARD := Date() FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Номер_документа' FILE_OP->VARC := '_____________' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Группа' FILE_OP->FIELDNAME :='rt'+r_n+'.Grup' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Ном_номер' FILE_OP->FIELDNAME :='rt'+r_n+'.NNum' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Партия' FILE_OP->FIELDNAME :='rt'+r_n+'.Part' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Наименование_ТМЦ' FILE_OP->FIELDNAME :='rt'+r_n+'.Name' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Цена_1' FILE_OP->FIELDNAME :='rt'+r_n+'.Cena_1' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Цена_2' FILE_OP->FIELDNAME :='rt'+r_n+'.Cena_2' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Цена_3' FILE_OP->FIELDNAME :='rt'+r_n+'.Cena_3' FILE_OP->(DbUnlock()) FILE_OP->(AddRec()) FILE_OP->VARNAME :='Цена_4' FILE_OP->FIELDNAME :='rt'+r_n+'.Cena_4' FILE_OP->(DbUnlock()) aStru := {} aAdd(aStru,{"Grup" ,"C",5 ,0}) // группа aAdd(aStru,{"NNum" ,"C",13 ,0}) // номенклатурный номер aAdd(aStru,{"Part" ,"C",5 ,0}) // партия aAdd(aStru,{"Name" ,"C",60 ,0}) // наименование ТМЦ aAdd(aStru,{"Cena_1","N",19 ,8}) // цена первая из прайс-листа aAdd(aStru,{"Cena_2","N",19 ,8}) // цена вторая из прайс-листа aAdd(aStru,{"Cena_3","N",19 ,8}) // цена третья из прайс-листа aAdd(aStru,{"Cena_4","N",19 ,8}) // цена четвертая из прайс-листа dbCreate(aGlobVars[3],aStru) NetUse("RTmp",aGlobVars[3]) EndIf RTMP->(AddRec()) RTMP->(RecLock()) If !Empty(SPR_PART->CODE) RTMP->Grup :=SPR_PART->GRUP RTMP->NNum :=SPR_PART->NNUM RTMP->Part :=SPR_PART->CODE RTMP->Name :=MLABEL->NAME RTMP->Cena_1:=SPR_PART->OCENA1 RTMP->Cena_2:=SPR_PART->OCENA2 RTMP->Cena_3:=SPR_PART->OCENA3 RTMP->Cena_4:=SPR_PART->OCENA4 Else RTMP->Grup :=MLABEL->GRUP RTMP->NNum :=MLABEL->NNUM RTMP->Name :=MLABEL->NAME RTMP->Cena_1:=MLABEL->OCENA1 RTMP->Cena_2:=MLABEL->OCENA2 RTMP->Cena_3:=MLABEL->OCENA3 RTMP->Cena_4:=MLABEL->OCENA4 EndIf RTMP->(f_DbUnLock()) If nNumber=nKolStrok WinReport(aGlobVars[1],aGlobVars[2],aGlobVars[3],aGlobVars[4]) FILE_OP->(dbCloseArea()) RTMP ->(dbCloseArea()) If(File(aGlobVars[2]),fErase(aGlobVars[2]),) If(File(aGlobVars[3]),fErase(aGlobVars[3]),) EndIf RestSetKey(aSetKey) RestSet(aSet) Return NIL