Возможность оперативно получить информацию об ответственном лице — одна из ключевых задач при работе с 1С:Предприятие. Будь то контроль за выполнением задач, анализ продаж по менеджерам или проверка кадровых документов, корректный вывод данных об ответственных сотрудниках экономит время и снижает риск ошибок. Однако в зависимости от конфигурации (1С:Бухгалтерия, 1С:Зарплата и Управление Персоналом, 1С:Управление Торговлей) способы получения этой информации различаются.
Новичкам часто сложно сориентироваться: где искать поле "Ответственный" в справочниках, как его добавить в отчет или почему в документе не отображается ФИО сотрудника. Эта статья закрывает все пробелы: от базовых действий в интерфейсе до написания SQL-запросов и программного кода на 1С:Предприятие 8.3. Мы разберем типичные ошибки (например, когда ответственный не проставляется автоматически) и покажем, как выгрузить данные для дальнейшего анализа в Excel.
1. Где хранится информация об ответственном в 1С
Прежде чем выводить данные, нужно понять, где они хранятся. В большинстве конфигураций ответственный привязывается к:
- 📄 Документам (например, в 1С:УТ у заказа покупателя есть поле "Менеджер")
- 📋 Справочникам (в 1С:ЗУП у физического лица может быть ответственный кадровик)
- 📊 Задачам (в 1С:Документооборот или 1С:ERP)
- 🔧 Настройкам подсистем (например, ответственный за кассу в 1С:Розница)
В 1С:Бухгалтерия 3.0 поле "Ответственный" часто скрыто в карточке документа под кнопкой Ещё → Дополнительно. В 1С:УТ 11 оно может называться "Менеджер" или "Ответственный менеджер" и располагаться на первой вкладке. Важно: в некоторых конфигурациях это поле не заполняется автоматически — его нужно проставлять вручную или настраивать правила автозаполнения.
Если поле отсутствует в форме документа, проверьте:
- Настройки видимости полей (права доступа пользователя).
- Версию конфигурации — в старых релизах 1С:УТ 10.3 поле могло называться иначе.
- Наличие дополнительных обработок, которые модифицируют формы.
2. Вывод ответственного через стандартные отчеты
Самый простой способ — использовать встроенные отчеты. Рассмотрим на примере 1С:Управление Торговлей 11:
- Перейдите в раздел
Продажи → Отчеты по продажам. - Выберите отчет
Анализ продажилиВедомость по документам. - В настройках отчета добавьте поле "Ответственный" (или "Менеджер") в группировки или колонки.
- Нажмите
Сформировать.
В 1С:Бухгалтерия 3.0 аналогичный функционал доступен в отчете Оборотно-сальдовая ведомость (для документов) или Карточка счета, если ответственный привязан к операции. Для 1С:ЗУП подойдет отчет Кадровый учет → Анализ кадровых данных с группировкой по ответственным кадровикам.
Добавить поле "Ответственный" в настройки отчета|
Указать период анализа|
Проверить права доступа к данным|
Экспортировать результат в Excel при необходимости-->
| Конфигурация | Отчет | Поле с ответственным | Раздел меню |
|---|---|---|---|
| 1С:УТ 11 | Ведомость по документам | Менеджер | Продажи → Отчеты |
| 1С:Бухгалтерия 3.0 | Оборотно-сальдовая ведомость | Ответственный (в дополн. полях) | Отчеты → Стандартные |
| 1С:ЗУП 3.1 | Анализ кадровых данных | Ответственный кадровик | Кадровый учет → Отчеты |
| 1С:ERP 2.5 | Монитор задач | Исполнитель | Задачи → Отчеты |
⚠️ Внимание: В некоторых отчетах поле "Ответственный" может не отображаться по умолчанию. В этом случае:
1. Проверьте, включена ли галочка "Показывать все поля" в настройках отчета.
2. Обновите конфигурацию — в старых версиях 1С:УТ 10.3 поле могло называться "КонтрагентМенеджер".
3. Если поле отсутствует, его можно добавить через
Все действия → Изменить форму(требуются права администратора).
3. Использование конструктора запросов для сложных выборок
Если стандартные отчеты не покрывают ваши нужды (например, требуется вывести ответственных с дополнительными фильтрами), используйте конструктор запросов. Рассмотрим пример для 1С:Управление Торговлей 11, где нужно получить список заказов покупателей с указанием менеджера и суммы:
- Откройте
Сервис → Конструктор запросов. - Добавьте таблицу
Документ.ЗаказПокупателя. - В поля выборки включите:
ЗаказПокупателя.НомерЗаказПокупателя.ДатаЗаказПокупателя.СуммаДокументаЗаказПокупателя.Ответственный.Наименование(илиМенеджер.Наименование)
- Добавьте фильтр по периоду или статусу заказа.
- Выполните запрос и экспортируйте результат.
- 🔴 Поле не отображается в документе
Причина: Отсутствуют права или поле скрыто в настройках формы.
Решение: Перейдите вВсе действия → Изменить формуи добавьте поле вручную (требуются права администратора). - 🔴 Вместо ФИО отображается код или пустота
Причина: Не заполнен справочник "Пользователи" или "Сотрудники", либо нарушена ссылка.
Решение: Проверьте заполненность справочников и пересохраните документ. - 🔴 Ответственный не проставляется автоматически
Причина: Не настроены правила автозаполнения.
Решение: В 1С:УТ 11 настройте правила вАдминистрирование → Настройки пользователей и прав → Правила автозаполнения. - 🔴 В отчете не группируется по ответственным
Причина: Поле не добавлено в настройки группировки.
Решение: Откройте настройки отчета и добавьте поле "Ответственный" в группировки.
Для 1С:ЗУП 3.1 аналогичный запрос может выглядеть так (вывод кадровых документов с ответственными):
ВЫБРАТЬ
КадровыйДокумент.ВидДокумента КАК ВидДокумента,
КадровыйДокумент.Дата КАК Дата,
КадровыйДокумент.Номер КАК Номер,
КадровыйДокумент.Ответственный.Наименование КАК Ответственный
ИЗ
Документ.КадровыйДокумент КАК КадровыйДокумент
ГДЕ
КадровыйДокумент.Дата МЕЖДУ &НачалоПериода И &КонецПериода
Если в результате запроса вместо ФИО ответственного отображается пустота, проверьте заполненность справочника "Пользователи" или "Сотрудники". Часто проблема решается синхронизацией данных между справочниками.
⚠️ Внимание: При работе с конструктором запросов в 1С:ERP 2.5 учитывайте, что:
Поля с ответственными могут храниться в разных таблицах в зависимости от типа документа. Например, для задач это таблица
Документ.Задачас полемИсполнитель, а для заказов —Документ.ЗаказКлиентас полемМенеджер.
4. Программный вывод ответственного (для разработчиков)
Если вам нужно автоматизировать вывод ответственных (например, для интеграции с внешней системой или создания кастомного отчета), используйте встроенный язык 1С:Предприятие 8.3. Ниже приведены примеры кода для разных сценариев.
Пример 1: Получение ответственного из документа
// Получаем ответственного из заказа покупателя
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПокупателя.Ссылка КАК Ссылка,
| ЗаказПокупателя.Ответственный КАК Ответственный
|ИЗ
| Документ.ЗаказПокупателя КАК ЗаказПокупателя
|ГДЕ
| ЗаказПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода";
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(ТекущаяДата()));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Строка(Выборка.Ответственный));
КонецЦикла;
Пример 2: Вывод ответственных по задачам (1С:Документооборот)
// Получаем список задач с исполнителями
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Задача.Номер КАК Номер,
| Задача.Тема КАК Тема,
| Задача.Исполнитель.Наименование КАК Исполнитель,
| Задача.Статус КАК Статус
|ИЗ
| Документ.Задача КАК Задача
|ГДЕ
| Задача.Статус = &Статус";
Запрос.УстановитьПараметр("Статус", Перечисление.СтатусыЗадач.ВРаботе);
Результат = Запрос.Выполнить();
Для вывода данных в табличный документ используйте:
Таблица = Новый ТабличныйДокумент;
Область = Таблица.Область();
Область.ВывестиСекцию("Шапка=Ответственные по задачам");
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = Таблица.ДобавитьСтроку();
НоваяСтрока.Ячейки.Номер.Текст = Выборка.Номер;
НоваяСтрока.Ячейки.Исполнитель.Текст = Выборка.Исполнитель;
КонецЦикла;
Как выгрузить данные в Excel
Для выгрузки таблицы с ответственными в Excel используйте метод Записать():
Таблица.Записать("C:\Temp\Ответственные.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Убедитесь, что у пользователя есть права на запись в указанную папку.
⚠️ Внимание: При работе с программным кодом:
1. Всегда проверяйте права доступа — некоторые поля (например,
Ответственныйв 1С:ЗУП) могут быть скрыты для рядового пользователя.
2. В 1С:ERP 2.5 для задач используйте объект
Документ.Задача, а неДокумент.Поручение— они хранят разные данные.3. При экспорте в Excel больших объемов данных (более 10 000 строк) используйте
ТипФайлаТабличногоДокумента.XLSX, чтобы избежать ограничений форматов.xls.
5. Типичные ошибки и их решение
При работе с полем "Ответственный" пользователи часто сталкиваются с проблемами. Рассмотрим самые распространенные:
В 1С:ЗУП 3.1 часто возникает проблема, когда в кадровых документах не отображается ответственный кадровик. Это связано с тем, что поле привязано к подразделению, а не к конкретному сотруднику. Чтобы исправить:
- Откройте справочник
Подразделения. - Для нужного подразделения укажите
Ответственный кадровик. - Пересохраните кадровые документы, связанные с этим подразделением.
Если после изменений в справочниках данные не обновляются в документах, выполните процедуру "Обновление ссылок" в режиме "1С:Предприятие" (Администрирование → Поддержка и обслуживание).
6. Выгрузка данных об ответственных в Excel
Для дальнейшего анализа данные удобно выгружать в Excel. Рассмотрим два способа:
Способ 1: Через стандартный экспорт
- Сформируйте отчет с полем "Ответственный".
- Нажмите
Ещё → Выгрузитьи выберите форматExcel (.xlsx). - Укажите путь для сохранения файла.
Способ 2: Через программный код (для сложных выборок)
Используйте следующий код для выгрузки данных о ответственных из документов 1С:УТ 11:
Процедура ВыгрузитьОтветственныхВExcel()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПокупателя.Номер КАК Номер,
| ЗаказПокупателя.Дата КАК Дата,
| ЗаказПокупателя.Ответственный.Наименование КАК Ответственный,
| ЗаказПокупателя.СуммаДокумента КАК Сумма
|ИЗ
| Документ.ЗаказПокупателя КАК ЗаказПокупателя
|ГДЕ
| ЗаказПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода";
Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(ТекущаяДата()));
Результат = Запрос.Выполнить();
Таблица = Новый ТабличныйДокумент;
Таблица.Область().ВывестиСекцию("Шапка=|Номер|Дата|Ответственный|Сумма");
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = Таблица.ДобавитьСтроку();
НоваяСтрока.Ячейки.Номер.Текст = Выборка.Номер;
НоваяСтрока.Ячейки.Ответственный.Текст = Выборка.Ответственный;
НоваяСтрока.Ячейки.Сумма.Текст = Формат(Выборка.Сумма, "ЧДЦ=2; ЧРД=' '");
КонецЦикла;
Таблица.Записать("C:\Temp\Ответственные_по_заказам.xlsx");
КонецПроцедуры
⚠️ Внимание: При выгрузке в Excel:
1. Поля с датами выгружаются в формате, зависимом от региональных настроек 1С. Для корректного отображения в Excel используйте функцию
Формат().
2. Если в ячейках отображаются знаки
#вместо данных, расширьте столбцы в полученном файле.3. В 1С:ERP 2.5 для выгрузки задач с исполнителями используйте объект
Документ.Задача, а неРегистрСведений.Задачи.
7. Автоматизация: правила автозаполнения ответственного
Чтобы поле "Ответственный" заполнялось автоматически, настройте правила в конфигураторе или через интерфейс пользователя. В 1С:Управление Торговлей 11:
- Перейдите в
Администрирование → Настройки пользователей и прав → Правила автозаполнения. - Создайте новое правило для документа (например,
Заказ покупателя). - В качестве источника данных выберите
Текущий пользовательилиПодразделение пользователя. - Укажите поле назначения —
Ответственный(илиМенеджер). - Сохраните правило и проверьте его работу на новом документе.
В 1С:ЗУП 3.1 настройка автозаполнения ответственного кадровика выполняется через:
- Справочник
Подразделения— для каждого подразделения указывается ответственный сотрудник. - Настройки кадровых документов — в шаблоне документа прописывается правило подстановки.
Для 1С:ERP 2.5 автоматизация задач с исполнителями настраивается в модуле Управление задачами:
// Пример кода для автоназначения исполнителя задачи
Процедура ПриСозданииНаСервере(Объект)
Если НЕ ЗначениеЗаполнено(Объект.Исполнитель) Тогда
Объект.Исполнитель = ТекущийПользователь();
КонецЕсли;
КонецПроцедуры
В 1С:УТ 11 для автоматического заполнения менеджера в заказах покупателей можно использовать обработку "Заполнение по умолчанию", которая идет в стандартной поставке конфигурации.
8. Продвинутые сценарии: аналитика по ответственным
Для глубокого анализа эффективности сотрудников (например, продаж по менеджерам или выполнения задач) используйте:
- 📈 Сводные таблицы в Excel
Выгрузите данные об ответственных и используйте сводные таблицы для группировки по ФИО, подразделениям или периодам.
- 📊 Power BI
Подключитесь к базе 1С через ODBC и визуализируйте данные с помощью дашбордов.
- 🔍 1С:Аналитика
В 1С:ERP 2.5 или 1С:УТ 11 используйте модуль "Аналитика" для создания многомерных отчетов.
- 🤖 Внешние обработки
Например, обработка "Анализ продаж по менеджерам" из каталога 1С-Софт.
Пример запроса для анализа продаж по менеджерам в 1С:УТ 11:
ВЫБРАТЬ
ЗаказПокупателя.Ответственный.Наименование КАК Менеджер,
СУММА(ЗаказПокупателя.СуммаДокумента) КАК СуммаПродаж,
КОЛИЧЕСТВО(ЗаказПокупателя.Ссылка) КАК КоличествоЗаказов
ИЗ
Документ.ЗаказПокупателя КАК ЗаказПокупателя
ГДЕ
ЗаказПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
ЗаказПокупателя.Ответственный.Наименование
УПОРЯДОЧИТЬ ПО
СуммаПродаж УБЫВ
Для визуализации результатов в 1С используйте диаграммы:
Диаграмма = Новый Диаграмма;
Диаграмма.Тип = ТипДиаграммы.Гистограмма;
Диаграмма.Заголовок = "Продажи по менеджерам";
Серия = Диаграмма.Серии.Добавить();
Серия.Значение = Новый ОписаниеПоляКолонки("СуммаПродаж");
Серия.Подпись = Новый ОписаниеПоляКолонки("Менеджер");
Диаграмма.ИсточникДанных = РезультатЗапроса;
Диаграмма.Построить();
Для анализа динамики продаж по менеджерам используйте сравнительные отчеты за разные периоды. В 1С:УТ 11 это можно сделать через отчет "Динамика продаж" с группировкой по полю "Ответственный".
⚠️ Внимание: При аналитике по ответственным:
1. Учитывайте, что в 1С:ЗУП данные об ответственных кадровиках могут дублироваться в справочниках "Сотрудники" и "Пользователи". Для корректного анализа используйте связь по полю
ФизическоеЛицо.
2. В 1С:ERP 2.5 для анализа задач используйте регистр сведений
СостоянияЗадач, а не только документ "Задача".3. При выгрузке в Power BI настройте периодическую синхронизацию данных, чтобы отчеты обновлялись автоматически.
FAQ: Частые вопросы по выводу ответственного в 1С
Как вывести ответственного в печатной форме документа?
Откройте макет печатной формы в конфигураторе (Объект → Печатные формы → ОсновнаяПечатнаяФорма) и добавьте поле Ответственный в нужное место. Если поле отсутствует в списке доступных, проверьте, что оно добавлено в форму документа.
Почему в отчете "Ответственный" отображается как пустая строка?
Это происходит, если:
- В документе не заполнено поле "Ответственный".
- Справочник "Пользователи" или "Сотрудники" не синхронизирован с физическими лицами.
- Нарушены права доступа — пользователь не видит данные об ответственных.
Решение: проверьте заполненность полей в документе и настройте права в Администрирование → Пользователи.
Можно ли вывести ответственного в списке документов (журнале)?
Да, для этого:
- Откройте журнал документов (например,
Продажи → Заказы покупателей). - Нажмите
Все действия → Настройка списка. - Добавьте колонку "Ответственный" (или "Менеджер") в список отображаемых полей.
- Сохраните настройки.
Если поле отсутствует в списке доступных, его нужно добавить через конфигуратор.
Как сделать, чтобы ответственный проставлялся автоматически при создании документа?
Настройте правило автозаполнения:
- В 1С:УТ 11:
Администрирование → Настройки пользователей и прав → Правила автозаполнения. - В 1С:ЗУП 3.1: укажите ответственного кадровика в карточке подразделения.
- В 1С:ERP 2.5: используйте обработку "Автозаполнение документов".
Для программной настройки используйте событие ПриСозданииНаСервере:
Процедура ПриСозданииНаСервере(Объект)
Объект.Ответственный = ТекущийПользователь();
КонецПроцедуры
Как выгрузить список ответственных с их контактными данными?
Используйте запрос с присоединением справочников:
ВЫБРАТЬ
Ответственный.Наименование КАК ФИО,
Ответственный.Телефон КАК Телефон,
Ответственный.Email КАК Email
ИЗ
Справочник.Пользователи КАК Ответственный
Для выгрузки в Excel добавьте результат запроса в табличный документ и используйте метод Записать().