Почему при вводе начальных остатков товаров в 1С программа требует заполнить поле «Партия» и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Торговля и дистрибуция
← На главную

При начале работы в программах семейства 1С (таких как 1С:ERP Управление предприятием, 1С:Комплексная автоматизация или 1С:Управление торговлей 11) пользователи часто сталкиваются с неожиданным поведением системы. Одной из распространенных проблем является требование обязательно заполнить поле Партия в документе «Ввод начальных остатков собственных товаров». Это вызывает недоумение, если в компании официально не ведется партионный учет или применяется метод оценки стоимости «По средней».

В этой статье мы подробно разберем, по каким причинам система делает это поле обязательным, проанализируем программную логику конфигураций и рассмотрим практические варианты решения этой проблемы.

Выясним причину: почему программа требует указать партию?

Для начала проанализируем внутреннее устройство системы. За отображение и проверку заполнения поля Партия на форме документа ввода остатков отвечает программный код конфигурации. Давайте обратимся к фрагменту кода, который управляет условным оформлением и видимостью этого реквизита:


КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.СобственныеТоварыПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПолученныеНаКомиссиюПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеНаКомиссиюПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПринятаяТараПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеПереработчикамПартия.Имя);
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(Элемент.Поля, Элементы.ПереданныеВПроизводствоТоварыПартия.Имя);

КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "МетодОценкиСтоимости", Перечисления.МетодыОценкиСтоимостиТоваров.ФИФОСкользящаяОценка, ВидСравненияКомпоновкиДанных.НеРавно);
КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Элемент.Отбор, "Объект.НалогообложениеНДС", Перечисления.ТипыНалогообложенияНДС.ПоФактическомуИспользованию, ВидСравненияКомпоновкиДанных.НеРавно);

Как мы видим из этого кода, программа накладывает отбор на доступность и обязательность заполнения партий. Поле становится видимым и обязательным к заполнению в двух ключевых случаях:

  1. Метод оценки стоимости товаров установлен как ФИФО (скользящая оценка).
  2. В системе включено налогообложение НДС «По фактическому использованию» (раздельный учет НДС).

Рассмотрим подробнее каждый из этих факторов, а также сопутствующие скрытые настройки, влияющие на проведение документа.

Разберем по шагам ключевые факторы влияния

1. Метод оценки стоимости товаров (ФИФО)

Если в учетной политике организации на дату ввода остатков выбран метод оценки стоимости ФИФО (скользящая оценка) или ФИФО (взвешенная оценка), программа обязана вести детальный учет каждой партии. ФИФО по определению подразумевает списание запасов в хронологическом порядке их поступления. Следовательно, при вводе остатков программа должна точно знать, к какому документу поступления относится каждая единица товара на складе. Без этого дальнейший корректный расчет себестоимости и списание товаров будут невозможны. Для работы с документами в условиях партионного учета можно использовать инструмент для просмотра и подбора партий товаров.

2. Раздельный учет НДС (по фактическому использованию)

Даже если у вас установлен метод оценки стоимости «По средней», поле Партия может стать обязательным из-за настроек НДС. Если в учетной политике включена опция раздельного учета НДС, программе критически важно отслеживать историю происхождения каждого товара: по какой ставке НДС он был приобретен, у какого поставщика, и был ли этот НДС принят к вычету. Партия в данном случае выступает в качестве ключевого разреза аналитики для формирования корректной отчетности по НДС и последующего распределения налога.

3. Налоговый учет при УСН (Доходы минус расходы)

Для организаций, применяющих упрощенную систему налогообложения со схемой «Доходы минус расходы» (УСН 15%), действует строгое правило Налогового кодекса: расходы на товары принимаются только после их оприходования, оплаты поставщику и последующей реализации покупателю. Чтобы система могла связать оплату поставщику с конкретной продажей товара, ей необходим сквозной партионный учет. Именно поэтому при вводе начальных остатков программа в обязательном порядке потребует указать документ партии.

4. Глобальные функциональные опции системы

Иногда пользователи меняют настройки учетной политики организации, но забывают про общие константы системы. В разделе меню НСИ и администрирование -> Финансовый результат и контроллинг -> Учет товаров присутствует глобальный флаг Партионный учет. Если эта опция активирована на уровне всей системы, то при определенных релизах конфигурации программа может требовать указания партий в документах ввода остатков даже для тех организаций, у которых в учетной политике задана оценка «По средней».

5. Настройки серийного учета в номенклатуре

Проанализируем карточки номенклатуры, по которым вводятся остатки. Если для вида номенклатуры настроена политика учета серий с типом Управление по сериям или серия идентифицирует партию товара, то система автоматически приравнивает серию к партии. В этом случае поле также станет обязательным для заполнения.

Посмотрим на программный алгоритм получения учетной политики

Для того чтобы понять, почему в двух одинаковых базах с идентичной учетной политикой система может вести себя по-разному, посмотрим на код запроса, который определяет параметры учетной политики на дату документа:


Перем ЗначениеПараметра;
Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	СправочникУчетныеПолитики.%1 КАК ЗначениеПараметра
	|ИЗ
	|	РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&Период, Организация = &Организация) КАК РегистрУчетныеПолитики
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.УчетныеПолитикиОрганизаций КАК СправочникУчетныеПолитики
	|		ПО РегистрУчетныеПолитики.УчетнаяПолитика = СправочникУчетныеПолитики.Ссылка";

Запрос.УстановитьПараметр("Период", НачалоМесяца(Дата));
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Запрос.Текст, ИмяПараметра);

Выборка = Запрос.Выполнить.Выбрать;
Если Выборка.Следующий Тогда
	ЗначениеПараметра = Выборка.ЗначениеПараметра;
КонецЕсли;

Если НЕ ЗначениеЗаполнено(ЗначениеПараметра) Тогда
	ЗначениеПараметра = ЗначениеПоУмолчанию;
КонецЕсли;

Возврат ЗначениеПараметра;

Обратите внимание на строку Запрос.УстановитьПараметр("Период", НачалоМесяца(Дата));. Система определяет параметры вашей учетной политики строго по состоянию на начало месяца той даты, которая указана в документе ввода остатков. Если даты документов или периоды действия учетных политик в двух базах различаются хотя бы на один день, логика работы формы может кардинально измениться.

Практические способы решения проблемы

Если вы детально проанализировали ситуацию и пришли к выводу, что подробный исторический учет партий вам действительно не нужен, но система все равно не дает провести документ без заполнения этого поля, воспользуйтесь следующими проверенными решениями:

Решение 1. Проверка и корректировка дат документов

Убедитесь, что дата документа «Ввод начальных остатков собственных товаров» строго соответствует правилам методологии 1С. Традиционно остатки вводятся последней секундой дня, предшествующего началу ведения учета. Например, если официальный учет в системе начинается с 01.01.2018, то все документы ввода остатков должны быть датированы 31.12.2017 (23:59:59). Если вы случайно создадите документ датой 01.04.2018, система применит к нему правила новой учетной политики со всеми вытекающими жесткими требованиями к проверке партионного учета.

Решение 2. Использование технического документа партии

Если обойти проверку штатными настройками не удается (например, у вас УСН 15% или раздельный НДС, где партионный учет обязателен по закону), вы можете использовать механизм упрощенного ввода:

Этот простой прием позволит успешно провести документы ввода остатков и при этом избежать необходимости детально восстанавливать всю цепочку прошлых закупок у реальных поставщиков.

Решение 3. Использование отладчика для точечной диагностики

Если поведение баз все равно различается при абсолютно одинаковых настройках, наиболее надежный путь — запустить отладчик. Программисту необходимо установить точку останова в общем модуле или модуле менеджера документа на строке вызова функции МетодОценкиСтоимостиТоваровОрганизации. Это позволит в режиме реального времени посмотреть, какие именно значения параметров считывает система из регистров сведений вашей информационной базы и почему алгоритм принимает решение сделать поле обязательным.

← На главную