|
|
#1 |
|
Участник
|
Доброго времени суток.
При проведении пакетного задания Фин. Учет Себест. Товаров, некорректно была настроена одна группа учета и следовательно результат задания некорректен. Как правильно и повозможности без ручного ввода (ибо некорректных операций больше двухсот) исправить/сторнировать эти опрерации? Заранее благодарен, за вразумительные ответы. NAV5 SP1 SQL
__________________
Просто я из того поколения, которое кот Матроскин учил правильно есть бутерброды, а не Картман - материться... |
|
|
|
|
#2 |
|
Участник
|
Нужно зайти в фин. регистры - форма 116. Выбрать нужный регистр и воспользоваться функцией "Аннулировать Регистр".
|
|
|
|
|
#3 |
|
Участник
|
А разве после этого "Фин. учтенная Себестоимость" в таблице "Стоимость Операция" обнулится?
|
|
|
|
|
#4 |
|
Участник
|
|
|
|
|
|
#5 |
|
Участник
|
ох, а как-нибудь без доработок?
__________________
Просто я из того поколения, которое кот Матроскин учил правильно есть бутерброды, а не Картман - материться... |
|
|
|
|
#6 |
|
Участник
|
Руками поменять Фин. счет в GL Entry.
|
|
|
|
|
#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; |
|
|
|
|
#8 |
|
Участник
|
Цитата:
Хм, еще ж нужно всякие галочки поснимать, что себестоимость скорректирована. А то при следующем запуске он эти старые не будет корректировать |
|
|
|
|
#9 |
|
Участник
|
|
|
|
|
|
#10 |
|
Участник
|
|
|
|
|
|
#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 должна быть хотя бы. Что касательно вопроса топикстартера там еще придется настроечки учета поправить, изменить фин. счета перед повторным фин. учетом. |
|
|
|
|
#12 |
|
Участник
|
Кстати, если фин. учет запускался не по товарным операциям, а по учетным группам, боюсь, что эти докрутки отработают некорректно
|
|
|
|
|
#13 |
|
Участник
|
|
|
|