14.04.2009, 10:17 | #1 |
Участник
|
Доброго времени суток.
При проведении пакетного задания Фин. Учет Себест. Товаров, некорректно была настроена одна группа учета и следовательно результат задания некорректен. Как правильно и повозможности без ручного ввода (ибо некорректных операций больше двухсот) исправить/сторнировать эти опрерации? Заранее благодарен, за вразумительные ответы. NAV5 SP1 SQL
__________________
Просто я из того поколения, которое кот Матроскин учил правильно есть бутерброды, а не Картман - материться... |
|
14.04.2009, 12:36 | #2 |
Участник
|
Нужно зайти в фин. регистры - форма 116. Выбрать нужный регистр и воспользоваться функцией "Аннулировать Регистр".
|
|
14.04.2009, 13:26 | #3 |
Участник
|
А разве после этого "Фин. учтенная Себестоимость" в таблице "Стоимость Операция" обнулится?
|
|
14.04.2009, 15:44 | #4 |
Участник
|
|
|
15.04.2009, 09:16 | #5 |
Участник
|
ох, а как-нибудь без доработок?
__________________
Просто я из того поколения, которое кот Матроскин учил правильно есть бутерброды, а не Картман - материться... |
|
15.04.2009, 10:21 | #6 |
Участник
|
Руками поменять Фин. счет в GL Entry.
|
|
15.04.2009, 12:00 | #7 |
Участник
|
Поставьте нужный фильтр и наслаждайтесь:
Код: Dlg.OPEN('Идет Процесс @1@@@@@@@@@@@@@@@@@'); ValueEntry.RESET; ValueEntry.SETRANGE(поле,значение); ILECount := ValueEntry.COUNT; IF ValueEntry.FIND('-') THEN REPEAT I+= 1; IF GLEntry.GET(ValueEntry."G/L Entry No. (Account)") THEN BEGIN IF GLEntry.GET(ValueEntry."G/L Entry No. (Account)") THEN GLEntry.DELETE; IF GLEntry.GET(ValueEntry."G/L Entry No. (Bal. Account)") THEN GLEntry.DELETE; GLCorr.RESET; GLCorr.SETRANGE("Debit Entry No.",ValueEntry."G/L Entry No. (Account)"); IF GLCorr.FIND('-') THEN GLCorr.DELETE; GLCorr.RESET; GLCorr.SETRANGE("Debit Entry No.",ValueEntry."G/L Entry No. (Bal. Account)"); IF GLCorr.FIND('-') THEN GLCorr.DELETE; GLCorr.RESET; GLCorr.SETRANGE("Credit Entry No.",ValueEntry."G/L Entry No. (Account)"); IF GLCorr.FIND('-') THEN GLCorr.DELETE; GLCorr.RESET; GLCorr.SETRANGE("Credit Entry No.",ValueEntry."G/L Entry No. (Bal. Account)"); IF GLCorr.FIND('-') THEN GLCorr.DELETE; ValueEntry."G/L Entry No. (Account)" := 0; ValueEntry."G/L Entry No. (Bal. Account)" := 0; ValueEntry."Cost Posted to G/L" := 0; ValueEntry."Cost Posted to G/L (ACY)" := 0; ValueEntry.MODIFY; END; Dlg.UPDATE(1,ROUND(I/ILECount*10000,1)); UNTIL ValueEntry.NEXT = 0; Dlg.CLOSE; |
|
15.04.2009, 15:15 | #8 |
Участник
|
Цитата:
Хм, еще ж нужно всякие галочки поснимать, что себестоимость скорректирована. А то при следующем запуске он эти старые не будет корректировать |
|
15.04.2009, 15:27 | #9 |
Участник
|
|
|
15.04.2009, 15:32 | #10 |
Участник
|
|
|
15.04.2009, 17:25 | #11 |
Участник
|
T179
[codebox]CheckEntries() .................................... IF GLEntry.FIND('-') THEN BEGIN IF GLEntry."Journal Batch Name" = '' THEN TestFieldError; REPEAT CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount); //////////////UndoCostPosting///////////////// IF ValueEntry.GET(GLEntry."Value Entry No.") THEN BEGIN ValueEntry."G/L Entry No. (Account)" := 0; ValueEntry."G/L Entry No. (Bal. Account)" := 0; ValueEntry."Cost Posted to G/L" := 0; ValueEntry."Cost Posted to G/L (ACY)" := 0; ValueEntry.MODIFY; END; //////////////UndoCostPosting///////////////// UNTIL GLEntry.NEXT = 0; END; .............................................................. [/codebox] Вот фрагментик. Еще проверка кода аудита в функции TestFieldError должна быть хотя бы. Что касательно вопроса топикстартера там еще придется настроечки учета поправить, изменить фин. счета перед повторным фин. учетом. |
|
16.04.2009, 10:10 | #12 |
Участник
|
Кстати, если фин. учет запускался не по товарным операциям, а по учетным группам, боюсь, что эти докрутки отработают некорректно
|
|
16.04.2009, 10:40 | #13 |
Участник
|
|
|