В процессе автоматизации складского учета и производственных контуров на базе решений 1С:ERP Управление предприятием или 1С:Управление торговлей 11 специалисты часто сталкиваются с неочевидным поведением системы при оформлении цепочки документов сборки и разборки. Типичный сценарий: предприятие разбирает комплект на комплектующие, а затем из полученных компонентов собирает новые изделия. Однако после проведения процедуры закрытия месяца выясняется, что себестоимость собранного комплекта рассчитана некорректно либо вовсе равна нулю, а в регистре Партии товаров организаций расход комплектующих отражается исключительно в количественном выражении без суммовой оценки.
В этой статье мы подробно разберем, как устроена архитектура партионного учета при сборке и разборке, проанализируем основные причины возникновения данной проблемы и выработаем пошаговый алгоритм её решения.
Для начала проанализируем, как система 1С:ERP (и аналогично УТ 11 / КА 2) распределяет движения по регистрам при проведении этих складских операций. В системе параллельно задействуются два ключевых контура учета:
При оформлении операции Разборка на комплектующие исходный комплект списывается из регистра Партии товаров организаций, а полученные в результате разборки комплектующие приходуются в этот же регистр. Но на момент проведения документа их точная стоимость еще неизвестна (она определится только при расчете партий). Поэтому приход в партии пишется только количеством, а стоимостная оценка временно фиксируется в регистре Партии затрат на выпуск.
При последующей операции Сборка товаров система должна списать комплектующие из регистра Партии товаров организаций и передать их стоимость в регистр Партии затрат на выпуск для формирования себестоимости нового изделия. Если на этом шаге себестоимость комплектующей не определилась, то итоговый собранный комплект также получит нулевую или искаженную стоимость.
Выясним основные причины, почему ломается эта цепочка передачи стоимости.
Это наиболее распространенная методологическая ошибка пользователей. Когда мы разбираем комплект, система должна как-то распределить накопленную себестоимость исходного комплекта между полученными комплектующими. Для этого в документе Сборка (разборка) товаров с видом операции «Разборка на комплектующие» предусмотрена колонка «Доля стоимости».
Если доли стоимости не заполнены (равны нулю) или распределены некорректно, программа оприходует полученные комплектующие с нулевой себестоимостью. В дальнейшем при сборке нового изделия из этих деталей программа спишет их по нулевой цене. Рассмотрим, как это исправить:
Каждая номенклатурная позиция хранится в системе не просто на складе, а в разрезе уникальных ключей аналитики. Ключевым разрезом здесь выступает справочник Виды запасов. Вид запасов определяет, является ли товар собственным, комиссионным, к какому налогообложению он относится и по какому документу (или номеру ГТД для импорта) он поступил.
Если при разборке комплектующие оприходовались по одному виду запасов (например, «Собственный товар, облагаемый НДС»), а в документе сборки система пытается списать их по другому виду запасов («Собственный товар, не облагаемый НДС» или «Комиссионный товар»), программа не сможет сопоставить партию списания с партией прихода. В результате себестоимость не перенесется, а при закрытии месяца мы получим отрицательные остатки по разделу партионного учета. Для устранения подобных ошибок подойдёт обработка для исправления отрицательных остатков товаров организаций при закрытии месяца.
Проанализируем ситуацию с помощью отчетов:
Аналитика учета номенклатуры, Вид запасов и Номер ГТД.Для поиска расхождений видов запасов мы можем написать проверочный запрос в консоли отчетов. Посмотрим на пример структуры такого запроса:
ВЫБРАТЬ
ТоварыОрганизаций.Номенклатура КАК Номенклатура,
ТоварыОрганизаций.ВидЗапасов КАК ВидЗапасов,
ТоварыОрганизаций.Организация КАК Организация,
СУММА(ТоварыОрганизаций.КоличествоОборот) КАК КоличествоОборот
ИЗ
РегистрНакопления.ТоварыОрганизаций.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ТоварыОрганизаций
СГРУППИРОВАТЬ ПО
ТоварыОрганизаций.Номенклатура,
ТоварыОрганизаций.ВидЗапасов,
ТоварыОрганизаций.Организация
Этот запрос наглядно покажет, по каким именно видам запасов происходили движения в рамках интересующего нас периода.
Даже если документы сборки и разборки созданы в один и тот же день, для партионного учета критически важна точная последовательность их проведения по времени (вплоть до секунды).
Если документ «Сборка» по времени проведен хотя бы на секунду раньше, чем документ «Разборка», то в момент проведения «Сборки» система зафиксирует «оперативный минус» по комплектующей (так как разборка, давшая нам эту деталь, еще не произошла в хронологической ленте базы данных). При последующем расчете себестоимости программа спишет партию без стоимости из-за возникшего временного разрыва.
Рассмотрим порядок исправления хронологии:
В современных редакциях конфигураций 1С партионный учет рассчитывается в фоновом режиме. За это отвечает регламентное задание «Формирование движений по партиям». Если это задание отключено, зависло или выполняется с ошибками, движения по регистру Партии затрат на выпуск и Партии товаров организаций могут быть неактуальными.
Разберем, как проверить работу регламентного задания:
Если ваше предприятие использует устаревшие версии конфигураций (например, ERP 2.1.3 или УТ 11.1), вы можете столкнуться с ограничениями так называемого «однопроходного» расчета партий. В старых алгоритмах система сначала рассчитывала партии потребления (расход), а уже затем — партии выпуска (затраты). Если обе операции проходили в одном отчетном периоде, программе физически не хватало информации, чтобы передать стоимость по цепочке «Разборка -> Комплектующие -> Сборка нового изделия» за один цикл.
В актуальных версиях систем (начиная с ERP 2.4 и в современных 2.5) разработчики 1С перешли на итерационный алгоритм расчета себестоимости. Теперь процедура расчета в рамках закрытия месяца выполняет несколько проходов (циклов) по цепочкам затрат, постепенно передавая рассчитанную стоимость от первичных источников к конечной продукции. Для планового перехода на новые релизы и автоматизации технического обслуживания системы можно использовать Обновлятор 1С для архивации и обновления баз по расписанию.
Если обновить конфигурацию до актуального релиза не представляется возможным, рассмотрите изменение метода оценки стоимости в учетной политике предприятия на «Средняя за месяц». При этом методе система рассчитывает средневзвешенную стоимость за весь период на основании регистра Себестоимость товаров, что позволяет обойти жесткие ограничения партионного контура и успешно рассчитать себестоимость даже при сложных переделах внутри одного месяца.
Если после выполнения закрытия месяца себестоимость собранного изделия остается нулевой, последовательно выполните следующие шаги:
Систематическое соблюдение этих правил позволит вам избежать ошибок в расчете себестоимости и гарантирует получение корректных финансовых результатов деятельности вашего предприятия.