![]() |
#11 |
Участник
|
Нашел готовый отчет такого плана, взялся его переделывать..
Код: 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; |
|