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