Add new comment
УТ 11. Значение поля "Аналитика учета номенклатуры" не может быть пустым!
Сегодня довелось решать очень интересную задачу. Заказчик меняет одну номенклатуру на другую в документе «Реализация товаров и услуг» и при попытке проведения документа получает ошибку:
«Запись не верна! Значение поля "Аналитика учета номенклатуры" не может быть пустым! (Регистр накопления: Себестоимость товаров; Номер строки 1)»
Первым делом проверил остатки по новой номенклатуре в разрезе характеристик и складов, затем посмотрел аналитику учета затрат. И там, и там все было в порядке.
Ошибка обнаружилась в самом документе «Реализация товаров и услуг», а вернее в его табличной части «Виды запасов». Дело в том, что эта табличная часть заполняется при проведении документа, но почему-то не очищается при изменении и даже при отмене проведения. Иными словами, в ней осталась старая номенклатура. Далее, при проведении программа пыталась подобрать аналитику учета затрат новой номенклатуры, но для старого вида запасов и, соответственно, у нее это не получалось.
Конфигурация на поддержке, поэтому вносить изменения в код было недопустимо. На помощь пришла старая, добрая обработка «Универсальный подбор и обработка объектов» с произвольным алгоритмом в две строки:
Объект.ВидыЗапасов.Очистить();
Объект.Записать();