Показать сообщение отдельно
Старый 25.11.2013, 13:08   #11  
524td is offline
524td
Участник
 
19 / 10 (1) +
Регистрация: 18.11.2013
Нашел готовый отчет такого плана, взялся его переделывать..

Код:
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;