Почему в подборе номенклатуры 1С:Бухгалтерии 3.0 не отображаются остатки товара при их наличии на счетах учета?

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

Часто бухгалтеры и технические специалисты сталкиваются с ситуацией, когда в программе 1С:Бухгалтерия 8.3 (редакция 3.0) при заполнении документа Реализация (акты, накладные, УПД) через форму подбора колонка «Остаток» пуста — для решения этой проблемы подойдёт расширение для вывода остатков и цен в подборе БП 3.0. При этом в стандартных отчетах, таких как Оборотно-сальдовая ведомость по счету (например, по счету 41 или 43), дебетовое сальдо на текущую дату отображается корректно. Рассмотрим подробнее причины этого несоответствия и разберем по шагам методы диагностики и решения проблемы.

Анализ влияния настроек складского учета

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

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


ГДЕ ХозрасчетныйОстатки.Субконто2 = &ПараметрСклад

Если часть документов поступления была введена до включения складского учета или с незаполненным значением склада, то остатки в регистре Хозрасчетный будут числиться на «пустом» складе (значение NULL или ПустаяСсылка). С точки зрения системы, остаток на «Складе №1» и остаток на «Пустом складе» — это разные позиции. Подбор, видя выбранный склад в шапке реализации, честно показывает 0, так как именно на этом складе товара нет.

Проверка параметров и настроек подбора

Рассмотрим пошагово, какие настройки в самой форме подбора могут скрывать имеющийся товар:

  1. Флаг «Только остатки»: На верхней панели формы подбора присутствует кнопка (или переключатель в меню Еще), которая управляет режимом видимости. Убедимся, что не выбран режим, который по ошибке скрывает нужные нам позиции.
  2. Тип цен: Если в документе выбран определенный Тип цен, а в настройках подбора установлен фильтр «Только с ценами», товар может исчезнуть из списка, если для него не задана цена на дату документа, даже при наличии огромного остатка на складе.
  3. Организация: Проверим, на ту ли организацию оприходован товар. Форма подбора всегда фильтрует данные по организации, указанной в документе реализации.

Техническая диагностика через консоль запросов

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


ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0) КАК Остаток
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &СчетУчета, , Организация = &Организация И Субконто2 = &Склад) КАК ХозрасчетныйОстатки
        ПО Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1
ГДЕ
    Номенклатура.ЭтоГруппа = ЛОЖЬ

Проанализируем ситуацию: если убрать условие И Субконто2 = &Склад в консоли запросов и товар появится — значит, проблема именно в аналитическом разрезе склада. Если же товар не появляется даже без фильтра по складу, нужно проверить Счет учета. В БП 3.0 счета учета номенклатуры могут настраиваться индивидуально (регистр сведений Счета учета номенклатуры). Если для конкретной позиции ошибочно указан счет, по которому не ведется количественный учет, остаток в подборе отображаться не будет.

Влияние даты и времени документа

Посмотрим на ситуацию со стороны временной шкалы. Остатки в подборе рассчитываются на момент времени документа. Рассмотрим пример:

В этом случае, открыв подбор в реализации, мы увидим 0, так как на 9 утра товара еще официально нет на балансе. Для исправления ситуации необходимо либо изменить время реализации, либо воспользоваться процедурой Групповое перепроведение документов, чтобы восстановить хронологическую последовательность — в этом поможет обработка быстрого группового перепроведения документов для 1С.

Исправление ошибок «пустого» склада

Если в ходе расследования выяснилось, что остатки «зависли» на пустом складе (как это было в рассматриваемой теме), выполним следующие действия:

  1. Выясним, когда был включен складской учет в Настройках плана счетов.
  2. Найдем документы поступления или ввода остатков, в которых поле Склад не заполнено.
  3. Заполним аналитику и перепроведем эти документы.

Очистка кэша и сброс настроек

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

Во-первых, попробуем сбросить настройки формы подбора к заводским. Для этого в окне подбора нажмем ЕщеУстановить стандартные настройки. Это исключит влияние скрытых пользовательских отборов.

Во-вторых, если проблема сохраняется только у одного пользователя, выполним очистку локального кэша 1С. Для этого удалим базу из списка запуска и добавим её заново, либо вручную очистим папку %AppData%\1C\1Cv8.

Важный момент: Всегда проверяйте актуальность индексов полнотекстового поиска (через АдминистрированиеОбслуживаниеУправление индексами). Некорректный индекс может приводить к тому, что поиск в форме подбора не будет находить даже существуную номенклатуру.

← На главную