К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как получить наименование организации в 1С

Как получить наименование организации в 1С: через реквизит справочника, функции БСП, запрос и в печатных формах. Готовые примеры кода и типичные ошибки.

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

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

Где хранится наименование организации в 1С

Во всех типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP, Зарплата и управление персоналом) организации хранятся в одноимённом справочнике «Организации». У элемента этого справочника есть несколько реквизитов с наименованием, и важно понимать разницу между ними.

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

Кроме того, в типовых конфигурациях есть регистры сведений, связанные с организацией: «Ответственные лица организаций», адреса и контакты. Само наименование там не дублируется, но для печатных форм обычно требуется комплект сведений сразу — наименование, ИНН, КПП, адрес.

Самый простой способ: обращение к реквизиту

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

НаименованиеКраткое = Организация.Наименование;

НаименованиеПолное = Организация.НаименованиеПолное;

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

Через объект справочника

Если нужно не только прочитать, но и изменить наименование, получают объект методом ПолучитьОбъект(), меняют реквизит и записывают:

ОргОбъект = Организация.ПолучитьОбъект();

ОргОбъект.НаименованиеПолное = "ООО ""Ромашка""";

ОргОбъект.Записать();

Получение наименования запросом

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

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Организации.Наименование КАК Наименование,

| Организации.НаименованиеПолное КАК НаименованиеПолное

|ИЗ

| Справочник.Организации КАК Организации

|ГДЕ

| Организации.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка", Организация);

Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда

ПолноеНаименование = Выборка.НаименованиеПолное;

КонецЕсли;

В запросах по документам наименование обычно выбирают через точку прямо в тексте запроса: РеализацияТоваровУслуг.Организация.НаименованиеПолное. Платформа сама выполнит соединение со справочником, и это корректный приём для отчётов и выборок.

Получение наименования в типовых конфигурациях (БСП)

В конфигурациях на библиотеке стандартных подсистем не рекомендуется хардкодить обращения к реквизитам: состав полей может отличаться между версиями. Для печатных форм типовые решения используют общий механизм сведений об организации.

В Бухгалтерии предприятия 3.0 применяется функция БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Организация, Дата) (в старших версиях — аналогичные функции модуля работы с организациями). Она возвращает структуру с полями: ПолноеНаименование, СокращенноеНаименование, ИНН, КПП, адрес и другие. Дата важна, потому что часть сведений хранится с периодичностью.

СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(

Организация, ТекущаяДатаСеанса());

НаименованиеДляПечати = СведенияОбОрганизации.ПолноеНаименование;

В ЗУП и ERP действует похожий принцип: есть общие модули, возвращающие структуру сведений об организации на дату. Преимущество подхода — вы получаете сразу весь набор реквизитов для печатной формы и не зависите от переименования полей справочника.

Наименование организации для печатных форм

Типичная задача — вывести наименование организации в макете печатной формы документа. Порядок такой: в запросе печатной формы добавляется поле Организация и его представление, затем значение выводится в параметр макета.

Порядок действий
  1. 1
    Откройте модуль менеджера документа и найдите функцию печати
  2. 2
    В текст запроса добавьте поле Документ.Организация.НаименованиеПолное (или получите сведения через типовую функцию)
  3. 3
    В макете добавьте параметр, например [НаименованиеОрганизации]
  4. 4
    В коде заполните параметр: Область.Параметры.НаименованиеОрганизации = ПолноеНаименование
  5. 5
    Сформируйте печатную форму и проверьте вывод на тестовом документе

Если наименование в макете не помещается в одну строку, используйте параметр с переносом или объединяйте ячейки макета. Для юридически значимых форм всегда выводите полное наименование, а не краткое рабочее.

Как проверить результат и типичные ошибки

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

Контрольные точки

Как проверить результат

Значение в коде
Норма

Совпадает с реквизитом «Наименование полное» в карточке организации

Тревожный признак

Выводится краткое рабочее название без организационно-правовой формы

Пустая организация
Норма

Код обрабатывает пустую ссылку без ошибки

Тревожный признак

Ошибка «Поле объекта не обнаружено» или пустая строка в печатной форме

Несколько организаций
Норма

Для каждой организации выводится её наименование

Тревожный признак

Во всех документах одно и то же значение — признак кэширования или неверного параметра

Типичные ошибки
01
Использование реквизита Наименование вместо НаименованиеПолное — в печатную форму попадает неофициальное название
02
Обращение к реквизиту пустой ссылки без проверки — ошибка выполнения или пустое значение
03
Получение наименования через точку внутри цикла по документам — резкое падение производительности
04
Хранение наименования в константе или строковой переменной «навсегда» — при переименовании организации данные устаревают
05
Игнорирование даты при получении сведений в типовых функциях — для исторических документов выводятся актуальные данные

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

Чем отличается Наименование от НаименованиеПолное?

Наименование — краткое рабочее название для интерфейса и списков, оно может быть произвольным. НаименованиеПолное — официальное название по учредительным документам с организационно-правовой формой, именно оно используется в печатных формах, отчётности и ЭДО.

Как получить наименование организации на управляемой форме документа?

Если на форме есть реквизит с типом СправочникСсылка.Организации, обратитесь к нему на сервере: Объект.Организация.НаименованиеПолное. На клиенте разворачивание ссылки недоступно, поэтому получение выполняют в серверной процедуре или через вызов серверной функции.

Почему Организация.НаименованиеПолное возвращает ошибку?

Чаще всего причины две: ссылка пустая (организация не заполнена в документе) либо в вашей конфигурации реквизит называется иначе. Проверьте состав реквизитов справочника «Организации» в конфигураторе и добавьте проверку на пустую ссылку перед обращением.

Как получить наименование организации по ИНН?

Запросом к справочнику с отбором по реквизиту ИНН: ВЫБРАТЬ Наименование, НаименованиеПолное ИЗ Справочник.Организации ГДЕ ИНН = &ИНН. Учтите, что у разных организаций в базе теоретически может совпадать ИНН, поэтому обрабатывайте выборку в цикле.

Можно ли получить наименование основной организации из настроек?

Да, в типовых конфигурациях основная организация хранится в настройках пользователя. В БСП есть функции вида БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация") — получив ссылку, дальше берёте её реквизит НаименованиеПолное обычным способом.

Итог

Что важно запомнить

Краткое наименование берётся из реквизита Наименование, официальное — из НаименованиеПолное. Для печатных форм и отчётности используйте полное наименование, в типовых конфигурациях — типовые функции получения сведений об организации. В выборках и циклах получайте значение запросом, а не обращением через точку, и всегда проверяйте ссылку на заполненность.