Синонимы объектов аналитики в журналах
Синонимы - это способы отображения ссылок на объекты аналитики в таблицах журнала. По умолчанию в журнале отображаются коды объектов аналитики последнего уровня. С помощью синонимов можно задавать для объектов аналитики другие варианты отображения (полный код, название, значение свойства, форматированная строка). Синоним - это абстракция журналов операций, задание синонимов не оказывает никакого влияния на структуру плана аналитики! Существует два вида синонимов: собственные и разделяемые. Собственные синонимы задаются только в разрезе конкретного журнала (и, соответственно, задают способ отображения ссылок только в пределах этого журнала). Разделяемые синонимы распространяются на все журналы. Собственные синонимы имеют больший приоритет: если для одного и того же объекта аналитики задан и собственный, и разделяемый синонимы - будет использоваться собственный. Определения синонимов образуют иерархию наследования в соответствии с иерархической структурой объектов в плане аналитики. Синоним, заданный для объекта аналитики - по умолчанию задан для всех его потомков, то есть синонимы задаются для ветки объектов. Определение синонима родительского объекта может быть перекрыто: для отдельных объектов ветки можно задать другие синонимы.
Определения синонимов задаются в редакторе синонимов. Редактор синонимов можно вызвать из всплывающего меню окна "Настройка журналов". В этом случае редактируются только собственные синонимы журнала. Существует также параметрическое действие "Редактор синонимов", которое позволяет вызвать либо редактор разделяемых синонимов, либо редактор собственных синонимов конкретного журнала.
Синоним представляет собой строковое значение. В качестве синонима может отображаться полный код объекта, код последнего уровня (вариант отображения по умолчанию), название объекта, значение статического свойства строкового типа, а также произвольная строка, в которую можно включать один из перечисленных вариантов отображения и значения динамических и/или статических свойств. Последний вариант задается с помощью поля "маска". Чтобы включить в строку маски определение выбранного режима отображения, необходимо указать символы ##. Чтобы включить в строку маски определение динамического или статического свойства, используется запись вида
#<имя_свойства>#
В одной строке маски можно указывать несколько различных имен свойств, динамические свойства имеют приоритет перед статическими при совпадающих именах. Для свойств типа ссылка поддерживается косвенность, т.е. можно указывать имена свойств не только той ссылки, для которой производится преобразование, а также для значений ссылок, содержащихся в свойстах. Косвенность достигается заданием имен свойств через точку в случае двойной вложенности:
#<имя_свойства_типа_ссылка1>.<имя_свойства_типа_ссылка2>.<имя_свойства>#
При косвенном обращении к свойствам могут использоваться динамические и статические свойства в любых комбинациях.
Примеры задания маски в определении синонима:
Определение | Пример отображения |
(режим отображения: полный код) Маска: Полный код объекта - ## | "Полный код объекта - ОРГ/ОРГ1" |
(режим отображения: название) Маска: Товар:##, цвет: #цвет# | "Товар:сапоги, цвет:красный" |
Пример с косвенным указанием свойства в маске: Маска: Товар:##, #производитель# (#производитель.страна#) | "Товар:телефон, Samsung (Корея) |
дата | значение календарной даты |
время | значение времени в пределах суток |
логическое значение | логическое значение (ДА/НЕТ) |
ссылка | значение ссылки на объект аналитики |
При работе с журналом из внутреннего языка можно получать синоним объекта аналитики с помощью метода СИНОНИМ, а также получать строковое значение синонима с помощью метода журнала СИН_ССЫЛКИ или функции СИН_ССЫЛКИ. Во внутреннем языке можно формировать отдельные синонимы или их списки "на лету" и использовать их при преобразовании ссылки в строковый вид функциями СИН_ССЫЛКИ или СИН_ССЫЛКИ_СП. Замечание 1. При отсутствии подходящего синонима используется стандартная процедура преобразования ссылки в строковый вид. Она включает вывод полного кода объекта аналитики и всех значений динамических свойств. Динамические свойства разделяются переносом строки. Для вложенных ссылок используется отступ пробелами. Замечание 2. Преобразование значений стандартных типов, участвующих в процессе преобразования ссылки в строку, производится с использованием форматов, настроенных в клиентском приложении. Это касается как стандартного преобразования, так и преобразований с использованием синонимов.