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