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