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