30.08.2010, 10:41 | #1 |
Участник
|
Уважаемые, подскажите для чего в отчете 12430 (Создание корреспонденции счетов) в версии navision 3.6 при отсутствии фильтров удаляется вся корреспонденция счетов по последней транзакции, если же потом идет обращение к кодюниту 12404 и в таб.12401 создаются опять аналогичные строки. В четверке такого уже нет. Может кто разъяснит смысл таких действий?
OnPreDataItem() TransactionFilter := GETFILTER("Transaction No."); IF TransactionFilter = '' THEN BEGIN CorrespEntry.RESET; IF CorrespEntry.FIND('+') THEN BEGIN CorrespEntry.SETCURRENTKEY("Transaction No.","Debit Account No.","Credit Account No."); CorrespEntry.SETFILTER("Transaction No.",'%1',CorrespEntry."Transaction No."); CorrespEntry.DELETEALL; SETFILTER("Transaction No.",'%1..',CorrespEntry."Transaction No.") END; END ELSE BEGIN CorrespEntry.SETCURRENTKEY("Transaction No.","Debit Account No.","Credit Account No."); CorrespEntry.SETFILTER("Transaction No.",TransactionFilter); CorrespEntry.DELETEALL; END; OnAfterGetRecord() CorrespManagement.RUN("G/L Entry"); //вызов CU 12404 CurrReport.BREAK; |
|
30.08.2010, 11:02 | #2 |
Участник
|
Под рукой 3.6 нет, но из приведенного кода мне кажется что удалится только последняя транзакция:
Код: IF CorrespEntry.FIND('+') THEN BEGIN CorrespEntry.SETCURRENTKEY("Transaction No.","Debit Account No.","Credit Account No."); CorrespEntry.SETFILTER("Transaction No.",'%1',CorrespEntry."Transaction No."); //Здесь же фильтруется t12401 только по номеру последней транзакции? CorrespEntry.DELETEALL; ..... |
|
30.08.2010, 11:28 | #3 |
Участник
|
Вот именно. Предположим, что были учтены некоторые документы, сформированны строки в 17 таблице и теперь нужно по этим документам создать корреспонденцию счетов. Запускаем отчет 12430 без установки фильтров. Отчет выбирает последнюю транзакцию по которой создана корреспонденция счетов в таб 12401 (т.е. строки по ранее учтенному документу и созданным корреспонденциям), удаляет по ней все строки и отбирает строки в 17 таблице, начиная с этой же транзакции(т.е с того документа, который был учтен ранее и по которому уже были созданы строки корреспонденции), после чего уходит в кодюнит 12404,где заново создаются строки корреспонденции по предыдущему документу и по нашим учтенным документам. Какой смысл удалять ранее созданные строки по корреспонденции счетов?
|
|
30.08.2010, 11:45 | #4 |
Участник
|
Ну удаляет и удаляет, может это заплатка некая... В любом случае ошибок этот код не создает в данных, да время работы его небольшое...
|
|
30.08.2010, 15:45 | #5 |
Участник
|
Я вот думаю, если убрать это удаление, не всплывет ли это позже каким-нибудь боком?.. В четверке ведь этого уже нет
|
|