Почему в 1С:УПП 1.3 Поступление доп. расходов не видит характеристики и как это исправить

Программист 1С v8.3 (Обычные формы) Управленческий учет
← На главную

При переходе на использование характеристик в конфигурации 1С:Управление производственным предприятием (УПП) ред. 1.3 пользователи часто сталкиваются с неприятной ситуацией: старые партии товаров, которые были оприходованы без характеристик, а затем «наделены» ими через корректировки, перестают принимать на себя дополнительные расходы. Система выдает жесткую ошибку о том, что товар с указанной характеристикой не найден в исходном документе поступления. Разберем детально, почему так происходит, и какие пути решения существуют для исправления этой ситуации в рамках типового функционала и небольших доработок.

Суть технической проблемы

Проанализируем механизм работы документа Поступление доп. расходов. В 1С:УПП, если используется партионный учет, этот документ выполняет проверку не только по регистрам накопления (остаткам), но и проводит логическую сверку с табличной частью документа, который указан в колонке Документ партии. Выясним причину ошибки:

  1. Когда мы внедряем характеристики с помощью документа Корректировка серий и характеристик товаров, система делает движения по регистру Партии товаров на складах: она списывает количество без характеристики и приходует то же количество, но уже с характеристикой.
  2. При этом документ-партия (например, старое Поступление товаров и услуг) остается прежним. В его табличной части характеристика как была пустой, так и осталась.
  3. При проведении документа Поступление доп. расходов программа «заглядывает» внутрь этого первичного документа. Видя там пустую характеристику, она не может сопоставить её с той характеристикой, которую вы указали в доп. расходах, и выдает ошибку: «Не найден в документе... товар... х-ка: [Ваша характеристика]».

Таким образом, мы видим конфликт между актуальным состоянием регистра (где характеристика есть) и историческим состоянием первичного документа (где её нет). Для системы УПП это является нарушением целостности партионного учета.

Способ 1: Использование «Комплектации номенклатуры»

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

Проанализируем шаги выполнения этой операции:

  1. Вместо документа Корректировка серий и характеристик товаров используем документ Комплектация номенклатуры.
  2. В табличной части «Комплектующие» указываем наш товар БЕЗ характеристики.
  3. В шапке документа в поле «Номенклатура» указываем этот же товар, но уже с нужной ХАРАКТЕРИСТИКОЙ.
  4. После проведения этого документа у нас в регистре Партии товаров на складах появляется новая партия, где документом-источником выступает сама Комплектация номенклатуры.
  5. Теперь в документе Поступление доп. расходов в качестве документа партии мы выбираем именно эту Комплектацию.

В этом случае проверка пройдет успешно, так как в табличной части комплектации характеристика заполнена, и система увидит полное соответствие аналитики. Это «чистый» способ, не требующий программирования, однако он увеличивает количество документов в базе.

Способ 2: Использование «Оприходования товаров»

Если «Комплектация» по каким-то причинам не подходит (например, при очень больших объемах данных), рассмотрим вариант с инвентаризацией. Посмотрим на алгоритм:

  1. Проводим Списание товаров для позиций без характеристик.
  2. Проводим Оприходование товаров для тех же позиций, но уже с указанием характеристик.
  3. В документе Поступление доп. расходов указываем в качестве партии документ Оприходование товаров.

Важный нюанс: при оприходовании важно правильно указать себестоимость (цену), чтобы не исказить финансовый результат. Этот метод удобен, если переход на характеристики осуществляется глобально в рамках инвентаризации склада.

Способ 3: Программная корректировка первичных документов

Если документов очень много и период еще не закрыт (или есть возможность его открыть), некоторые администраторы баз данных прибегают к «силовому» методу. Выясним, в чем он заключается.

С помощью групповой обработки или небольшого скрипта характеристики проставляются непосредственно в старые документы Поступление товаров и услуг. Рассмотрим пример логики обработки на языке 1С:


// Пример упрощенной логики для обработки
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.ПоступлениеТоваровУслуг ГДЕ Дата МЕЖДУ &Начало И &Конец";
// ... установка параметров ...
Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл
    ОбъектДок = Результат.Ссылка.ПолучитьОбъект();
    Для Каждого СтрокаТЧ Из ОбъектДок.Товары Цикл
        Если СтрокаТЧ.Номенклатура = ИскомаяНоменклатура И ЗначениеНеЗаполнено(СтрокаТЧ.ХарактеристикаНоменклатуры) Тогда
            СтрокаТЧ.ХарактеристикаНоменклатуры = НужнаяХарактеристика;
        КонецЕсли;
    КонецЦикла;
    ОбъектДок.Записать(РежимЗаписиДокумента.Проведение); 
КонецЦикла;

Внимание! Этот метод крайне опасен. Перепроведение старых документов может «развалить» последовательность партионного учета, изменить суммы НДС в прошлых периодах и привести к непредсказуемым результатам в расчете себестоимости. Используйте его только в крайнем случае на копии базы и только в открытом периоде.

Анализ использования характеристик вместо качества

В ходе обсуждения часто возникает вопрос: «А почему бы не использовать механизм Качества (Новое, Брак, Б/У)?». Проанализируем разницу:

Резюме и рекомендации

Подведем итоги нашего анализа. Проблема в УПП 1.3 заключается в жесткой привязке документа Поступление доп. расходов к содержимому табличных частей документов партий.

Для решения задачи рекомендуем придерживаться следующей стратегии:

  1. Если внедрение характеристик происходит «на лету» для отдельных позиций — используйте Комплектацию номенклатуры. Это сохранит прозрачность учета.
  2. Если вы переходите на характеристики массово — рассмотрите вариант с полной инвентаризацией и использованием Оприходования как новой точки отсчета для партий.
  3. Избегайте использования документа Корректировка серий и характеристик в тех случаях, когда планируется последующее распределение затрат на эти товары, так как этот документ предназначен для изменения аналитики остатков, а не для трансформации партии.

Помните, что архитектура УПП 1.3 была спроектирована более 15 лет назад, и многие проверки в коде (ОбщегоНазначения.ПроверитьСоответствиеАналитики...) написаны с расчетом на неизменность первичного документа партии.

← На главную