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

Код:
LineNo:=0;
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@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');

genjournalLINES.RESET;

genjournalLINES.SETRANGE("Journal Template Name",GLS."Bank Journal Template");
genjournalLINES.SETRANGE("Journal Batch Name",GLS."Group Journal Batch");
IF genjournalLINES.FINDLAST THEN

LineNo:=genjournalLINES."Line No."+10000;

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;

  EVALUATE(date,FORMAT(XlWorkSheet.Range('A'+FORMAT(Var1)+':'+'A'+FORMAT(Var1)).Value));
  description:=FORMAT(XlWorkSheet.Range('B'+FORMAT(Var1)+':'+'B'+FORMAT(Var1)).Text);
  value:=FORMAT(XlWorkSheet.Range('C'+FORMAT(Var1)+':'+'C'+FORMAT(Var1)).Text);
  EVALUATE(amount,FORMAT(XlWorkSheet.Range('D'+FORMAT(Var1)+':'+'D'+FORMAT(Var1)).Value));

    BEGIN
    genjournalLINES.INIT;
    genjournalLINES."Journal Template Name":=GLS."Bank Journal Template";
    genjournalLINES."Journal Batch Name":=GLS."Group Journal Batch";
    genjournalLINES."Line No.":=LineNo;
    genjournalLINES."Document No.":=genjournalcode;
    genjournalLINES."Payment Method":=paypurchasecode;
    genjournalLINES."Parent Line No.":=nogroup;
    genjournalLINES."Account No.":=accountno;
    genjournalLINES."Account Type":=accountype;
    genjournalLINES."Posting Date":=date;
    genjournalLINES."Bal. Account Type":=balactype;
    genjournalLINES.INSERT;

LineNo+=10000;
    END;
  END;
  Window.UPDATE(1, ROUND(dd / i * 10000, 1));


CLEAR(XlAppl);
Window.CLOSE;