Показать сообщение отдельно
Старый 18.04.2012, 10:27   #35  
ZoyaKom is offline
ZoyaKom
Участник
 
99 / 10 (1) +
Регистрация: 05.04.2012
Попробовала написать фильтр, для поля группировки по поставщику:

IF Vendor.GET("Vendor Ledger Entry"."Vendor No.") THEN BEGIN
Vendor.SETRANGE("Date Filter",StartDate,EndDate);
Vendor.CALCFIELDS(Vendor."Debit Amount (LCY)",Vendor."Credit Amount (LCY)");
LineAmount1[3] := Vendor."Debit Amount (LCY)";
LineAmount1[4] := Vendor."Credit Amount (LCY)";
END;

Проблема возникла в том, что он рассчитал сумму для поставщика по всем учетным группам, где он участвовал, т.е. все обобщил и получилось что по счету 66 у поставшика по дебету 300, когда на самом счете 100, т.к. он еще сложил суммы и с других счетов.

Затем попробывала рассчитать значение для клиента не через таблицу Vendor, а через Detailed Vendor Ledg. Entry (DVLE):

DVLE.SETCURRENTKEY(DVLE."Vendor Posting Group",DVLE."Vendor No.",DVLE."Agreement No.");
IF DVLE.GET(AA) and DVLE.GET(vdd) THEN BEGIN
DVLE.SETRANGE(DVLE."Posting Date",StartDate,EndDate);
DVLE.CALCSUMS(DVLE."Debit Amount (LCY)",DVLE."Credit Amount (LCY)");
LineAmount1[3] := DVLE."Debit Amount (LCY)";
LineAmount1[4] := DVLE."Credit Amount (LCY)";
END;

У меня выдает ошибку "Выражение Code нельзя преобразовать по типу значения Integer". Подскажите как можно решить данную проблему.