В практической деятельности производственных предприятий часто возникает классический конфликт интересов между складской логистикой и бухгалтерией. Кладовщику необходимо выдать материалы рабочим прямо сейчас «по факту», оперативно отразив это в системе и не допуская пересортицы. Бухгалтеру же требуется выверенная аналитика затрат: счета учета, статьи затрат, номенклатурные группы и спецификации, которых на момент физического отпуска материалов у кладовщика попросту нет.
При попытке реализовать эту схему в конфигурации 1С:Управление производственным предприятием (УПП) пользователи сталкиваются с жестким ограничением системы: документ Расходный ордер на товары не может выступать основанием для создания документа Требование-накладная. В этой статье мы подробно разберем причины такого поведения системы и рассмотрим эффективные варианты обхода этого ограничения.
Для того чтобы понять логику разработчиков фирмы 1С, проанализируем структуру и назначение этих двух документов:
По методологии 1С, распоряжением на списание всегда должен выступать документ, содержащий финансовую или плановую аналитику. Поэтому в системе реализована строго обратная последовательность: сначала оформляется финансовое распоряжение (документ Требование-накладная), а уже на его основании кладовщик выписывает Расходный ордер на товары для фиксации факта отпуска.
Но как быть, если на предприятии «плана нет» (рабочие приходят из цеха и берут детали по факту), а автоматизировать складской учет и убрать пересортицу с помощью штрихкодирования нужно уже сейчас? Рассмотрим рабочие варианты решения этой проблемы.
Это наиболее гибкий, методологически верный и популярный способ организации учета в УПП, не требующий изменения конфигурации. Проанализируем схему его работы по шагам:
Перемещение товаров с основного склада на склад «Кладовая цеха №1».
Поскольку основной склад является ордерным, программа потребует выписать Расходный ордер на товары на основании этого перемещения. Физический уход материалов со склада зафиксирован, пересортица исключена.
Требование-накладная, в котором списывает ТМЦ со склада «Кладовая цеха №1» непосредственно на затраты (20 или 25 счет) с указанием точной аналитики и номенклатурных групп.Если в цехе остаются неиспользованные материалы, они продолжают числиться за кладовой цеха, что позволяет контролировать остатки материалов непосредственно на производстве.
Малоизвестная, но полезная особенность 1С:УПП заключается в том, что права и видимость полей в документах можно гибко разграничить. У документа Требование-накладная есть флаги отражения в различных видах учета (управленческий, бухгалтерский, налоговый).
Мы можем настроить процесс следующим образом:
Требование-накладная, заполняет фактическое количество (возможно, используя терминал сбора данных) и проводит его только по управленческому учету (флаг «Отразить в упр. учете» включен, флаги БУ и НУ выключены). Это списывает материалы со склада оперативно.Если на предприятии планируется внедрение штрихкодирования и использование терминалов сбора данных (ТСД), процесс можно автоматизировать на уровне кода. Кладовщик с помощью ТСД фиксирует выдачу, создавая документы Расходный ордер на товары (так как ТСД работает в рамках складского контура).
Чтобы избавить бухгалтера от ручной работы, мы можем написать обработку, которая будет собирать проведенные расходные ордера и автоматически создавать на их основе заполненные документы Требование-накладная.
Рассмотрим пример шаблона кода для такой обработки:
// Пример создания Требования-накладной на основании Расходного ордера
Процедура СоздатьТребованиеНаОснованииОрдера(СсылкаНаОрдер)
// Создаем новый документ
НовоеТребование = Документы.ТребованиеНакладная.СоздатьДокумент();
НовоеТребование.Дата = ТекущаяДата();
НовоеТребование.Организация = СсылкаНаОрдер.Организация;
НовоеТребование.Склад = СсылкаНаОрдер.Склад;
НовоеТребование.ОтражатьВБухгалтерскомУчете = Истина;
НовоеТребование.ОтражатьВУправленческомУчете = Истина;
// Заполняем табличную часть материалы на основе данных ордера
Для Каждого СтрокаОрдера Из СсылкаНаОрдер.Товары Цикл
НоваяСтрока = НовоеТребование.Материалы.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаОрдера);
// Автоматически подставляем счета учета и затрат по умолчанию
НоваяСтрока.СчетУчета = СчетУчетаПоУмолчанию(СтрокаОрдера.Номенклатура);
НоваяСтрока.СчетЗатрат = ПланыСчетов.Хозрасчетный.ОсновноеПроизводство;
КонецЦикла;
Попытка
НовоеТребование.Записать(РежимЗаписиДокумента.Проведение);
Сообщить("Успешно создано Требование-накладная: " + НовоеТребование.Ссылка);
Исключение
Сообщить("Ошибка проведения документа: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Такой подход позволяет сохранить удобство работы кладовщика со штрихкодами на складе и гарантирует своевременное отражение операций в бухгалтерском учете без нарушения типовой логики работы конфигурации.