При ведении партионного учета по методу ФИФО в программе «1С:Бухгалтерия предприятия 3.0» бухгалтеры и специалисты нередко сталкиваются с ситуацией, когда документ Отчет о розничных продажах списывает товары со счета 41.01 (или 41.02) с пустым третьим субконто Партии. При этом в оборотно-сальдовой ведомости остатки по номенклатуре и документам оприходования присутствуют, а контроль отрицательных остатков включен. Разберем механику этой ошибки и выясним причину такого поведения системы, а также рассмотрим пошаговые способы исправления.
В типовой конфигурации «1С:Бухгалтерия предприятия 3.0» при проведении документов списания МПЗ (включая розничные продажи) алгоритм проведения проверяет, заполнена ли явная сумма списания в табличной части документа. Если в строках табличной части Товары реквизит Себестоимость содержит числовое значение, отличное от нуля, программа считает, что пользователь или внешняя система явно задали фиксированную себестоимость списания.
В этом случае типовой партионный механизм ФИФО отключается:
41.01.41.01 на указанную сумму себестоимости, но без заполнения третьего субконто Партии (значение остается пустым).В типовом пользовательском интерфейсе поле Себестоимость в табличной части скрыто, поэтому при визуальном просмотре документа в программе значение кажется незаполненным. Чаще всего этот реквизит заполняется автоматически при синхронизации данных из внешних программ (например, «1С:Розница», «1С:Управление торговлей» или сторонних кассовых систем), если в правилах обмена передается предварительно рассчитанная себестоимость.
Проанализируем самый быстрый способ исправления уже проведенных документов в информационной базе без доработки конфигурации. Для этого воспользуемся стандартной обработкой Групповое изменение реквизитов.
Отчет о розничных продажах.Себестоимость), установим напротив него флаг изменения и оставим поле значения пустым (значение 0).После обнуления реквизита перепроведем документы. Алгоритм программы обратится к регистру остатков по счету 41.01 и корректно заполнит субконто Партии в хронологическом порядке поступлений.
Если обмен данными с внешней программой происходит регулярно, очищать реквизит вручную неудобно. Рассмотрим пример программного решения с использованием механизма расширений конфигурации. Создадим расширение и добавим обработчик события ПередЗаписью для документа ОтчетОРозничныхПродажах.
&Вместо("ПередЗаписью")
Процедура Расш_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Для Каждого Стр Из ЭтотОбъект.Товары Цикл
Если Стр.Себестоимость <> 0 Тогда
Стр.Себестоимость = 0;
КонецЕсли;
КонецЦикла;
ПродолжитьВызов(Отказ, РежимЗаписи, РежимПроведения);
КонецПроцедуры
Такой подход гарантирует, что даже при повторной загрузке данных из внешней торговой системы реквизит себестоимости будет автоматически очищаться перед записью, и типовой механизм ФИФО отработает штатно.
Разберем фундаментальное решение проблемы — устранение источника некорректных данных на уровне интеграции. Если обмен данными построен на формате EnterpriseData или нетиповых правилах конвертации, выполним следующие действия:
В результате «1С:Бухгалтерия предприятия» будет принимать только количество и продажную стоимость, рассчитывая списание по бухгалтерским регистрам остатков самостоятельно.
После того как реквизит себестоимости очищен во всех некорректных документах, выполним обязательные регламентные действия для приведения учета в порядок:
Корректировка стоимости номенклатуры.По завершении перепроведения сформируем отчет Оборотно-сальдовая ведомость по счету 41.01 с группировкой по субконто Номенклатура, Склады и Партии. Обороты по кредиту закроют соответствующие документы поступления, а пустые партии перестанут появляться в учете.