Почему не проводится «Оприходование излишков товаров» в 1С:УТ 11 и как исправить ошибку «Вид запасов не может быть пустым»?

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

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

Анализируем причину ошибки в регистре «Даты поступления товаров организаций»

Для начала проанализируем, почему возникает это сообщение. Ошибка фиксируется в регистре сведений ДатыПоступленияТоваровОрганизаций. Этот регистр является вспомогательным и используется механизмом партионного учета (версии 2.2 и выше) для определения момента возникновения права собственности на товар и корректного формирования проводок по себестоимости.

Ключевым полем здесь выступает Вид запасов. В системе 1С Вид запасов — это аналитический разрез, который определяет, чей это товар (собственный, комиссионный), какой организации он принадлежит и под какое Назначение он зарезервирован. Если документ пытается записать строку в регистр, но система не может автоматически определить, к какому виду запасов относится этот излишек, поле остается пустым. Поскольку в структуре регистра это поле является обязательным, платформа выдает ошибку записи.

Метод 1. Очистка скрытых «Назначений» в табличной части

Как показывает практика, чаще всего проблема связана с колонкой Назначение в табличной части товаров. Даже если вы отключили функциональную опцию Использовать обособленное обеспечение заказов, и поле визуально исчезло из формы документа, данные в самой базе могли остаться заполненными. Это происходит, если документ был создан до изменения настроек или скопирован из старого документа.

Разберем, как принудительно очистить эти данные:

  1. Откройте обработку «Групповое изменение реквизитов» (раздел «НСИ и администрирование» — «Обслуживание» — «Корректировка данных»).
  2. Выберите объект Оприходование излишков товаров.
  3. Нажмите кнопку «Дополнительные параметры» и установите флаг «Показывать служебные реквизиты».
  4. Перейдите во вкладку «Товары» (табличная часть).
  5. Найдите реквизит Назначение. Если он заполнен ссылкой на какой-либо заказ или складскую потребность, установите значение «Пустая ссылка».
  6. Выполните изменение. После этого попробуйте провести документ снова.

Метод 2. Проверка настройки видов запасов

Если оприходование должно происходить именно под конкретное Назначение (например, под конкретный заказ клиента), но система все равно ругается, необходимо проверить корректность настройки видов запасов. Рассмотрим работу в специализированном рабочем месте:

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

Метод 3. Анализ настроек обособленного учета себестоимости

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

Зайдите в «НСИ и администрирование» — «Настройка НСИ и разделов» — «Финансовый результат и контроллинг» — «Учет товаров». Обратите внимание на флаг «Обособленный учет себестоимости по назначениям».

Если эта опция включена, система требует, чтобы каждый вид запасов был жестко привязан к назначению. Если вы пытаетесь оприходовать товар без указания назначения в документе (пустая ячейка), а Группа финансового учета (ГФУ) номенклатуры предполагает обособление — возникает конфликт. В таком случае необходимо либо указать Назначение в строке товара, либо пересмотреть настройки ГФУ в карточке номенклатуры.

Метод 4. Особенности работы на СУБД PostgreSQL

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

  1. Перезапустите службу «Агент сервера 1С:Предприятия 8.3».
  2. Очистите локальный кэш конфигурации на рабочем месте пользователя (удаление базы из списка и повторное добавление или использование параметра /ClearCache).
  3. Если у вас есть доступ к консоли запросов SQL, выполните команду очистки планов: DISCARD PLANS; (выполнять должен системный администратор).

Метод 5. Использование кода для программного исправления

Если документов много и ручная правка через интерфейс неэффективна, рассмотрим пример кода, который можно использовать во внешней обработке для очистки битых ссылок в табличной части Товары. Это позволит «протолкнуть» проведение документа, очистив поле ВидЗапасов, которое система пытается заполнить неверно.


// Пример кода для очистки проблемных реквизитов в документе
ОбъектДок = ДокументСсылка.ПолучитьОбъект();
Для Каждого СтрокаТовар Из ОбъектДок.Товары Цикл
    // Очищаем назначение, если оно мешает формированию вида запасов
    Если ЗначениеЗаполнено(СтрокаТовар.Назначение) Тогда
        СтрокаТовар.Назначение = Справочники.Назначения.ПустаяСсылка();
    КонецЕсли;
    
    // В некоторых случаях помогает принудительная очистка ключа связи
    // если система зациклилась на старых записях регистров
    СтрокаТовар.КлючСвязи = 0; 
КонецЦикла;

// Перед записью важно убедиться, что документ будет пересчитан системой
ОбъектДок.ДополнительныеСвойства.Вставить("ПересчитатьВидыЗапасов", Истина);
ОбъектДок.Записать(РежимЗаписиДокумента.Проведение);

Проверка Групп финансового учета (ГФУ)

Напоследок проверим еще один важный момент — настройки в карточке номенклатуры. Посмотрим на реквизит «Группа финансового учета». Если для этой группы в настройках (раздел «Настройки и справочники» финансового результата) указано, что учет должен вестись в разрезе поставщиков или групп складов, а документ оприходования излишков эти данные не содержит, Вид запасов также не будет определен.

Важно: Убедитесь, что в документе Оприходование излишков товаров выбрана та же организация, которая указана в настройках склада. Несоответствие организации в шапке документа и в настройках материальной ответственности склада — классическая причина того, что система «теряется» при определении вида запасов.

Резюмируя: ошибка Значение поля "Вид запасов" не может быть пустым в 1С:УТ 11 почти всегда является следствием «хвостов» от использования обособленного учета или некорректных настроек финансового контроля. Последовательная очистка Назначений и переформирование видов запасов через штатные сервисы системы решают эту проблему в 99% случаев.

← На главную