Показать сообщение отдельно
Старый 28.02.2017, 12:16   #1  
FreeD is offline
FreeD
Участник
 
17 / 21 (1) +++
Регистрация: 24.04.2012
Адрес: Москва
Сторнирование ОС с начисленной амортизацией.
Коллеги, добрый день. Нужна помощь. MS Ax 2009.
Предыстория:
1) Купили ОС, начисляли накладные расходы, ввели в эксплуатацию и начали начислять амортизацию.
Дата проводки ОСа 01.09.2016.
Амортизация проводилась до 31.12.2016.
Поняли, что ОС нужно отсорнировать и разложить на запчасти, продать 1 из запчастей.
Соответственно, есть журнал ввода в эксплуатацию. Соответственно есть журналы начисления ежемесячной амортизации. Начинаю делать сторнирование амортизации через журнал ГК и вроде как стандартной процедурой в строках журнала / операции / сторно амортизации, в соответствии от даты первой амортизации создаются строки, журнал разношу, проверяю. Все ок.
Настало время сделать сторнирование по моделям учета при помощи стандартной кнопки "сторнировать проводку". Что самое замечательное в данной ситуации. Если начинать сторнировать с модели учета "RAP" (дата начала текущего месяца, т.к. если оставить дату ввода в эксплуатация, Акс ругается на закрытие месяца/периода/склада), получаю ошибку след. содержания:

Невозможно создать запись в Сопоставления ГК (LedgerTransSettlement). Ссылка: 0, ИД0861880.
Запись уже существует.

Если же сторнировать через стандартную кнопку по другой модели учета (TAX налог.), то проводка сторнируется без ошибок.

Проверил таблицу LedgerTransSettlement, действительно есть записи.
RecId = 5638156831
SettleId = ИД0733504
TransRecId = 5659173792
запись есть, но она ссылается на несуществующую запись LedgerTrans.RecId
--------------------------------------
RecId = 5659173824
SettleId = ИД0733536
TransRecId = 5659173824
--------------------------------------
Обе они по полю TransRecId ссылаются на несуществующие записи LedgerTrans, в результате чего и формируются две записи "рассопоставления" с нулями в поле TransRecId, что и приводит к ошибке.
Ошибка возникает в методе LedgerTrans.reverseSettlement(...), при втором вызове из LedgerVoucher.post().

Что делать? Как быть?
Да, хочу сразу добавить, действительно есть сопоставления по номенклатуре, начисление накл. расходов.