Что такое синоним в 1С Предприятие и как его настроить

· 9 мин

Содержание

Синоним в 1С Предприятие — это свойство объекта метаданных, которое пользователь видит вместо его имени. Задаётся он в конфигураторе: выделите объект в дереве и откройте палитру свойств (Alt+Enter), поле Синоним стоит сразу под полем Имя.

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

Зачем объекту метаданных синоним и как платформа его использует

У каждого объекта конфигурации есть два «лица». Имя — это идентификатор: без пробелов, не начинается с цифры, пишется слитно. Синоним — обычная строка на человеческом языке, с пробелами, скобками и знаками препинания.

Пример для реквизита документа:

СвойствоЗначениеКто видит
ИмяСуммаДокументаСНДСразработчик, код, запросы
СинонимСумма (с НДС)пользователь в формах и отчётах
КомментарийПересчитывается при записитолько разработчик в конфигураторе

Где платформа подставляет синоним автоматически:

  • 📋 заголовки полей на автоматически созданных формах;
  • 🗂 заголовки колонок списков и табличных частей;
  • 🧭 названия разделов и команд командного интерфейса, если не заданы отдельные представления;
  • 📊 заголовки полей в системе компоновки данных (СКД), когда поле берётся из реквизита;
  • 🔤 представления значений перечислений: Строка(Перечисления.СтавкиНДС.НДС20) вернёт синоним значения, а не его имя;
  • 🪟 заголовок главного окна программы — там выводится синоним самой конфигурации.

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

Как задать синоним в конфигураторе: пошагово

Синоним для нового объекта

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

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

Синоним для существующего объекта

  1. Найдите объект в дереве. Быстрый способ — встать на дерево и начать набирать имя, курсор перескочит на совпадение.
  2. Откройте свойства Alt+Enter и исправьте поле Синоним.
  3. Сохраните конфигурацию и обновите конфигурацию базы данных (F7).

Изменение синонима не меняет структуру таблиц. Реструктуризации не будет, обновление пройдёт быстро. Но базу всё равно нужно обновить, иначе пользователи продолжат видеть старый текст.

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

Синоним на нескольких языках

Синоним — многоязычная строка. Если в ветке Общие → Языки у конфигурации больше одного языка, рядом с полем появится кнопка выбора. Она откроет таблицу «язык — текст».

В коде такая строка хранится в формате:

ru = 'Номер входящего документа'; en = 'Incoming document number'

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

Синонимы реквизитов, табличных частей и связанные представления

Синоним есть почти у всего, что лежит в дереве: у реквизитов, измерений и ресурсов регистров, табличных частей и их колонок, значений перечислений, общих модулей, ролей, подсистем.

Для справочников, документов и регистров у синонима есть «соседи». Они перекрывают его в конкретных местах:

СвойствоГде показываетсяПример
Синонимвезде по умолчаниюПоступление товаров
Представление объектазаголовок формы одного элементаПоступление товара
Расширенное представление объектазаголовок формы, если заданоДокумент поступления товаров
Представление списказаголовок формы списка и команда в панелиПоступления товаров
Расширенное представление списказаголовок формы списка, если заданоЖурнал поступлений

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

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

Заголовок поля на форме важнее синонима

Если на управляемой форме у элемента заполнено свойство Заголовок, пользователь увидит его, а не синоним реквизита. Это главный приём, когда нужно поменять подпись в одном месте, не трогая весь объект. В типовой конфигурации так и делают: заимствуют форму в расширение и правят заголовок элемента там.

Как получить синоним программно и можно ли его изменить

Синоним читается через объект метаданных. Несколько рабочих вариантов:

// Синоним справочника
СинонимСправочника = Метаданные.Справочники.Номенклатура.Синоним;

// Синоним реквизита документа
СинонимРеквизита = Метаданные.Документы.ПоступлениеТоваровУслуг.Реквизиты.Склад.Синоним;

// По полному имени объекта
ОбъектМД = Метаданные.НайтиПоПолномуИмени("Справочник.Контрагенты");
Если ОбъектМД <> Неопределено Тогда
    Сообщить(ОбъектМД.Синоним);
КонецЕсли;

// Метаданные по ссылке
Ссылка = Справочники.Контрагенты.ПустаяСсылка();
Сообщить(Ссылка.Метаданные().Синоним);

Удобнее вызывать метод Представление(). Он возвращает синоним, а если тот пуст — имя. Так в сообщении никогда не окажется пустая строка:

Сообщить(Метаданные.Справочники.Номенклатура.Представление());

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

Для Каждого Реквизит Из Метаданные.Справочники.Номенклатура.Реквизиты Цикл
    Сообщить(Реквизит.Имя + " — " + Реквизит.Представление());
КонецЦикла;

Стандартные реквизиты («Код», «Наименование», «Ссылка») в коллекцию Реквизиты не входят. Они лежат в отдельной коллекции СтандартныеРеквизиты.

Изменить синоним из кода нельзя

В режиме 1С:Предприятие метаданные доступны только для чтения. Присвоить Метаданные.Справочники.Номенклатура.Синоним = "..." не получится — платформа выдаст ошибку.

Что можно сделать программно вместо этого:

  • 🏷 поменять подпись поля на форме: Элементы.Склад.Заголовок = "Склад отгрузки";
  • 🖨 вывести в печатную форму свой текст через параметр макета;
  • 📊 задать заголовок поля в настройках СКД или в программно созданных настройках отчёта.

Для разовых переименований по всей базе путь один — конфигуратор или расширение.

Как синонимы попадают в отчёты и печатные формы

Отчёты на СКД

Когда в запросе набора данных поле выбрано прямо из реквизита, СКД берёт заголовок поля из синонима этого реквизита. Для поля ДоговорКонтрагента пользователь увидит «Договор контрагента» или тот текст, что вписан в синоним.

Ситуация меняется, когда поле получает псевдоним через КАК или вычисляется выражением:

ВЫБРАТЬ
    Продажи.Контрагент,
    СУММА(Продажи.Сумма) КАК СуммаПродажЗаПериод
ИЗ
    РегистрНакопления.Продажи КАК Продажи
СГРУППИРОВАТЬ ПО
    Продажи.Контрагент

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

  1. Откройте схему компоновки, вкладку Наборы данных.
  2. В таблице полей найдите строку поля и колонку Заголовок.
  3. Впишите понятный текст: «Сумма продаж за период».

На вкладке Вычисляемые поля и Ресурсы заголовок задаётся там же, где описано поле.

Печатные формы

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

Если хотите, чтобы печать следовала за метаданными, выводите подпись из кода:

ОбластьШапка.Параметры.ЗаголовокСклад = Метаданные.Документы.ПоступлениеТоваровУслуг.Реквизиты.Склад.Представление();

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

Проверка после смены синонима
Выполнено: 0 / 5

Синоним самой конфигурации и правки в типовых базах

Синоним конфигурации

У корня дерева конфигурации тоже есть синоним. Откройте свойства корневого элемента — поле то же, Синоним. Его текст пользователь видит в заголовке главного окна программы и в окне «О программе».

Рядом лежат свойства Краткая информация, Подробная информация, Авторские права, Версия. Если вы ведёте собственную доработанную конфигурацию, синоним стоит поменять: например, «Бухгалтерия предприятия (доработки склада)». Так пользователь сразу отличит рабочую базу от копии.

Чтобы различать базы, синоним конфигурации править не обязательно. Заголовок окна дополняется представлением информационной базы из списка баз в окне запуска — для тестовой копии достаточно дать ей другое имя в этом списке.

Синонимы и обновление типовой конфигурации

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

Расширение снимает эту проблему для форм: заголовок элемента, заданный в заимствованной форме, переживает обновление без ручного объединения.

Практическое правило для типовых баз:

  1. Подпись нужна в одной-двух формах — правьте Заголовок элемента в расширении.
  2. Подпись нужна во всех формах, отчётах и списках сразу — меняйте синоним в основной конфигурации и фиксируйте правку в журнале доработок.
  3. Нужен новый реквизит — добавляйте его в расширение со своим именем и синонимом, основную конфигурацию не трогайте.

Правила именования и типичные ошибки с синонимами

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

  • ✅ Пишите с заглавной буквы только первое слово: «Дата поступления», а не «Дата Поступления».
  • ✅ Сокращайте только общепринятое: «ИНН», «КПП», «НДС». «Кол-во» в заголовке колонки допустимо, в названии справочника — нет.
  • ✅ Справочник называйте во множественном числе («Склады»), представление объекта — в единственном («Склад»).
  • ✅ Не ставьте точку в конце и пробелы по краям.
  • ✅ Для булевых реквизитов формулируйте утверждение: «Облагается НДС», а не «Флаг НДС».

Ошибки, которые встречаются чаще других:

ОшибкаЧем плохаКак исправить
Синоним пустойпользователь видит слитное имязаполнить или удалить и перенабрать имя, чтобы сработало автозаполнение
Два реквизита с одинаковым синонимомв форме и отборе не отличить «Склад» от «Склад»уточнить: «Склад отправитель», «Склад получатель»
Синоним разошёлся с именем по смыслучерез год разработчик ищет «Ответственного», а в коде это Менеджерпри смене смысла менять и имя, и синоним
Синоним поменяли, а форму нетна форме остался старый Заголовок элементаочистить заголовок элемента или поправить его
Перевод на второй язык не заполненанглоязычный пользователь видит русский текстзаполнить все языки в многоязычной строке

Не пытайтесь «переименовать» объект, меняя только синоним, если смысл реквизита изменился. Код, обработки и обмены продолжают опираться на имя, и через полгода путаница в смыслах обходится дороже честного переименования.

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

Влияет ли синоним на запросы и код?
Нет. В запросах и встроенном языке используются только имена. Синоним можно менять без правки кода.
Нужна ли реструктуризация базы после смены синонима?
Нет. Структура таблиц не меняется, но конфигурацию базы данных обновить всё равно нужно, чтобы изменения увидели пользователи.
Можно ли показать разным пользователям разные синонимы?
Через сам синоним — только по языкам: каждый видит вариант на языке своего сеанса. Для разных подписей по ролям меняют Заголовок элемента формы из кода в обработчике ПриСозданииНаСервере.
Чем синоним отличается от комментария?
Комментарий видит только разработчик в конфигураторе. Синоним показывается пользователю в режиме 1С:Предприятие.
Почему в отчёте заголовок колонки не совпадает с синонимом реквизита?
Скорее всего, поле в запросе получило псевдоним или заголовок задан вручную в схеме компоновки. Проверьте колонку Заголовок на вкладке наборов данных.