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

добавить 2 поля с General Ledger Setup // Shortcut Dimension 1 Code,Shortcut Dimension 2 Code;//lookUp уних на таблу Dimension <- сделано.

далее, отфильтровать дополнительно еще и по этим двум полям вот этот кусок кода.

Код:
DrillDownGLEntry(Show : 'Debit,Credit,ACYDebet,ACYCredit,BeginPeriod,ACYBeginPeriod')
GLEntry.RESET;
IF (GETFILTER("Business Unit Filter") <> '') OR
   (GETFILTER("Global Dimension 1 Filter") <> '') OR
   (GETFILTER("Global Dimension 2 Filter") <> '') OR
   (GETFILTER("Responsible Person Filter") <> '')
THEN
  GLEntry.SETCURRENTKEY("G/L Account No.","Business Unit Code","Global Dimension 1 Code",
  "Global Dimension 2 Code")
ELSE
  GLEntry.SETCURRENTKEY("G/L Account No.","Posting Date");
IF Totaling = '' THEN
  GLEntry.SETRANGE("G/L Account No.","No.")
ELSE
  GLEntry.SETFILTER("G/L Account No.",Totaling);
  GLEntry.SETFILTER("Posting Date",GETFILTER("Date Filter"));
  GLEntry.SETFILTER("Global Dimension 1 Code",GETFILTER("Global Dimension 1 Filter"));
  GLEntry.SETFILTER("Global Dimension 2 Code",GETFILTER("Global Dimension 2 Filter"));
  GLEntry.SETFILTER("Business Unit Code",GETFILTER("Business Unit Filter"));
  GLEntry.SETFILTER("Source Type",GETFILTER("Source Type Filter"));
  GLEntry.SETFILTER("Source No.",GETFILTER("Source No. Filter"));
  GLEntry.SETFILTER(GLEntry."Responsible Person",GETFILTER("Responsible Person Filter"));

CASE Show OF
  Show::Debit:
    GLEntry.SETFILTER("Debit Amount",'<>%1',0);
  Show::Credit:
    GLEntry.SETFILTER("Credit Amount",'<>%1',0);
  Show::ACYDebet:
    GLEntry.SETFILTER("Add.-Currency Debit Amount",'<>%1',0);
  Show::ACYCredit:
    GLEntry.SETFILTER("Add.-Currency Credit Amount",'<>%1',0);
  Show::BeginPeriod,
  Show::ACYBeginPeriod:
    IF COPYSTR(GETFILTER("Date Filter"),1,2) <> '..' THEN BEGIN
      IF GETRANGEMIN("Date Filter") <> 0D THEN
        GLEntry.SETRANGE("Posting Date",0D,CLOSINGDATE(GETRANGEMIN("Date Filter") - 1));
    END ELSE
      EXIT;
  ELSE
    ERROR('');
END;
FORM.RUN(0,GLEntry);