Справочники и Данные · 11 мин
1С УНФ: как получить должность контактного лица
Где в 1С Управление нашей фирмой хранится должность контактного лица, как заполнить её в карточке и вывести в документы, отчёты и печатные формы.
Должность контактного лица в 1С УНФ нужна в двух ситуациях: чтобы менеджер видел, с кем разговаривает и в каком статусе, и чтобы программа автоматически подставляла подписанта в договоры, счета и акты («в лице генерального директора Иванова И.И.»). В зависимости от этого способ получения должности отличается: иногда достаточно открыть карточку контакта, а иногда данные придётся вытаскивать запросом из регистра сведений или дорабатывать печатную форму.
В УНФ контактные лица хранятся в отдельном справочнике «Контактные лица», связанном со справочником «Контрагенты». Реквизит «Должность» в типовой конфигурации присутствует, но его заполнение — зона ответственности пользователя: программа сама должность из открытых источников не подтягивает. Поэтому задача «получить должность» обычно распадается на три подзадачи: найти, где она хранится, заполнить её корректно и вывести туда, где она нужна.
Ниже разобраны все рабочие способы: просмотр в интерфейсе, массовое заполнение, вывод в печатные формы, получение через запрос и встроенный язык, а также типичные ошибки, из-за которых должность «теряется».
Где в УНФ хранится должность контактного лица
Контактные лица в УНФ — самостоятельный справочник, подчинённый логике связи с контрагентами. Один контрагент может иметь несколько контактных лиц, и у каждого — своя должность, телефон, e-mail и роль в принятии решений. Это важно: должность относится к контакту, а не к контрагенту, поэтому искать её в карточке самого контрагента бессмысленно.
Открыть справочник можно двумя путями. Первый — через карточку контрагента: раздел «Продажи» или «Компания» → «Контрагенты» → открыть контрагента → вкладка или группа «Контактные лица» → открыть нужный контакт. Второй — напрямую: раздел «Компания» (в некоторых версиях — «CRM») → «Контактные лица». Состав разделов зависит от включённых функциональных опций и версии конфигурации.
В карточке контактного лица реквизит «Должность» — обычное строковое поле. Именно его значение используется в типовых механизмах подстановки подписанта и отображается в списках. Если поле пустое, программа ничего не выведет — ошибки не будет, просто в печатной форме останется пропуск или подставится значение по умолчанию из другого источника.
Как посмотреть и заполнить должность в карточке контакта
Базовый сценарий — ручной просмотр и заполнение. Откройте карточку контрагента, перейдите к списку его контактных лиц и откройте нужный контакт. Найдите поле «Должность» и введите значение, например: «Генеральный директор», «Менеджер по закупкам», «Главный бухгалтер». Сохраните карточку кнопкой «Записать и закрыть».
Заполняйте должность в именительном падеже и в том виде, в каком она должна появиться в документах. Если печатная форма договора формирует фразу «в лице генерального директора», склонение обычно задаётся шаблоном формы, но не во всех макетах оно реализовано — иногда проще хранить должность уже в нужном падеже для конкретного сценария. Проверьте на тестовом документе, как значение выглядит в выводе.
Если контактных лиц много и должности не заполнены, ручное заполнение займёт время. В этом случае используйте групповое изменение реквизитов: в списке контактных лиц выделите нужные элементы, вызовите «Ещё» → «Изменить выделенные» (в ряде версий — обработка «Групповое изменение реквизитов» в разделе «Администрирование»), выберите реквизит «Должность» и установите значение. Это работает, когда одна и та же должность ставится нескольким контактам.
- 1Откройте раздел «Компания» или «CRM» → «Контактные лица» либо карточку контрагента
- 2Найдите нужное контактное лицо через поиск по ФИО или по контрагенту
- 3Откройте карточку контакта и проверьте поле «Должность»
- 4Заполните или исправьте значение, сохраните карточку
- 5Сформируйте тестовую печатную форму и убедитесь, что должность выводится корректно
Как вывести должность в печатные формы документов
Чаще всего должность нужна не сама по себе, а в печатной форме: счёт на оплату, договор, акт, коммерческое предложение. В типовых макетах УНФ подстановка контактного лица и его должности предусмотрена не везде — во многих формах выводится только наименование контрагента. Поэтому сначала определите, поддерживает ли конкретный макет нужный параметр.
Откройте печатную форму документа, затем «Ещё» → «Изменить макет» (или «Администрирование» → «Печатные формы, отчеты и обработки» → «Макеты печатных форм», если используется механизм пользовательских макетов). Найдите область, где выводятся данные контрагента, и проверьте, есть ли параметр для должности. Если параметра нет, добавьте в ячейку макета собственный параметр, например [ДолжностьКонтактногоЛица], и обеспечьте его заполнение.
В пользовательских макетах, построенных на механизме «Печать» БСП, значения параметров подставляются из процедуры формирования в модуле менеджера документа. Если вы не готовы править код конфигурации, безопасный вариант — внешняя печатная форма: она подключается через «Дополнительные отчеты и обработки» и не требует снятия конфигурации с поддержки. Внутри внешней формы вы получаете ссылку на контактное лицо из документа и читаете его реквизит «Должность» напрямую.
Как получить должность программно: запрос и встроенный язык
Если должность нужна в отчёте, обработке или при обмене данными, её получают обращением к справочнику. В запросе это выглядит как выборка из справочника «КонтактныеЛица» с отбором по владельцу-контрагенту. Обратите внимание: связь контакта с контрагентом в УНФ реализована через реквизит связи (в типовой — через табличную часть или регистр связей в зависимости от версии), поэтому перед написанием запроса уточните структуру метаданных именно вашей версии через конфигуратор.
Простейший вариант обращения из кода, когда ссылка на контактное лицо уже известна (например, выбрана в документе):
Должность = КонтактноеЛицо.Должность;
Если контактное лицо в документе не указано, а нужно «основное» контактное лицо контрагента, сначала получите его через типовой механизм контактной информации или запрос по справочнику с отбором по контрагенту, затем читайте реквизит «Должность». Учтите, что «основное» контактное лицо — понятие, которое в УНФ может определяться настройками или первым элементом списка; не полагайтесь на порядок без проверки.
Пример запроса по контрагенту (структуру полей сверьте со своей версией):
ВЫБРАТЬ
КонтактныеЛица.Наименование КАК КонтактноеЛицо,
КонтактныеЛица.Должность КАК Должность
ИЗ
Справочник.КонтактныеЛица КАК КонтактныеЛица
ГДЕ
КонтактныеЛица.Контрагент = &Контрагент
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ КонтактныеЛица.Наименование, КонтактныеЛица.Должность ИЗ Справочник.КонтактныеЛица КАК КонтактныеЛица ГДЕ КонтактныеЛица.Контрагент = &Контрагент";
Запрос.УстановитьПараметр("Контрагент", КонтрагентСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование + " — " + Выборка.Должность);
КонецЦикла;Должность подписанта в договорах и счетах: особенности
Отдельный сценарий — подстановка подписанта «в лице…». Здесь должность часто берётся не из карточки контактного лица, а из реквизитов самого документа или из карточки контрагента (поля вида «Контактное лицо», «Должность руководителя», «Действует на основании»). В УНФ в карточке контрагента могут присутствовать поля для подписанта, которые имеют приоритет над справочником контактных лиц в конкретных печатных формах.
Поэтому перед настройкой выясните, откуда конкретная печатная форма берёт данные: сформируйте документ, откройте макет и посмотрите имена параметров. Если в форме используется параметр, заполняемый из карточки контрагента, заполнение должности в справочнике контактных лиц эффекта не даст — и это одна из самых частых причин «не работает, хотя всё заполнено».
Для договоров удобно хранить полную формулировку: должность, ФИО и основание (устав, доверенность). Если одно и то же лицо подписывает документы по доверенности, а не по уставу, корректнее завести отдельное контактное лицо или отдельный реквизит, чтобы не переписывать должность перед каждой печатью.
Контроль результата и типичные ошибки
Проверка результата простая: заполните должность, создайте тестовый документ с этим контрагентом и контактным лицом, сформируйте печатную форму и убедитесь, что значение появилось в нужном месте и в правильном падеже. Дополнительно проверьте отчёт или список контактных лиц с выведенной колонкой «Должность» — так вы увидите пробелы в данных сразу по всем контактам.
Чтобы вывести колонку «Должность» в списке, откройте список контактных лиц, нажмите «Ещё» → «Изменить форму» или настройте список через «Настройка списка» и добавьте поле «Должность». Это удобный способ массового контроля заполнения без открытия каждой карточки.
Как проверить результат
Заполнено, сохраняется после переоткрытия
Поле пустое или значение сбрасывается — проверьте права доступа
Должность выводится в нужном месте и падеже
Пропуск или другой источник данных — проверьте макет и реквизиты контрагента
Колонка отображается и заполнена у нужных контактов
Колонки нет — добавьте через настройку списка
Возвращает должность по нужному контрагенту
Пустая выборка — проверьте имя реквизита связи с контрагентом в вашей версии
FAQ
Почему в карточке контактного лица нет поля «Должность»?
Проверьте версию конфигурации и права пользователя: поле может быть скрыто настройками формы или недоступно из-за ограничения прав. Откройте «Ещё» → «Изменить форму» и посмотрите, отключён ли реквизит. Если поля нет в метаданных вашей версии, должность можно хранить в дополнительном реквизите (Администрирование → Дополнительные реквизиты).
Можно ли заполнить должности массово из Excel?
Да, через типовую загрузку данных из табличного документа (раздел «Компания» или «Администрирование» → «Загрузка данных из файла»), если она поддерживает справочник контактных лиц в вашей версии. Подготовьте файл с колонками «Контрагент», «Контактное лицо», «Должность» и сопоставьте колонки при загрузке. Предварительно сделайте копию базы.
Как вывести должность в предложение «в лице генерального директора»?
Нужен макет, где должность выводится в родительном падеже. Типовые формы не всегда склоняют автоматически, поэтому надёжный вариант — хранить отдельно должность для печати в нужном падеже (в дополнительном реквизите) или использовать внешнюю печатную форму с собственной логикой формирования строки.
У контрагента несколько контактных лиц — чья должность попадёт в документ?
Попадёт должность того контактного лица, которое указано в самом документе. Если в документе контакт не выбран, поведение зависит от макета: часть форм подставит данные из карточки контрагента, часть оставит поле пустым. Всегда проверяйте заполнение поля «Контактное лицо» в документе перед печатью.
Сохранится ли должность при обмене с другой 1С?
Зависит от правил обмена. В типовых синхронизациях реквизит «Должность» контактных лиц обычно переносится, но если вторая база доработана или использует другую структуру контактов, соответствие полей нужно проверять в правилах конвертации. После настройки обмена выполните тестовую выгрузку и сверьте значения.
Что важно запомнить
Должность хранится в реквизите «Должность» справочника «Контактные лица», привязанного к контрагенту. Посмотреть и заполнить её можно в карточке контакта, вывести в печать — через макет или внешнюю печатную форму, получить программно — запросом к справочнику. Главные риски: печатная форма читает данные из карточки контрагента, а не контакта, и потеря изменений типового макета при обновлении.