Универсальный отчет в системе 1С 8.3 является мощнейшим инструментом, позволяющим извлекать практически любые данные из базы без привлечения программиста. Однако пользователи часто сталкиваются с ситуацией, когда при построении отчета по складским остаткам или движениям товаров колонка с контрагентом (поставщиком) остается пустой или вовсе отсутствует в списке доступных полей. Рассмотрим детально, почему так происходит и как заставить отчет показывать нужные нам данные.
Для начала разберем внутреннюю логику работы программы. Когда мы строим «Универсальный отчет» по регистру накопления, например, ТоварыНаСкладах, мы должны понимать, что этот регистр предназначен для учета количественных остатков. В нем есть измерения Номенклатура, Склад, но, как правило, нет измерения Поставщик. Система просто не хранит информацию о том, от кого пришел товар, непосредственно в этой «таблице» остатков.
Чтобы вытащить данные о поставщике, нам нужно обратиться к документу, который сделал запись в этот регистр. В 1С такой документ называется Регистратор. Именно через связь с регистратором мы можем «дотянуться» до реквизитов первичного документа, где и указан наш контрагент. Выясним, как это реализовать на практике.
Это самый универсальный способ, который работает в большинстве конфигураций (Бухгалтерия предприятия, Управление торговлей и другие). Проанализируем пошаговый алгоритм настройки:
Регистратор. Обратим внимание, что рядом с ним стоит «плюсик» (+). Нажмем на него, чтобы раскрыть вложенные поля документа.Поставщик или Контрагент. Снова нажимаем на «плюсик» рядом с ним и выбираем Наименование.Регистратор.Поставщик.Наименование.Теперь, когда мы сформируем отчет, система для каждой строки движения товара будет обращаться к документу-основанию и подтягивать из него название поставщика. Это решит проблему пустых колонок напротив номенклатуры.
Если нам нужно видеть не остатки, а именно историю поступлений с именами поставщиков, то использовать складские регистры — не самый оптимальный путь. Рассмотрим более эффективный подход. В многих конфигурациях существует специализированный регистр накопления Закупки.
В этом регистре измерение Контрагент является основным. Это значит, что данные будут выводиться гораздо быстрее, и нам не придется строить сложные связи через регистратора. Посмотрим на алгоритм действий:
Регистр накопления.Закупки (или Закупки (оборот)).Контрагент.Если же ваша конфигурация (например, БП 3.0) не имеет явного регистра «Закупки», мы можем использовать данные документов. В поле Тип объекта выберем Документ, в поле Имя объекта — Поступление (акты, накладные, УПД), а в поле Табличная часть выберем Товары. В этом случае поле Ссылка.Контрагент будет доступно напрямую, так как мы строим отчет непосредственно по первичным документам поступления.
Проанализируем ситуацию, если вы работаете в бухгалтерской конфигурации. Здесь часто требуется отчет не по управленческим регистрам, а по данным проводок. В этом случае источником данных будет выступать Регистр бухгалтерии (Хозрасчетный).
При работе с регистром Хозрасчетный, поставщика следует искать в субконто счета 60 «Расчеты с поставщиками и подрядчиками». Настройка будет выглядеть следующим образом:
В настройках полей найдем Субконто1 (или то субконто, где хранится Контрагент на выбранном счете). Развернем его через «плюсик» и выберем Наименование. Чтобы отчет не был перегружен лишними данными, обязательно добавим отбор на вкладке Отборы:
Счет В иерархии 60
ИЛИ
Счет В иерархии 41
Важный момент: если вы строите отчет по 41 счету, там нет субконто «Контрагенты», поэтому вам снова придется использовать поле Регистратор.Контрагент, как мы разбирали в первом методе.
Чтобы отчет не превращался в хаотичный список, где поставщик дублируется в каждой строке, применим механизм группировок. Разберем, как сделать отчет «человеческим»:
Поставщик (или Регистратор.Поставщик).Номенклатура.В результате мы получим иерархический список: сначала идет имя поставщика в виде заголовка, а под ним — перечень всей номенклатуры, которую мы у него приобрели. Это значительно упрощает визуальный анализ данных.
Часто пользователи совершают ошибку, добавляя условие в Отборы, но забывая добавить поле в Выбранные поля. Разберем ситуацию: вы установили отбор Наименование поставщика Содержит "ООО Ромашка". Отчет отфильтрует данные, но саму колонку с поставщиком не покажет, пока вы не добавите её на соответствующей вкладке настроек.
Также проверьте, не помечено ли выбранное поле иконкой «замок». Это может означать ограничение прав доступа или техническую невозможность прямого вывода поля. В таком случае всегда используйте путь через Регистратор.
Рассмотрим ситуацию, когда настройка выполнена верно, путь через регистратора прописан, но в колонке пусто. Выясним возможные причины:
Перемещение товаров или Сборка товаров. У этих документов нет реквизита «Поставщик», поэтому поле остается пустым. Решение: добавьте отбор по типу регистратора.Операция (бухгалтерский и налоговый учет), поля регистратора не будут содержать контрагента в привычном виде.Товары есть специфическое поле «Наименование поставщика» (актуально для некоторых отраслевых решений), оно должно быть заполнено физически.Для исключения пустых строк отфильтруем отчет, добавив условие на вкладке Отборы:
Регистратор.Тип Равно Поступление (акты, накладные)
И
Регистратор.Поставщик Заполнено
Таким образом, мы проанализировали все основные способы вывода данных о поставщике. Использование поля Регистратор является ключом к решению большинства проблем в Универсальном отчете, позволяя объединять данные складского учета с информацией из первичных документов.