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