&uf('6... - Подключение вложенного формата


НАЧАЛО >> Оглавление >> Общее описание >> Язык форматирования ИРБИС >> Функции >> Строковые функции >> Подключение программ к формату (форматные выходы) >> &uf('6... - Подключение вложенного формата


Назначение

Подключение вложенного формата.

Формат (передаваемая строка)

Краткая конструкция имеет вид:

&uf('6<имя_формата>')

Расширенная конструкция имеет вид:

&uf('6<имя_шаблон-формата>#<параметр1>,<параметр2>,...<параметрN>')

где:

В качестве переменных параметров шаблон-формата могут выступать ЛЮБЫЕ конструкции языка форматирования (метки полей/подполей, литералы и т.д.).

Расширенная конструкция &uf('6... позволяет сократить тексты форматов - например, в тех случаях, когда для вывода разных элементов данных используются идентичные форматные конструкции.

Пример

Для вывода сведения об индивидуальной ответственности (авторов) из различных полей (700, 701, 702, 330 и т.д.) используются идентичные конструкции, отличающиеся только значением метки поля.

Поступаем следующим образом.

Создаем шаблон-формат AUTHOR, в котором в качестве метки используем переменный параметр %1

(
    if p(v%1) then 
        |A=|v%1^a,| |v%1^d,|, |v%1^g,
        if a(v%1^g) then 
            |, |d%1^b,
            if v%1^b:'. 'or (not(v%1^b:'.')) then 
                v%1^b 
            else 
                &unifor('G0.'v%1^b),'. '&unifor('G2.'v%1^b) 
            fi 
        fi,
        if &uf('Ag700#1')='1' then else 
            if s(v%1^1,v%1^c,v%1^f)<>''then
                ' (',v%1^1,
                if s(v%1^1)<>''then | ; |d%1^c fi,
                v%1^c,
                if s(v%1^1,v%1^c)<>''then| ; |d%1^f fi,
                v%1^f,')' 
            fi,
            |\|v%1^4*4,
            |, |v%1^5*4,
            |, |v%1^6*4,
            |(|v%1^7|)|,
            |\|d%1^4 
        fi 
    fi,
    |%|d%1/
)

Теперь для вывода сведений из конкретного поля используем конструкции

&uf('6author#700')

или

&uf('6author#701')

и т.д.