Нашел готовый отчет такого плана, взялся его переделывать..
Код:
IF genjournalcode = '' THEN
BEGIN
MESSAGE('Íåîáõîäèìî ââåñòè íîìåð äîêóìåíòà');
EXIT;
END;
IF paypurchasecode <> 0 THEN
BEGIN
MESSAGE('Íåîáõîäèìî îïðåäåëèòü íîìåð ïëàòåæà');
EXIT;
END;
IF XLSDataFile = '' THEN
BEGIN
MESSAGE('Íåîáõîäèìî âûáðàòü ôàéë èìïîðòà.');
EXIT;
END;
CREATE(XlAppl);
XlWorkBook := XlAppl.Workbooks.Open(XLSDataFile);
XlWorkSheet:=XlWorkBook.Worksheets.Item(1);
Window.OPEN('Èìïîðò äàííûõ ...\' +
'@1@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
IF FirstLine THEN
j:=2
ELSE
j:=1;
Var1:=1;
WHILE FORMAT(XlWorkSheet.Range('A'+FORMAT(Var1)+':A'+FORMAT(Var1)).Value)<>'' DO
BEGIN
Rows:=Rows+1;
Var1:=Var1+1;
END;
i:=Rows;
// ñòðîêà âðåìåíè ïî âûãðóçêå
FOR Var1:=j TO Rows DO
BEGIN
dd:=dd+1;
EmplCode:=FORMAT(XlWorkSheet.Range('A'+FORMAT(Var1)+':'+'A'+FORMAT(Var1)).Text);
EVALUATE(EmplTime,FORMAT(XlWorkSheet.Range('B'+FORMAT(Var1)+':'+'B'+FORMAT(Var1)).Value));
genjournalLINES.SETRANGE("Document No.",genjournalcode);//
genjournalLINES.SETRANGE("Payment Method",paypurchasecode);
IF genjournalLINES.FINDFIRST THEN
BEGIN
ImportTimeSheet.Hour:=EmplTime;
IF EmployeeCategory."Contract Terms"=EmployeeCategory."Contract Terms"::Piecework THEN
ImportTimeSheet."User Type":=0;
IF EmployeeCategory."Contract Terms"=EmployeeCategory."Contract Terms"::Contract THEN
ImportTimeSheet."User Type":=1;
ImportTimeSheet.PrePayment:=PrePayment;
genjournalLINES.MODIFY;
END
ELSE
BEGIN
genjournalLINES.INIT;
genjournalLINES."Document No.":=genjournalcode;
genjournalLINES."Payment Method":=paypurchasecode;
//genjournalLINES.Hour:=EmplTime;
//genjournalLINES."Approval Date":=CREATEDATETIME(TODAY,TIME);
//genjournalLINES."Import User":=USERID;
IF EmployeeCategory."Contract Terms"=EmployeeCategory."Contract Terms"::Piecework THEN
ImportTimeSheet."User Type":=0;
IF EmployeeCategory."Contract Terms"=EmployeeCategory."Contract Terms"::Contract THEN
ImportTimeSheet."User Type":=1;
genjournalLINES.Prepayment:=PrePayment;
genjournalLINES.INSERT;
//code
END;
END;
Window.UPDATE(1, ROUND(dd / i * 10000, 1));
CLEAR(XlAppl);
Window.CLOSE;