Вывод ответственного в документах и отчётах 1С

· 9 мин

Содержание

Быстрее всего посмотреть ответственного по документам в 1С через Отчёты → Универсальный отчёт: выбираете вид документа и добавляете поле «Ответственный» в колонки. Если нужно видеть его постоянно в списке — добавьте колонку командой Ещё → Изменить форму. А чтобы вывести ответственного в код или печатную форму, данные берут запросом из реквизита документа.

Выбор способа зависит от задачи. Разовая справка «кто вёл эти документы» — универсальный отчёт. Работа с ответственным каждый день — колонка в журнале. Выгрузка для руководителя — в Excel. Подстановка в печать или обработку — запрос и программный вывод. Ниже каждый способ с точными путями меню.

«Ответственный» — обычный реквизит, который есть почти во всех документах типовых конфигураций (1С:Бухгалтерия 3.0, 1С:ЗУП 3.1, 1С:Управление торговлей 11). Он хранит ссылку на пользователя и по умолчанию заполняется тем, кто создал документ. Поэтому вывести его можно любым средством, которое умеет читать реквизиты: отчётом, запросом или кодом.

Где хранится реквизит «Ответственный»

В типовых конфигурациях ответственный — это реквизит шапки документа типа СправочникСсылка.Пользователи. То есть в поле лежит не строка с фамилией, а ссылка на элемент справочника «Пользователи». Фамилия, которую вы видите в форме, — это наименование этого элемента.

Отсюда следуют две вещи, важные для вывода:

  • 👤 если выводить реквизит «как есть», вы получите представление пользователя (обычно ФИО или логин);
  • 🔗 чтобы добраться до физлица, подразделения или других данных сотрудника, нужно идти по ссылке дальше — через точку в запросе или в коде.

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

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

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

Универсальный отчёт: вывести ответственного по документам

Универсальный отчёт — самый быстрый способ получить список документов с ответственными без программирования. Он есть во всех перечисленных конфигурациях.

  1. Откройте Отчёты → Универсальный отчёт.
  2. В верхней строке задайте источник: тип объекта — Документ, имя объекта — нужный вид (например, «Реализация товаров и услуг»), таблица — Основные данные.
  3. Нажмите Настройки и перейдите в расширенный режим настроек.
  4. На вкладке со структурой и полями добавьте «Ответственный» — в группировки, если хотите видеть документы, сгруппированные по сотрудникам, либо в колонки, если нужен плоский список.
  5. При необходимости задайте отбор по периоду и по конкретному ответственному.
  6. Нажмите Сформировать.

Группировка по ответственному сразу даёт ответ на вопрос «сколько документов и на какую сумму провёл каждый сотрудник». Это удобнее, чем листать журнал.

Чтобы отчёт считал итоги, а не просто перечислял строки, добавьте в него показатели — «Количество» и «Сумма документа». Тогда под каждым сотрудником появится итог, а внизу — общий. Настроенный вид отчёта сохраните как вариант (кнопка выбора вариантов вверху формы): в следующий раз не придётся собирать поля заново.

У универсального отчёта есть предел: он работает с реквизитами одного вида документа. Если нужно свести ответственных сразу по нескольким видам (реализации, поступления, платёжки), придётся либо формировать отчёт по каждому отдельно, либо переходить к запросу с объединением.

Отбор по ответственному работает и в обратную сторону: поставьте условие «Ответственный = <сотрудник>» — и отчёт покажет только его документы.

Колонка «Ответственный» в журнале документов

Если ответственный нужен вам перед глазами постоянно, добавьте его колонкой в список.

  1. Откройте любой журнал или список документов (например, список реализаций).
  2. Нажмите Ещё → Изменить форму.
  3. В дереве элементов формы найдите табличную часть списка и отметьте галочкой реквизит «Ответственный».
  4. Нажмите ОК.

Колонка появится в списке и запомнится для вашего пользователя. По ней можно сортировать (щелчок по заголовку) и фильтровать.

Для разового отбора удобнее команда настройки списка: откройте Ещё → Настроить список и на вкладке отбора добавьте условие по ответственному. Так вы быстро получите, например, все документы одного менеджера за месяц.

Выборка по ответственному через запрос

Когда данных много или нужна нестандартная выборка (несколько видов документов сразу, сложные условия), используют запрос. Текст запроса удобно собрать в конструкторе запросов — он доступен в консоли запросов (внешняя обработка) или в конфигураторе при разработке.

Простейший запрос к реализациям:

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Документ,
    РеализацияТоваровУслуг.Дата КАК Дата,
    РеализацияТоваровУслуг.Ответственный КАК Ответственный
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Дата МЕЖДУ &Начало И &Конец
УПОРЯДОЧИТЬ ПО
    Ответственный

Чтобы вывести не представление пользователя, а связанные данные, идите по ссылке через точку. Например, физлицо сотрудника:

    РеализацияТоваровУслуг.Ответственный.ФизическоеЛицо КАК Физлицо

Поле ФизическоеЛицо есть у справочника «Пользователи» в конфигурациях на базе БСП, если пользователь связан с физлицом. Если связи нет, поле будет пустым — тогда выводите наименование самого пользователя.

Запрос умеет не только перечислять документы, но и сразу считать итоги по ответственным. Для сводки «сколько документов на каждом сотруднике» добавляют группировку и агрегатную функцию:

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ответственный КАК Ответственный,
    КОЛИЧЕСТВО(РеализацияТоваровУслуг.Ссылка) КАК КолДокументов
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Проведен
СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ответственный
УПОРЯДОЧИТЬ ПО
    КолДокументов УБЫВ

Такой запрос возвращает список сотрудников, упорядоченный по числу проведённых документов — готовая основа для отчёта о нагрузке. Так же добавляют СУММА(...) по сумме документа, если нужны денежные итоги.

Запрос только читает данные и ничего не меняет в базе. Но консоль запросов — внешняя обработка; запускайте проверенную, а не первую попавшуюся.

Программный вывод ответственного и печать

В программном коде ответственный читается прямо из реквизита. Если у вас есть ссылка на документ, значение берётся через точку:

Ответственный = Документ.Ответственный;
Сообщить("Ответственный: " + Строка(Ответственный));

Обратите внимание: ссылку нельзя складывать со строкой напрямую, поэтому значение оборачивают в Строка() или собирают через СтрШаблон.

Для обработки группы документов сочетают запрос и вывод:

Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |   РеализацияТоваровУслуг.Ссылка КАК Документ,
    |   РеализацияТоваровУслуг.Ответственный КАК Ответственный
    |ИЗ
    |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |   РеализацияТоваровУслуг.Дата МЕЖДУ &Начало И &Конец";
Запрос.УстановитьПараметр("Начало", НачалоДня(ДатаНач));
Запрос.УстановитьПараметр("Конец", КонецДня(ДатаКон));

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Сообщить(Строка(Выборка.Документ) + " — " + Строка(Выборка.Ответственный));
КонецЦикла;

Этот код проходит по всем документам за период и выводит пару «документ — ответственный». Его легко адаптировать под запись в табличный документ или файл.

С печатными формами сложнее. В типовой печатной форме ответственного, как правило, нет, а менять конфигурацию поставщика нельзя — иначе снимется поддержка. Правильный путь — расширение конфигурации , а не изменение типовой. Расширения появились в платформе 8.3.6; в расширении делают свой макет или добавляют реквизит в существующий, не трогая основную конфигурацию. После установки расширения выполняется шаг «Обновить конфигурацию базы данных».

Если задача разовая и печать не нужна, проще обойтись без доработки: сформируйте список или отчёт с колонкой «Ответственный», как описано выше, и распечатайте уже его. Доработку макета имеет смысл заказывать, только когда ответственный должен стабильно попадать в печатный документ — например, в акт или накладную для контрагента.

Выгрузка данных об ответственных в Excel

Готовый список с ответственными выгружается в Excel двумя путями.

Из списка документов:

  1. Откройте журнал, при необходимости добавьте колонку «Ответственный» (см. выше) и настройте отбор.
  2. Нажмите Ещё → Вывести список.
  3. Отметьте колонки, которые нужны в выгрузке, и нажмите ОК — 1С сформирует табличный документ.
  4. Выполните Главное меню → Файл → Сохранить как и выберите тип файла «Лист Excel 2007 (*.xlsx)».

Из универсального отчёта: сформируйте отчёт с группировкой или колонкой по ответственному и так же сохраните результат через Файл → Сохранить как в формат Excel.

Второй способ лучше, когда нужны итоги по сотрудникам (суммы, количество) — отчёт считает их сам, а в выгрузке из списка пришлось бы суммировать вручную.

Как быстрее вывести ответственного под вашу задачу?

Автозаполнение ответственного

По умолчанию реквизит «Ответственный» подставляется автоматически — в него попадает пользователь, создающий документ. Поэтому у новых документов поле обычно уже заполнено, и отдельно настраивать ничего не нужно.

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

В 1С:Управление торговлей есть более развитый механизм: ответственных менеджеров можно закреплять за партнёрами и соглашениями, и тогда в документ подставляется ответственный по контрагенту, а не по текущему пользователю. Настройки находятся в блоке работы с партнёрами и CRM (точное название пункта зависит от версии). В 1С:Бухгалтерии такого закрепления нет — там ответственный всегда идёт от пользователя.

Чтобы массово проставить или сменить ответственного у уже существующих документов, применяют обработку «Групповое изменение реквизитов» в разделе Администрирование (группа обслуживания данных): отбираете документы, выбираете реквизит «Ответственный» и задаёте новое значение.

Групповое изменение меняет данные в базе разом и у многих объектов. Перед запуском на рабочей базе сделайте резервную копию и сначала проверьте отбор на небольшой выборке.

Аналитика: отчёты по ответственным лицам

Когда ответственный нужен не для справки, а для оценки работы сотрудников, стройте аналитику группировкой.

  • 📊 Нагрузка по сотрудникам. Универсальный отчёт по документам с группировкой «Ответственный» и показателями «Количество» и «Сумма документа» — видно, кто сколько оформил.
  • 📈 Динамика по периодам. Добавьте в структуру отчёта второй уровень — период (месяц, квартал), чтобы сравнить сотрудников во времени.
  • 🧾 Продажи по менеджерам. В 1С:Управление торговлей для этого есть специализированные отчёты по продажам в разрезе менеджеров — они считают выручку и прибыль точнее, чем универсальный отчёт по документам.

Для разовых задач универсального отчёта достаточно. Если один и тот же разрез нужен регулярно, сохраните настройку отчёта как вариант — он будет под рукой и не придётся собирать поля заново. Полезно также зафиксировать период относительно — например, «текущий месяц»: тогда сохранённый вариант не придётся каждый раз перенастраивать под новые даты, и отчёт о нагрузке будет актуален при любом открытии.

Частые вопросы

Почему поле «Ответственный» пустое?
Чаще всего документ создан не вручную, а загрузкой или обменом — тогда текущий пользователь не определён, и реквизит остаётся пустым. Заполните его вручную или массово через групповое изменение реквизитов.
Чем «Ответственный» отличается от того, кто создал документ?
Ответственный — это обычный реквизит, его можно сменить в любой момент. Кто фактически создавал и менял документ, видно в истории изменений (версионировании объектов), если оно включено в базе.
Можно ли сменить ответственного сразу у группы документов?
Да. Отберите документы в списке и воспользуйтесь обработкой «Групповое изменение реквизитов» в разделе Администрирование. Перед запуском на рабочей базе сделайте резервную копию.
Почему в выводе видно логин, а не ФИО?
Выводится наименование элемента справочника «Пользователи». Если нужно ФИО, настройте наименование пользователя или выводите связанное физлицо через Ответственный.ФизическоеЛицо.
Как добавить ответственного в печатную форму?
В типовой форме его обычно нет. Добавлять нужно через расширение конфигурации (свой макет), не меняя конфигурацию поставщика, чтобы не снять поддержку.