Проблема
После применения накопительного пакета 6 (KB2405516) федеральная форма NF-e будет пустой. Вы не сможете проверить состояние, связанное с ранее размещенными федеральными счетами NF-e, и невозможно узнать, какие меры следует предпринять.
Причина
В классе RelaseUpdateDB60_Cust имеется дефект кода, updateReferencesInEFDocument_BR метод.
Этот метод обновляет EFDocument_BR таблицы, чтобы он всегда ссылались на FiscalDocJour_BR таблицу. В предыдущих версиях EFDocument_BR использовались для хранения ссылок на счет, который был создан бразильским финансовым документом, например CustInvoiceJour и VendInvoiceJour. Теперь пара полей RefTableId и RefRecId всегда будет ссылаться на таблицу бразильских финансовых документов: FiscalDocJour_BR.
При выполнении этого метода в среде с накопительным пакетом 5, из которой были созданы новые NF-e, эти NF-e (которые уже были в порядке) теряют свои связи с FiscalDocJour_BR, что приводит к пустой форме. Этот метод должен выполняться только для ссылок NF-e на CustInvoiceJour и VendInvoiceJour.
Решение
Мы настоятельно рекомендуем выполнить полное резервное копирование базы данных AX перед выполнением действий, описанных в этой статье базы знаний.
1. Когда следует применить исправление
После применения пакета RU6 запустите клиент AX и отобразится "Контрольный список обновления". Перед запуском "Presynchronize" необходимо применить это исправление.
2. Откройте AOT и вставьте следующую инструкцию WHERE в класс RelaseUpdateDB60_Cust, updateReferencesInEFDocument_BR метод.
До:
при выборе параметра forupdate eFDocument
{
fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
eFDocument.RefTableId = fiscalDocJour.TableId;
eFDocument.RefRecId = fiscalDocJour.RecId;
eFDocument.doUpdate();
}
После:
при выборе параметра forupdate eFDocument
where eFDocument.RefTableId != tablenum(FiscalDocJour_BR)
{
fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
eFDocument.RefTableId = fiscalDocJour.TableId;
eFDocument.RefRecId = fiscalDocJour.RecId;
eFDocument.doUpdate();
}