Часто бухгалтеры и технические специалисты сталкиваются с ситуацией, когда в программе 1С:Бухгалтерия 8.3 (редакция 3.0) при заполнении документа Реализация (акты, накладные, УПД) через форму подбора колонка «Остаток» пуста — для решения этой проблемы подойдёт расширение для вывода остатков и цен в подборе БП 3.0. При этом в стандартных отчетах, таких как Оборотно-сальдовая ведомость по счету (например, по счету 41 или 43), дебетовое сальдо на текущую дату отображается корректно. Рассмотрим подробнее причины этого несоответствия и разберем по шагам методы диагностики и решения проблемы.
Проанализируем наиболее вероятную причину, которая часто встречается при переходе на новые настройки программы или при исправлении ошибок прошлых периодов. В 1С:Бухгалтерии механизм подбора номенклатуры жестко завязан на установленные Параметры учета. Если в информационной базе включен учет «По складам (по количеству и сумме)», система начинает требовать указания аналитики Склад во всех движениях по счетам запасов.
Выясним причину, почему подбор «не видит» товар. Когда в документе реализации выбран конкретный склад, форма подбора автоматически накладывает фильтр на динамический список остатков — обойти это ограничение поможет альтернативный подбор номенклатуры с остатками и резервами. В запросе это выглядит примерно так:
ГДЕ ХозрасчетныйОстатки.Субконто2 = &ПараметрСклад
Если часть документов поступления была введена до включения складского учета или с незаполненным значением склада, то остатки в регистре Хозрасчетный будут числиться на «пустом» складе (значение NULL или ПустаяСсылка). С точки зрения системы, остаток на «Складе №1» и остаток на «Пустом складе» — это разные позиции. Подбор, видя выбранный склад в шапке реализации, честно показывает 0, так как именно на этом складе товара нет.
Рассмотрим пошагово, какие настройки в самой форме подбора могут скрывать имеющийся товар:
Еще), которая управляет режимом видимости. Убедимся, что не выбран режим, который по ошибке скрывает нужные нам позиции.Тип цен, а в настройках подбора установлен фильтр «Только с ценами», товар может исчезнуть из списка, если для него не задана цена на дату документа, даже при наличии огромного остатка на складе.Если визуальная проверка не дала результатов, программисту следует изучить программный код в модуле формы подбора. Найдем фрагмент, где формируется запрос к динамическому списку. Для диагностики рекомендуется выгрузить этот запрос в консоль и проанализировать параметры. Посмотрим на пример упрощенного запроса, который система использует для получения данных:
ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура,
ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0) КАК Остаток
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &СчетУчета, , Организация = &Организация И Субконто2 = &Склад) КАК ХозрасчетныйОстатки
ПО Номенклатура.Ссылка = ХозрасчетныйОстатки.Субконто1
ГДЕ
Номенклатура.ЭтоГруппа = ЛОЖЬ
Проанализируем ситуацию: если убрать условие И Субконто2 = &Склад в консоли запросов и товар появится — значит, проблема именно в аналитическом разрезе склада. Если же товар не появляется даже без фильтра по складу, нужно проверить Счет учета. В БП 3.0 счета учета номенклатуры могут настраиваться индивидуально (регистр сведений Счета учета номенклатуры). Если для конкретной позиции ошибочно указан счет, по которому не ведется количественный учет, остаток в подборе отображаться не будет.
Посмотрим на ситуацию со стороны временной шкалы. Остатки в подборе рассчитываются на момент времени документа. Рассмотрим пример:
В этом случае, открыв подбор в реализации, мы увидим 0, так как на 9 утра товара еще официально нет на балансе. Для исправления ситуации необходимо либо изменить время реализации, либо воспользоваться процедурой Групповое перепроведение документов, чтобы восстановить хронологическую последовательность — в этом поможет обработка быстрого группового перепроведения документов для 1С.
Если в ходе расследования выяснилось, что остатки «зависли» на пустом складе (как это было в рассматриваемой теме), выполним следующие действия:
Настройках плана счетов.Склад не заполнено.В редких случаях проблема может носить чисто технический характер, связанный с некорректным кэшированием данных динамического списка. Рассмотрим шаги по очистке:
Во-первых, попробуем сбросить настройки формы подбора к заводским. Для этого в окне подбора нажмем Еще — Установить стандартные настройки. Это исключит влияние скрытых пользовательских отборов.
Во-вторых, если проблема сохраняется только у одного пользователя, выполним очистку локального кэша 1С. Для этого удалим базу из списка запуска и добавим её заново, либо вручную очистим папку %AppData%\1C\1Cv8.
Важный момент: Всегда проверяйте актуальность индексов полнотекстового поиска (через Администрирование — Обслуживание — Управление индексами). Некорректный индекс может приводить к тому, что поиск в форме подбора не будет находить даже существуную номенклатуру.