Как вывести и настроить отображение остатков в подборе документа перемещения запасов в 1С:УНФ

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

При оформлении документа Перемещение запасов в конфигурации 1С:Управление нашей фирмой 1.6 пользователи нередко сталкиваются с ситуацией, когда в окне подбора не отображаются свободные остатки номенклатуры по колонкам или данные выводятся некорректно. Разберем по шагам, как устроен механизм подбора, почему могут не отображаться остатки и как найти причину проблемы в пользовательском режиме и с помощью отладчика.

Особенности работы формы подбора в перемещении запасов

В отличие от документов продажи, форма подбора в перемещении запасов жестко привязана к реквизитам шапки документа. Рассмотрим базовые правила, по которым программа рассчитывает и показывает остатки:

  1. Привязка к складу-отправителю: остатки в колонках рассчитываются исключительно по тому складу, который указан в документе в поле Склад (или Отправитель). Если склад не выбран или выбран склад без остатков, колонки остатков будут пустыми.
  2. Свободный остаток и резервы: колонка свободного остатка вычисляет разницу между фактическим количеством на складе и зарезервированным товаром под заказы покупателей. Если весь объем находится в резерве, свободный остаток будет равен нулю.
  3. Режим отображения списка: переключение режима просмотра (по папкам номенклатуры или по категориям) обновляет динамические выборки формы.

Диагностика проблемы в пользовательском режиме

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

  1. Тип структурной единицы: откроем карточку склада-отправителя в справочнике СтруктурныеЕдиницы. Значение реквизита Тип структурной единицы должно быть установлено как Склад или Розница. Если склад ошибочно заведен с типом Подразделение, алгоритмы подбора запасов не будут обрабатывать его как складской остаток.
  2. Сброс пользовательских настроек формы: сохраненные пользовательские настройки динамических списков могут нарушать расчет динамических колонок. В окне подбора нажмем Еще → Установить стандартные настройки. Для полной очистки перейдем в раздел Администрирование → Настройки пользователей и прав → Очистка настроек и сбросим настройки формы подбора для проблемного пользователя.
  3. Проверка даты и времени: в форме подбора расчет остатков производится на текущий момент времени сеанса. Убедимся, что приход товара не оформлен будущей датой относительно текущего момента.
  4. Анализ отчетов по запасам: сформируем отчет Остатки товаров или Доступность товаров с отбором по складу-отправителю и организации документа, чтобы подтвердить фактическое наличие свободного количества на регистрах.

Программная проверка и отладка механизма подбора

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

  1. Основная логика подбора перемещения реализована в обработке ПодборПеремещение.
  2. Откроем форму КорзинаОстатокРезервХарактеристика обработки ПодборПеремещение.
  3. Точкой входа для установки параметров запроса и наложения фильтров по складам является серверная процедура УстановитьОтборСпискаСкладскиеОстатки().

Поставим точку останова в процедуре УстановитьОтборСпискаСкладскиеОстатки() и проверим следующие параметры при вызове подбора из документа:

  1. Значение передаваемой структурной единицы (склада-отправителя) и организации.
  2. Корректность заполнения параметров динамического списка и структуры отборов.
  3. Условия RLS (ограничения прав на уровне записей), если в базе включено разделение доступа по складам или организациям.

Альтернативные варианты заполнения и доработки

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

  1. Типовое автозаполнение: в табличной части Запасы документа Перемещение запасов воспользуемся командной панелью: Заполнить → По остаткам на складе. Программа автоматически заполнит строки всеми доступными позициями со склада-отправителя.
  2. Доработка через расширение: если необходимо добавить специализированные колонки (например, остаток на складе-получателе или общий остаток компании), доработку формы обработки ПодборПеремещение следует выполнять в отдельном расширении без снятия конфигурации с поддержки.
← На главную