Рассмотрим классическую ситуацию, с которой сталкиваются многие компании при автоматизации: вы работали в 1С:Управление торговлей 10.3 без партионного учета, а затем решили его включить. Вы ввели начальные остатки по партиям на начало года, начали перепроводить документы, и партионный учет заработал. Но внезапно возникает проблема — появляется необходимость сделать корректировку или возврат по реализации прошлого года. При проведении документа Корректировка реализации система пытается вернуть партию из исходного документа, но там ее просто нет! В результате движения по партиям не формируются, себестоимость искажается, а партионный учет начинает ломаться.
Проанализируем эту ситуацию и разберем по шагам несколько эффективных способов решения данной проблемы, чтобы сохранить корректность данных в вашей базе.
Зачастую корректировки прошлых периодов (особенно если речь идет об уменьшении количества или возврате) методологически проще и безопаснее оформить не через штатную корректировку, а через документ Возврат товаров от покупателя.
Если вам критически важно использовать именно документ Корректировка реализации (например, для корректного отражения НДС или сохранения структуры подчиненности), но он упорно не делает движений по партиям, воспользуемся ручным вмешательством в регистры.
Разберем алгоритм действий:
Корректировка записей регистров.Партии товаров на складах (и, при необходимости, другие связанные регистры учета себестоимости).Этот способ позволяет точечно выровнять партионный учет, не нарушая логику работы исходного документа корректировки.
В некоторых версиях конфигурации и при определенных настройках политик учета в документе корректировки или возврата присутствует возможность прямого выбора партии. Посмотрим на этот вариант:
Откройте документ корректировки и проверьте наличие реквизита или колонки, отвечающей за выбор партии. Если система позволяет редактировать это поле, просто укажите любую подходящую партию из текущего года (например, из документа ввода остатков). Это даст системе точку опоры для расчета себестоимости.
Если возвраты и корректировки старых реализаций в вашей компании — это регулярный процесс, ручной труд менеджеров и бухгалтеров быстро станет нецелесообразным. В таком случае выясним, как можно автоматизировать процесс с помощью программирования 1С.
Программист может внести небольшую правку в модуль проведения документа или создать подписку на событие. Логика доработки выглядит следующим образом:
Оприходование товаров) или рассчитывает себестоимость возврата по текущей средней скользящей оценке на складе.Пример простейшей логики проверки в коде:
Если ДатаДокументаОснования < ДатаНачалаПартионногоУчета Тогда
// Обходим типовой контроль партий
// Подставляем служебный документ оприходования в качестве партии
СтрокаДвижений.ДокументОприходования = СлужебнаяПартия;
СтрокаДвижений.Стоимость = ПолучитьСреднююСтоимость(Номенклатура, Склад);
КонецЕсли;
Независимо от того, какой способ вы выберете, всегда помните критически важный нюанс: поскольку в прошлом году партионного учета не существовало, реальной себестоимости в разрезе партий по старым продажам в базе нет.
При возврате таких товаров вам придется вручную или экспертным путем определить, по какой стоимости возвращать товар на склад. Обычно за основу берут стоимость из документа ввода начальных остатков, текущую закупочную или рассчитанную среднюю стоимость. Если вы проигнорируете сумму и вернете на склад только количество, товар «повиснет» в регистрах партий без стоимости. В будущем, когда этот товар снова будет продан, его себестоимость спишется как нулевая, что приведет к сильному искажению отчетов по валовой прибыли и рентабельности.
Внимательно контролируйте регистр Партии товаров на складах после любых ручных манипуляций, и ваш учет останется точным и надежным!