UNIFOR — различия между версиями
Sokv (обсуждение | вклад) |
Sokv (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
==Перечень функций формат-программы UNIFOR с примерами их применения== | ==Перечень функций формат-программы UNIFOR с примерами их применения== | ||
+ | |||
+ | ===Функции для обработки строк=== | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=9 | ||
+ | |title=Удалить двойные кавычки из заданной строки | ||
+ | }} | ||
+ | |||
+ | 9<исх.строка> | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("9"v200^a) | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name=0 | + | |name=E |
− | |title= | + | |title=Вернуть заданное количество слов с начала строки |
− | | | + | }} |
+ | |||
+ | EN<строка> | ||
+ | где <tt>N</tt> - количество слов (одна цифра). | ||
+ | |||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("E3"v200^a) | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=F | ||
+ | |title=Вернуть часть строки, начиная со следующего слова после указанного и до конца строки | ||
+ | }} | ||
+ | |||
+ | FN<строка> | ||
+ | где <tt>N</tt> - количество слов (одна цифра). | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("F3"v200^a) | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=G | ||
+ | |title=Вернуть часть строки до или начиная с заданного символа | ||
+ | }} | ||
+ | |||
+ | GNA<строка> | ||
+ | где: | ||
+ | * N=0 если ДО заданного символа (не включая его); N=1 если начиная С заданного символа (включая его). | ||
+ | * А - заданный символ (# - обозначает цифру; $ - обозначает букву). | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("G0#"v700) | ||
+ | &unifor("G1-"v700^a) | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=T | ||
+ | |title=Транслитерация кириллических символов с помощью латиницы | ||
+ | }} | ||
+ | |||
+ | TN<строка> | ||
+ | где N - вид таблицы транслитерации (0 или 1). | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("T0"V200) | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=X | ||
+ | |title=Удаление из заданной строки фрагментов, выделенных угловыми скобками <> | ||
+ | }} | ||
+ | |||
+ | X<строка> | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("X"v200) | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=Q | ||
+ | |title=Вернуть заданную строку в нижнем регистре | ||
+ | }} | ||
+ | |||
+ | Q<строка> | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("Q"v200) | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=+3E | ||
+ | |title=Кодирование данных для представления в URL | ||
}} | }} | ||
− | + | ||
+ | +3E<данные> | ||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor(‘+3E’,v1007) |
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=+3D | ||
+ | |title=Декодирование данных из URL | ||
+ | }} | ||
+ | |||
+ | +3D<данные> | ||
+ | |||
+ | ===Функции для работы с датой и временем=== | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
Строка 35: | Строка 124: | ||
'''Примеры:''' | '''Примеры:''' | ||
&unifor('36',&unifor('34')) | &unifor('36',&unifor('34')) | ||
+ | |||
+ | ===Функции для работы с глобальными переменными=== | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+7 |
− | |title= | + | |title=Очистить (опустошить) все глобальные переменные |
}} | }} | ||
− | + | +7 | |
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor('+7') |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+7R |
− | |title= | + | |title=Чтение глобальной переменной |
}} | }} | ||
− | + | +7RNNN,nnn | |
где: | где: | ||
− | * | + | * NNN – номер переменной. |
− | * | + | * nnn – номер повторения. По умолчанию - номер текущего повторения в повторяющейся группе. |
− | + | Эквивалентная конструкция языка форматирования GNNN. | |
− | |||
− | |||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor(‘+7R100’) |
− | + | эквивалентная конструкция языка форматирования: | |
− | + | G100 | |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+7W |
− | |title= | + | |title=Запись глобальной переменной |
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
+ | |||
+ | +7WNNN#SSSS | ||
+ | где: | ||
+ | * NNN – номер переменной; | ||
+ | * SSSS – список строк (результат расформатирования); каждая строка становится отдельным повторением. | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor(‘+7W100#’,(v910/)) | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+7U |
− | |title= | + | |title=Добавление повторений глобальной переменной |
}} | }} | ||
− | + | +7UNNN#SSSS | |
+ | где: | ||
+ | * NNN – номер переменной; | ||
+ | * SSSS – список строк (результат расформатирования); каждая строка становится отдельным повторением. | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=+7M | ||
+ | |title=Логическое перемножение повторений двух переменных | ||
+ | }} | ||
− | + | +7MNNN#MMM | |
− | + | Результат перемножения записывается в первую переменную. | |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+7S |
− | |title= | + | |title=Логическое вычитание повторений двух переменных |
− | |||
}} | }} | ||
− | + | +7SNNN#MMM | |
+ | Результат вычитания записывается в первую переменную. | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=+7A | ||
+ | |title=Логическое сложение повторений двух переменных | ||
+ | }} | ||
− | + | +7ANNN#MMM | |
− | + | Результат сложения записывается в первую переменную. | |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+7G |
− | |title= | + | |title=Исключение неоригинальных повторений переменной |
}} | }} | ||
− | + | +7GNNN | |
− | + | Результат исключения записывается в ту же переменную. | |
+ | {{Описание функции UNIFOR | ||
+ | |name=+7T | ||
+ | |title=Сортировка повторений переменной | ||
+ | }} | ||
− | + | +7TNNN | |
− | + | Результат сортировки записывается в ту же переменную. | |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+1 |
− | |title= | + | |title=Очистить (опустошить) все глобальные переменные |
}} | }} | ||
− | + | +1 | |
− | |||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor('+1') |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+1R |
− | |title= | + | |title=Чтение глобальных переменных |
}} | }} | ||
− | + | +1RNNN,nnn | |
где: | где: | ||
− | * | + | * NNN – номер первой или единственной переменной, возможна конструкция *+-<число>. * - номер текущего повторения в повторяющейся группе. |
− | * | + | * nnn – кол-во переменных (по умолчанию 1). |
+ | |||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor(‘+1R100,2’) |
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+1W |
− | |title= | + | |title=Запись в глобальные переменные |
}} | }} | ||
− | + | +1WNNN,MMM#SSSS | |
где: | где: | ||
− | * | + | * NNN – номер первой или единственной переменной, возможна конструкция *+-<число>. * - номер текущего повторения в повторяющейся группе. |
− | * | + | * MMM – номер переменной для сохранения кол-ва записанных переменных (по умолчанию не используется). |
− | * | + | * SSSS – список строк (результат расформатирования). Если задан MMM – каждая строка пишется в отдельную переменную, в противном случае все пишется в одну переменную. |
− | * | ||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor(‘+1W100,0#’,(v910/)) |
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+1K |
− | |title= | + | |title=Групповая мультираскодировка переменных |
}} | }} | ||
− | + | +1K<MNU>|NNN,nnn | |
+ | где: | ||
+ | * NNN – номер первой или единственной переменной. | ||
+ | * nnn – кол-во переменных (по умолчанию 1). | ||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor(‘+1Kmhr.mnu|100,10’) |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+1M |
− | |title= | + | |title=Перемножение двух списков (групп переменных) |
}} | }} | ||
− | + | +1MNNN,nnn#MMM,mmm | |
− | где | + | где параметры аналогичны описанным для функции {{Описание функции UNIFOR (ссылка)|name=+1K|title=Групповая мультираскодировка переменных}} |
− | + | ||
− | + | {{Описание функции UNIFOR | |
+ | |name=+1S | ||
+ | |title=Вычитание списков (групп переменных) | ||
+ | }} | ||
− | + | +1SNNN,nnn#MMM,mmm | |
− | + | где параметры аналогичны описанным для функции {{Описание функции UNIFOR (ссылка)|name=+1K|title=Групповая мультираскодировка переменных}} | |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+1A |
− | |title= | + | |title=Сложение списков (групп переменных) |
}} | }} | ||
− | + | +1ANNN,nnn#MMM,mmm | |
− | где | + | где параметры аналогичны описанным для функции {{Описание функции UNIFOR (ссылка)|name=+1K|title=Групповая мультираскодировка переменных}} |
− | + | ||
+ | {{Описание функции UNIFOR | ||
+ | |name=+1G | ||
+ | |title=Исключение неоригинальных значений из группы переменных | ||
+ | }} | ||
− | + | +1GNNN,nnn | |
− | + | где параметры аналогичны описанным для функции {{Описание функции UNIFOR (ссылка)|name=+1K|title=Групповая мультираскодировка переменных}} | |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=+1T |
− | |title= | + | |title=Сортировка группы переменных |
}} | }} | ||
− | + | +1TNNN,nnn | |
− | где | + | где параметры аналогичны описанным для функции {{Описание функции UNIFOR (ссылка)|name=+1K|title=Групповая мультираскодировка переменных}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===Функции для работы с базой данных=== | |
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=0 |
− | |title= | + | |title=Выдать содержимое документа полностью |
− | |description= | + | |description=Выдать содержимое документа полностью (формат ALLl) |
}} | }} | ||
− | + | 0 | |
− | |||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor(' | + | &unifor('0') |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=A |
− | |title= | + | |title=Выдать заданное повторение поля |
}} | }} | ||
− | + | AV<tag>^<delim>*<offset>.<length>#<occur> | |
− | где | + | где: |
+ | * <tt><tag></tt> – метка поля; | ||
+ | * <tt><delim></tt> – разделитель подполя; | ||
+ | * <tt><offset></tt> – смещение; | ||
+ | * <tt><length></tt> – длина; | ||
+ | * <tt><occur></tt> – номер повторения. | ||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor(' | + | &unifor('Av200#2') |
+ | &unifor('Av910^a#5') | ||
+ | &unifor('Av10^b*2.10#2') | ||
+ | {{Описание функции UNIFOR | ||
+ | |name=P | ||
+ | |title=Выдать заданное оригинальное повторение поля | ||
+ | |formatSeeAlsoName=A | ||
+ | |formatSeeAlsoTitle=Выдать заданное повторение поля | ||
+ | |exampleSeeAlsoName=A | ||
+ | |exampleSeeAlsoTitle=Выдать заданное повторение поля | ||
+ | }} | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
Строка 257: | Строка 381: | ||
'''Примеры:''' | '''Примеры:''' | ||
(/&unifor('1*R; ?v910^h#1')) | (/&unifor('1*R; ?v910^h#1')) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
Строка 295: | Строка 408: | ||
'''Примеры:''' | '''Примеры:''' | ||
&unifor('DBOOK,/K=AAA/,v200') | &unifor('DBOOK,/K=AAA/,v200') | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
Строка 367: | Строка 445: | ||
'''Примеры:''' | '''Примеры:''' | ||
&unifor('+F') | &unifor('+F') | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
Строка 418: | Строка 458: | ||
'''Примеры:''' | '''Примеры:''' | ||
&unifor(‘+1Omhr.mnu|’,(v910^m/)) | &unifor(‘+1Omhr.mnu|’,(v910^m/)) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
Строка 515: | Строка 502: | ||
&unifor('+I?0,,'v951^i'?',v951^t,|INTERNET|n951^t) | &unifor('+I?0,,'v951^i'?',v951^t,|INTERNET|n951^t) | ||
&unifor(|+I?1,,,,I=|v421^w|?|,v421^a) | &unifor(|+I?1,,,,I=|v421^w|?|,v421^a) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
Строка 567: | Строка 537: | ||
'''Примеры:''' | '''Примеры:''' | ||
… if &unifor(‘+6’)=’0’ then ‘запись логически удаленная’ fi … | … if &unifor(‘+6’)=’0’ then ‘запись логически удаленная’ fi … | ||
+ | |||
+ | ===Функции для работы с базой данных электронного каталога=== | ||
+ | |||
+ | {{Описание функции UNIFOR | ||
+ | |name=B | ||
+ | |title=Выдать библиографическую свертку документа | ||
+ | }} | ||
+ | |||
+ | B | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor('B') | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=C |
− | |title= | + | |title=Контроль ISSN/ISBN |
+ | |description=Контроль ISSN/ISBN. Возвращаемое значение: 0 - при положительном результате, 1 - при отрицательном | ||
}} | }} | ||
− | + | С<ISSN/ISBN> | |
− | + | ||
− | + | '''Примеры:''' | |
− | + | &unifor("C"v10^a) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=L |
− | |title= | + | |title=Вернуть окончание термина |
}} | }} | ||
− | + | L<начало_термина> | |
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor("L"v101) |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=U |
− | |title= | + | |title=Кумуляция номеров журналов |
}} | }} | ||
− | + | U<strbase>,<stradd> | |
где: | где: | ||
− | * | + | * <strbase> - исходная кумулированная строка. |
− | * | + | * <stradd> - кумулируемые номера. |
− | |||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor("U"v909^h",12") |
− | |||
− | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=V |
− | |title= | + | |title=Декумуляция номеров журналов |
}} | }} | ||
− | + | V<strbase> | |
где: | где: | ||
− | + | <strbase> - исходная строка для декумуляции. | |
− | |||
'''Примеры:''' | '''Примеры:''' | ||
− | &unifor( | + | &unifor("V"v909^h") |
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=W |
− | |title= | + | |title=Контроль кумуляции |
}} | }} | ||
− | + | W<strbadd>,<strbase> | |
где: | где: | ||
− | * | + | * <strbase> - исходная кумулированная строка. |
− | * | + | * <stradd> - кумулируемый номер. |
+ | '''Возвращаемые значения:''' | ||
+ | * 0 - если <stradd> не присутствует в <strbase>. | ||
+ | * 1 - если <stradd> присутствует в <strbase>. | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor("W12,"v909^h) | ||
+ | |||
+ | ===Функции, используемые только в глобальной корректировке=== | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=Z |
− | |title= | + | |title=Размножение экземпляров |
+ | |description=Размножение экземпляров. Функция ничего не возвращает. Можно применять только в глобальной корректировке | ||
}} | }} | ||
− | + | Z | |
− | + | ||
+ | '''Примеры:''' | ||
+ | &unifor('Z') | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=M |
− | |title= | + | |title=Отсортировать повторения заданного поля |
+ | |description=Отсортировать повторения заданного поля (имеется в виду строковая сортировка) - функция ничего не возвращает. Можно применять только в глобальной корректировке | ||
}} | }} | ||
− | + | MX<tag>^<delims> | |
− | + | где: | |
+ | * X - вид сортировки: I - по возрастанию; D - по убыванию. | ||
+ | * <tag> - метка поля. | ||
+ | * <delims> - разделители подполей, определяющих ключ сортировки. | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor('MI910^BD') | ||
+ | |||
+ | ===Функции, не вошедшие в другие категории=== | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=S |
− | |title= | + | |title=Универсальный счетчик |
}} | }} | ||
− | + | SN | |
− | + | где: | |
+ | * N=0 - обнулить счетчик. | ||
+ | * N=1..9 - увеличить значение счетчика на со-отв. значение. | ||
+ | * N=A - вернуть значение счетчика - арабскими цифрами. | ||
+ | * N=X - вернуть значение счетчика - римскими цифрами. | ||
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor('S0') | ||
+ | &unifor('S1') | ||
+ | &unifor('SA') | ||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name= | + | |name=R |
− | |title= | + | |title=Генерация случайного числа |
}} | }} | ||
− | + | RNN | |
− | + | где NN - кол-во знаков в случайном числе (по умолчанию - 6). | |
+ | |||
+ | '''Примеры:''' | ||
+ | &unifor('R10') | ||
+ | |||
{{Описание функции UNIFOR | {{Описание функции UNIFOR | ||
− | |name=+ | + | |name=+9 |
− | |title= | + | |title=Группа технических форматных выходов |
}} | }} | ||
− | + | + | +9T<исходные_данные> |
− | + | T – определяет тип и принимает следующие значения: | |
+ | * 0 - вернуть номер текущего повторения в повторяющейся группе (исходные данные не задаются); | ||
+ | * 1 - вернуть имя файла из заданного полного пути/имени; | ||
+ | * 2 - вернуть путь из заданного полного пути/имени; | ||
+ | * 3 - вернуть расширение из заданного полного пути/имени; | ||
+ | * 4 – вернуть имя диска из заданного полного пути; | ||
+ | * 5 - вернуть длину исходной строки; | ||
+ | * 6 - вернуть фрагмент строки: | ||
+ | +96A*SSS.NNN#<строка> | ||
+ | где: | ||
+ | ** A - направление: 0 - с начала строки; 1 - с конца; | ||
+ | ** SSS – смещение; | ||
+ | ** NNN - кол-во символов; | ||
+ | * 7 - вернуть строку в верхнем регистре; | ||
+ | * 8 - заменить в заданной строке один символ на другой (регистр учитывается): | ||
+ | +98ab<строка> | ||
+ | где: | ||
+ | ** a - заменяемый символ; | ||
+ | ** b – заменяющий символ; | ||
+ | * 9 - групповая установка глобальных переменных (для ИРБИС-Навигатора). Исходная строка закодирована через URLEncode (&unifor('+3E....). После раскодировки рассматривается как список строк(TStringList.Text). Каждая строка этого списка имеет структуру: NNN#<значение_глобальной_переменной_NNN>; | ||
+ | * C – вставить данные из заданного текстового файла: | ||
+ | +9С<path>,<dbname>,<filename> | ||
+ | ** <path> – определяет относительный путь к файлу в рамках ИР-БИС и принимает значения: 0 – основная директория системы (для ИРБИС32 – та, где находятся исполняемые модули; для ИРБИС64 – та, где находятся исполняемые модули сервера); 1 – общая директория баз данных (по умолчанию \DATAI); 10 – директо-рия конкретной БД; | ||
+ | ** <dbname> – имя БД (имеет смысл только при path=10). По умолчанию – предполагается текущая БД; | ||
+ | ** <filename> – имя файла; | ||
+ | * D – сохранить заданный внутренний двоичный объект в заданном файле: +9DNN#<полный путь>, где NN – номер внутреннего двоичного объекта; | ||
+ | * F – вернуть ANSI-символ с заданным кодом; | ||
+ | * G - преобразовать заданную строку в список слов. | ||
+ | |||
[[Категория:Язык форматирования системы ИРБИС]] | [[Категория:Язык форматирования системы ИРБИС]] |
Версия 13:56, 8 апреля 2010
Содержание
- 1 Перечень функций формат-программы UNIFOR с примерами их применения
- 1.1 Функции для обработки строк
- 1.1.1 Удалить двойные кавычки из заданной строки – &uf('9…
- 1.1.2 Вернуть заданное количество слов с начала строки – &uf('E…
- 1.1.3 Вернуть часть строки, начиная со следующего слова после указанного и до конца строки – &uf('F…
- 1.1.4 Вернуть часть строки до или начиная с заданного символа – &uf('G…
- 1.1.5 Транслитерация кириллических символов с помощью латиницы – &uf('T…
- 1.1.6 Удаление из заданной строки фрагментов, выделенных угловыми скобками <> – &uf('X…
- 1.1.7 Вернуть заданную строку в нижнем регистре – &uf('Q…
- 1.1.8 Кодирование данных для представления в URL – &uf('+3E…
- 1.1.9 Декодирование данных из URL – &uf('+3D…
- 1.2 Функции для работы с датой и временем
- 1.3 Функции для работы с глобальными переменными
- 1.3.1 Очистить (опустошить) все глобальные переменные – &uf('+7…
- 1.3.2 Чтение глобальной переменной – &uf('+7R…
- 1.3.3 Запись глобальной переменной – &uf('+7W…
- 1.3.4 Добавление повторений глобальной переменной – &uf('+7U…
- 1.3.5 Логическое перемножение повторений двух переменных – &uf('+7M…
- 1.3.6 Логическое вычитание повторений двух переменных – &uf('+7S…
- 1.3.7 Логическое сложение повторений двух переменных – &uf('+7A…
- 1.3.8 Исключение неоригинальных повторений переменной – &uf('+7G…
- 1.3.9 Сортировка повторений переменной – &uf('+7T…
- 1.3.10 Очистить (опустошить) все глобальные переменные – &uf('+1…
- 1.3.11 Чтение глобальных переменных – &uf('+1R…
- 1.3.12 Запись в глобальные переменные – &uf('+1W…
- 1.3.13 Групповая мультираскодировка переменных – &uf('+1K…
- 1.3.14 Перемножение двух списков (групп переменных) – &uf('+1M…
- 1.3.15 Вычитание списков (групп переменных) – &uf('+1S…
- 1.3.16 Сложение списков (групп переменных) – &uf('+1A…
- 1.3.17 Исключение неоригинальных значений из группы переменных – &uf('+1G…
- 1.3.18 Сортировка группы переменных – &uf('+1T…
- 1.4 Функции для работы с базой данных
- 1.4.1 Выдать содержимое документа полностью – &uf('0…
- 1.4.2 Выдать заданное повторение поля – &uf('A…
- 1.4.3 Выдать заданное оригинальное повторение поля – &uf('P…
- 1.4.4 Раскодировка через справочник (меню) – &uf('K…
- 1.4.5 Вернуть параметр из INI-файла – &uf('I…
- 1.4.6 Вернуть заданный подэлемент – &uf('1…
- 1.4.7 Вернуть кол-во ссылок для заданного термина – &uf('J…
- 1.4.8 Форматирование документа из другой БД – &uf('D…
- 1.4.9 Расформатирование группы связанных документов из другой БД – &uf('7…
- 1.4.10 Команда постредактуры: очистить результат расформатирования от двойных разделителей – &uf('!…
- 1.4.11 Команда постредактуры: очистить результат расформатирования от RTF-конструкций – &uf('+F…
- 1.4.12 Групповая мультираскодировка списка – &uf('+1O…
- 1.4.13 Исключение неоригинальных значений из списка – &uf('+1I…
- 1.4.14 Сортировка списка – &uf('+1V…
- 1.4.15 Формирования ссылки (гиперссылки) – &uf('+I…
- 1.4.16 Выдача метки, порядкового номера и значения поля в соответствии с индексом (номером повторения) повторяющейся группы – &uf('+4…
- 1.4.17 Выдача элемента списка/справочника в соответствии с индексом (номером повторения) повторяющейся группы – &uf('+5…
- 1.4.18 Выдать статус записи – &uf('+6…
- 1.5 Функции для работы с базой данных электронного каталога
- 1.6 Функции, используемые только в глобальной корректировке
- 1.7 Функции, не вошедшие в другие категории
- 1.1 Функции для обработки строк
Перечень функций формат-программы UNIFOR с примерами их применения
Функции для обработки строк
Удалить двойные кавычки из заданной строки – &uf('9…
Вид функции: 9.
Назначение: Удалить двойные кавычки из заданной строки.
Формат (передаваемая строка):
9<исх.строка>
Примеры:
&unifor("9"v200^a)
Вернуть заданное количество слов с начала строки – &uf('E…
Вид функции: E.
Назначение: Вернуть заданное количество слов с начала строки.
Формат (передаваемая строка):
EN<строка>
где N - количество слов (одна цифра).
Примеры:
&unifor("E3"v200^a)
Вернуть часть строки, начиная со следующего слова после указанного и до конца строки – &uf('F…
Вид функции: F.
Назначение: Вернуть часть строки, начиная со следующего слова после указанного и до конца строки.
Формат (передаваемая строка):
FN<строка>
где N - количество слов (одна цифра).
Примеры:
&unifor("F3"v200^a)
Вернуть часть строки до или начиная с заданного символа – &uf('G…
Вид функции: G.
Назначение: Вернуть часть строки до или начиная с заданного символа.
Формат (передаваемая строка):
GNA<строка>
где:
- N=0 если ДО заданного символа (не включая его); N=1 если начиная С заданного символа (включая его).
- А - заданный символ (# - обозначает цифру; $ - обозначает букву).
Примеры:
&unifor("G0#"v700) &unifor("G1-"v700^a)
Транслитерация кириллических символов с помощью латиницы – &uf('T…
Вид функции: T.
Назначение: Транслитерация кириллических символов с помощью латиницы.
Формат (передаваемая строка):
TN<строка>
где N - вид таблицы транслитерации (0 или 1).
Примеры:
&unifor("T0"V200)
Удаление из заданной строки фрагментов, выделенных угловыми скобками <> – &uf('X…
Вид функции: X.
Назначение: Удаление из заданной строки фрагментов, выделенных угловыми скобками <>.
Формат (передаваемая строка):
X<строка>
Примеры:
&unifor("X"v200)
Вернуть заданную строку в нижнем регистре – &uf('Q…
Вид функции: Q.
Назначение: Вернуть заданную строку в нижнем регистре.
Формат (передаваемая строка):
Q<строка>
Примеры:
&unifor("Q"v200)
Кодирование данных для представления в URL – &uf('+3E…
Вид функции: +3E.
Назначение: Кодирование данных для представления в URL.
Формат (передаваемая строка):
+3E<данные>
Примеры:
&unifor(‘+3E’,v1007)
Декодирование данных из URL – &uf('+3D…
Вид функции: +3D.
Назначение: Декодирование данных из URL.
Формат (передаваемая строка):
+3D<данные>
Функции для работы с датой и временем
Выдача данных, связанных с датой и временем – &uf('3…
Вид функции: 3.
Назначение: Выдача данных, связанных с датой и временем.
Формат (передаваемая строка):
Имеются следующие подфункции:
- 3 - выдать текущую дату в виде ГГГГММДД.
- 30 - выдать текущий год в виде ГГГГ.
- 31 - выдать текущий месяц в виде ММ (с лидирующим нулем).
- 32 - выдать текущий день в виде ДД (с лидирующим нулем).
- 33 - выдать текущий год в виде ГГ.
- 34 - выдать текущий месяц в виде М (без лидирующего нуля).
- 35 - выдать текущий день в виде Д (без лидирующего нуля).
- 36MM - выдать по заданному номеру месяца его название на русском языке в именительном падеже.
- 37MM - выдать по заданному номеру месяца его название на русском языке в родительном падеже.
- 38MM - выдать по заданному номеру месяца его название на английском языке.
- 39 - выдать текущее время.
- 3А - выдать номер текущего дня от начала года.
- 3BГГГГММДД/ддд - прибавить/вычесть из заданной даты в виде ГГГГММДД заданное количество дней (ддд – м.б. с минусом) и вернуть полученную дату в виде ГГГГММДД.
- 3СГГГГММДД/ГГГГММДД - вычесть из одной даты в виде ГГГГММДД другую дату в виде ГГГГММДД и вернуть разницу в виде количества дней.
Примеры:
&unifor('36',&unifor('34'))
Функции для работы с глобальными переменными
Очистить (опустошить) все глобальные переменные – &uf('+7…
Вид функции: +7.
Назначение: Очистить (опустошить) все глобальные переменные.
Формат (передаваемая строка):
+7
Примеры:
&unifor('+7')
Чтение глобальной переменной – &uf('+7R…
Вид функции: +7R.
Назначение: Чтение глобальной переменной.
Формат (передаваемая строка):
+7RNNN,nnn
где:
- NNN – номер переменной.
- nnn – номер повторения. По умолчанию - номер текущего повторения в повторяющейся группе.
Эквивалентная конструкция языка форматирования GNNN.
Примеры:
&unifor(‘+7R100’)
эквивалентная конструкция языка форматирования:
G100
Запись глобальной переменной – &uf('+7W…
Вид функции: +7W.
Назначение: Запись глобальной переменной.
Формат (передаваемая строка):
+7WNNN#SSSS
где:
- NNN – номер переменной;
- SSSS – список строк (результат расформатирования); каждая строка становится отдельным повторением.
Примеры:
&unifor(‘+7W100#’,(v910/))
Добавление повторений глобальной переменной – &uf('+7U…
Вид функции: +7U.
Назначение: Добавление повторений глобальной переменной.
Формат (передаваемая строка):
+7UNNN#SSSS
где:
- NNN – номер переменной;
- SSSS – список строк (результат расформатирования); каждая строка становится отдельным повторением.
Логическое перемножение повторений двух переменных – &uf('+7M…
Вид функции: +7M.
Назначение: Логическое перемножение повторений двух переменных.
Формат (передаваемая строка):
+7MNNN#MMM
Результат перемножения записывается в первую переменную.
Логическое вычитание повторений двух переменных – &uf('+7S…
Вид функции: +7S.
Назначение: Логическое вычитание повторений двух переменных.
Формат (передаваемая строка):
+7SNNN#MMM
Результат вычитания записывается в первую переменную.
Логическое сложение повторений двух переменных – &uf('+7A…
Вид функции: +7A.
Назначение: Логическое сложение повторений двух переменных.
Формат (передаваемая строка):
+7ANNN#MMM
Результат сложения записывается в первую переменную.
Исключение неоригинальных повторений переменной – &uf('+7G…
Вид функции: +7G.
Назначение: Исключение неоригинальных повторений переменной.
Формат (передаваемая строка):
+7GNNN
Результат исключения записывается в ту же переменную.
Сортировка повторений переменной – &uf('+7T…
Вид функции: +7T.
Назначение: Сортировка повторений переменной.
Формат (передаваемая строка):
+7TNNN
Результат сортировки записывается в ту же переменную.
Очистить (опустошить) все глобальные переменные – &uf('+1…
Вид функции: +1.
Назначение: Очистить (опустошить) все глобальные переменные.
Формат (передаваемая строка):
+1
Примеры:
&unifor('+1')
Чтение глобальных переменных – &uf('+1R…
Вид функции: +1R.
Назначение: Чтение глобальных переменных.
Формат (передаваемая строка):
+1RNNN,nnn
где:
- NNN – номер первой или единственной переменной, возможна конструкция *+-<число>. * - номер текущего повторения в повторяющейся группе.
- nnn – кол-во переменных (по умолчанию 1).
Примеры:
&unifor(‘+1R100,2’)
Запись в глобальные переменные – &uf('+1W…
Вид функции: +1W.
Назначение: Запись в глобальные переменные.
Формат (передаваемая строка):
+1WNNN,MMM#SSSS
где:
- NNN – номер первой или единственной переменной, возможна конструкция *+-<число>. * - номер текущего повторения в повторяющейся группе.
- MMM – номер переменной для сохранения кол-ва записанных переменных (по умолчанию не используется).
- SSSS – список строк (результат расформатирования). Если задан MMM – каждая строка пишется в отдельную переменную, в противном случае все пишется в одну переменную.
Примеры:
&unifor(‘+1W100,0#’,(v910/))
Групповая мультираскодировка переменных – &uf('+1K…
Вид функции: +1K.
Назначение: Групповая мультираскодировка переменных.
Формат (передаваемая строка):
+1K<MNU>|NNN,nnn
где:
- NNN – номер первой или единственной переменной.
- nnn – кол-во переменных (по умолчанию 1).
Примеры:
&unifor(‘+1Kmhr.mnu|100,10’)
Перемножение двух списков (групп переменных) – &uf('+1M…
Вид функции: +1M.
Назначение: Перемножение двух списков (групп переменных).
Формат (передаваемая строка):
+1MNNN,nnn#MMM,mmm
где параметры аналогичны описанным для функции Групповая мультираскодировка переменных – &uf('+1K…
Вычитание списков (групп переменных) – &uf('+1S…
Вид функции: +1S.
Назначение: Вычитание списков (групп переменных).
Формат (передаваемая строка):
+1SNNN,nnn#MMM,mmm
где параметры аналогичны описанным для функции Групповая мультираскодировка переменных – &uf('+1K…
Сложение списков (групп переменных) – &uf('+1A…
Вид функции: +1A.
Назначение: Сложение списков (групп переменных).
Формат (передаваемая строка):
+1ANNN,nnn#MMM,mmm
где параметры аналогичны описанным для функции Групповая мультираскодировка переменных – &uf('+1K…
Исключение неоригинальных значений из группы переменных – &uf('+1G…
Вид функции: +1G.
Назначение: Исключение неоригинальных значений из группы переменных.
Формат (передаваемая строка):
+1GNNN,nnn
где параметры аналогичны описанным для функции Групповая мультираскодировка переменных – &uf('+1K…
Сортировка группы переменных – &uf('+1T…
Вид функции: +1T.
Назначение: Сортировка группы переменных.
Формат (передаваемая строка):
+1TNNN,nnn
где параметры аналогичны описанным для функции Групповая мультираскодировка переменных – &uf('+1K…
Функции для работы с базой данных
Выдать содержимое документа полностью – &uf('0…
Вид функции: 0.
Назначение: Выдать содержимое документа полностью (формат ALLl).
Формат (передаваемая строка):
0
Примеры:
&unifor('0')
Выдать заданное повторение поля – &uf('A…
Вид функции: A.
Назначение: Выдать заданное повторение поля.
Формат (передаваемая строка):
AV<tag>^<delim>*<offset>.<length>#<occur>
где:
- <tag> – метка поля;
- <delim> – разделитель подполя;
- <offset> – смещение;
- <length> – длина;
- <occur> – номер повторения.
Примеры:
&unifor('Av200#2') &unifor('Av910^a#5') &unifor('Av10^b*2.10#2')
Выдать заданное оригинальное повторение поля – &uf('P…
Вид функции: P.
Назначение: Выдать заданное оригинальное повторение поля.
Формат (передаваемая строка): см. формат для функции Выдать заданное повторение поля – &uf('A….
Примеры: см. примеры для функции Выдать заданное повторение поля – &uf('A….
Раскодировка через справочник (меню) – &uf('K…
Вид функции: K.
Назначение: Раскодировка через справочник (меню).
Формат (передаваемая строка):
K<имя_меню>\<исх_значение>
Примеры:
&unifor("Kjz.mnu\"v101)
Вернуть параметр из INI-файла – &uf('I…
Вид функции: I.
Назначение: Вернуть параметр из INI-файла.
Формат (передаваемая строка):
I<SECTION>,<PAR_NAME>,<DE-FAULT_VALUE>
Примеры:
&unifor('IPRIVATE,NAME,NONAME')
Вернуть заданный подэлемент – &uf('1…
Вид функции: 1.
Назначение: Вернуть заданный подэлемент.
Формат (передаваемая строка):
1NCXY?V<tag>^<delim>*<offset>.<length>#<occur>
где:
- N - номер повторения подэлемента; если указана * - номер подэлемента совпадает со счетчиком повторяющейся группы.
- ХY - разделители между подэлементами.
- С - принимает значения: R - разделители справа от каждого подэлемента, кроме последнего; L - разделители слева от каждого подэлемента; D - каждый подэлемент заключен слева разделителем Х и справа - Y.
- ? - символ-разделитель.
- Остальные параметры аналогичны параметрам для функции Выдать заданное повторение поля – &uf('A….
Примеры:
(/&unifor('1*R; ?v910^h#1'))
Вернуть кол-во ссылок для заданного термина – &uf('J…
Вид функции: J.
Назначение: Вернуть кол-во ссылок для заданного термина.
Формат (передаваемая строка):
J<dbn>,<термин>
<dbn> - имя БД; по умолчанию используется текущая.
Примеры:
&unifor('JBOOK,',"A="v200^a)
Форматирование документа из другой БД – &uf('D…
Вид функции: D.
Назначение: Форматирование документа из другой БД (REF на другую БД – отношение «от одного к одному»).
Формат (передаваемая строка):
D<dbn>,<@mfn|/termin/>,<@имя_формата|формат|*>
Передаются три параметра, разделенные запятой:
- Первый - имя БД;
- Второй - или непосредственно MFN с предшествующим символом @ или термин, ссылающийся на документ (термин - заключается в ограничительные символы);
- Третий - или имя формата с предшествующим символом @ или непосредственно формат.
Если задается *, данные выводятся по прямой ссылке (метка поля, номер повторения).
Примеры:
&unifor('DBOOK,/K=AAA/,v200')
Расформатирование группы связанных документов из другой БД – &uf('7…
Вид функции: 7.
Назначение: Расформатирование группы связанных документов из другой БД (отношение «от одного к многим»).
Формат (передаваемая строка):
7<имя_БД>,</termin/>,<@имя_формата|формат|*>
где:
- имя_БД - имя базы данных, из которой будут браться связанные документы; по умолчанию используется текущая БД.
- /termin/ - ключевой термин, на основе которого отбираются связанные документы; термин заключается в уникальные ограничители (например. /), в качестве которых используется символ, не входящий (гарантированно) в термин.
- @имя_формата|формат|* - имя формата или формат в явном виде, в соответствии с которым будут расформатироваться связанные документы. Если задается имя формата, то он берется из директории БД, заданной параметром <имя_БД>. Если задается *, данные выводятся по прямой ссылке (метка поля, номер повторения).
Примеры:
&unifor('7TEST,',"/T="v200^a"/",',v903"\par "')
Команда постредактуры: очистить результат расформатирования от двойных разделителей – &uf('!…
Вид функции: !.
Назначение: Команда постредактуры: очистить результат расформатирования от двойных разделителей (двойных точек или двойных конструкций <. - >). Имеет смысл использовать один раз в любом месте формата.
Формат (передаваемая строка):
!
Примеры:
&unifor('!')
Команда постредактуры: очистить результат расформатирования от RTF-конструкций – &uf('+F…
Вид функции: +F.
Назначение: Команда постредактуры: очистить результат расформатирования от RTF-конструкций. Имеет смысл использовать один раз в любом месте формата.
Формат (передаваемая строка):
+F
Примеры:
&unifor('+F')
Групповая мультираскодировка списка – &uf('+1O…
Вид функции: +1O.
Назначение: Групповая мультираскодировка списка.
Формат (передаваемая строка):
+1O<MNU>|SSSS
где:
- <MNU> имя справочника (с расширением).
- SSSS – список строк (результат расформатирования.
Примеры:
&unifor(‘+1Omhr.mnu|’,(v910^m/))
Исключение неоригинальных значений из списка – &uf('+1I…
Вид функции: +1I.
Назначение: Исключение неоригинальных значений из списка.
Формат (передаваемая строка):
+1ISSSS
где параметры аналогичны описанным для функции Групповая мультираскодировка списка – &uf('+1O…
Сортировка списка – &uf('+1V…
Вид функции: +1V.
Назначение: Сортировка списка.
Формат (передаваемая строка):
+1VSSSS
где параметры аналогичны описанным для функции Групповая мультираскодировка списка – &uf('+1O…
Формирования ссылки (гиперссылки) – &uf('+I…
Вид функции: +I.
Назначение: Формирования ссылки (гиперссылки).
Формат (передаваемая строка):
+I/содержание_ссылки/название_ссылки
/содержание_ссылки/ - внутренние данные ссылки, ограниченные уникальным разделителем. Имеют структуру
NNN,HHH,<параметры>
где:
- NNN - тип ссылки, возможные значения:
- 0 - ссылки на внешние объекты;
- 1 - ссылка на связанный документ (возможно в другой БД) - "от одного к одному";
- 2 - ссылка на связанные документы (возможно в другой БД) - "от одного к многим";
- HHH - экранная подсказка, может иметь вид: @iii - где iii - номер текста в файле IRBISMSG.TXT, \text\ - собственно текст подсказки в уникальных ограничителях.
<параметры>:
- Для ссылок типа 0 представляет собой в общем виде URL внешнего объекта (в том числе - полный путь на файл).
- Для ссылок типа 1 и 2 <параметры> имеют следующую структуру:
имя_БД,имя_формата,termin
где:
- имя_БД - имя базы данных, из которой будут браться связанные документы; по умолчанию используется текущая БД.
- имя_формата - имя формата, в соответствии с которым будут расформатироваться связанные документы. (по умолчанию - используется оптимизированный формат).
- termin - ключевой термин, на основе которого отбираются (ищутся) связанные документы.
Примеры:
&unifor('+I?0,,'v951^i'?',v951^t,|INTERNET|n951^t) &unifor(|+I?1,,,,I=|v421^w|?|,v421^a)
Выдача метки, порядкового номера и значения поля в соответствии с индексом (номером повторения) повторяющейся группы – &uf('+4…
Вид функции: +4.
Назначение: Выдача метки, порядкового номера и значения поля в соответствии с индексом (номером повторения) повторяющейся группы.
Формат (передаваемая строка):
+4XY
где:
- Х принимает три значения: T – выдать метку; F – выдать значение поле; N – выдать порядковый номер поля в записи (отличается от индекса повторения, если Y принимает значение 1);
- Y принимает значения: 0 – поля выдаются в порядке расположения в записи; 1 – поля выдаются в порядке возрастания меток (по умолчанию 0).
Примеры:
(…&unifor(‘+4T1’),’_’ &unifor(‘+4N1’),’: ‘, &unifor(‘+4F1’),’
’…)
Выдача элемента списка/справочника в соответствии с индексом (номером повторения) повторяющейся группы – &uf('+5…
Вид функции: +5.
Назначение: Выдача элемента списка/справочника в соответствии с индексом (номером повторения) повторяющейся группы.
Формат (передаваемая строка):
+5Х<имя_справочника/списка>
где Х принимает значения: Т – выдать значение; F – выдать пояснение (имеет смысл, если задается справочник, т.е. файл с расширением MNU).
Примеры:
…(…&unifor(‘+5Tfield.mnu’),’ - ’,&unifor(‘+5Ffield.mnu’),’
’…)
Выдать статус записи – &uf('+6…
Вид функции: +6.
Назначение: Выдать статус записи. Если запись логически удаленная, возвращается 0, в противном случае - 1.
Формат (передаваемая строка):
+6
Примеры:
… if &unifor(‘+6’)=’0’ then ‘запись логически удаленная’ fi …
Функции для работы с базой данных электронного каталога
Выдать библиографическую свертку документа – &uf('B…
Вид функции: B.
Назначение: Выдать библиографическую свертку документа.
Формат (передаваемая строка):
B
Примеры:
&unifor('B')
Контроль ISSN/ISBN – &uf('C…
Вид функции: C.
Назначение: Контроль ISSN/ISBN. Возвращаемое значение: 0 - при положительном результате, 1 - при отрицательном.
Формат (передаваемая строка):
С<ISSN/ISBN>
Примеры:
&unifor("C"v10^a)
Вернуть окончание термина – &uf('L…
Вид функции: L.
Назначение: Вернуть окончание термина.
Формат (передаваемая строка):
L<начало_термина>
Примеры:
&unifor("L"v101)
Кумуляция номеров журналов – &uf('U…
Вид функции: U.
Назначение: Кумуляция номеров журналов.
Формат (передаваемая строка):
U<strbase>,<stradd>
где:
- <strbase> - исходная кумулированная строка.
- <stradd> - кумулируемые номера.
Примеры:
&unifor("U"v909^h",12")
Декумуляция номеров журналов – &uf('V…
Вид функции: V.
Назначение: Декумуляция номеров журналов.
Формат (передаваемая строка):
V<strbase>
где: <strbase> - исходная строка для декумуляции.
Примеры:
&unifor("V"v909^h")
Контроль кумуляции – &uf('W…
Вид функции: W.
Назначение: Контроль кумуляции.
Формат (передаваемая строка):
W<strbadd>,<strbase>
где:
- <strbase> - исходная кумулированная строка.
- <stradd> - кумулируемый номер.
Возвращаемые значения:
- 0 - если <stradd> не присутствует в <strbase>.
- 1 - если <stradd> присутствует в <strbase>.
Примеры:
&unifor("W12,"v909^h)
Функции, используемые только в глобальной корректировке
Размножение экземпляров – &uf('Z…
Вид функции: Z.
Назначение: Размножение экземпляров. Функция ничего не возвращает. Можно применять только в глобальной корректировке.
Формат (передаваемая строка):
Z
Примеры:
&unifor('Z')
Отсортировать повторения заданного поля – &uf('M…
Вид функции: M.
Назначение: Отсортировать повторения заданного поля (имеется в виду строковая сортировка) - функция ничего не возвращает. Можно применять только в глобальной корректировке.
Формат (передаваемая строка):
MX<tag>^<delims>
где:
- X - вид сортировки: I - по возрастанию; D - по убыванию.
- <tag> - метка поля.
- <delims> - разделители подполей, определяющих ключ сортировки.
Примеры:
&unifor('MI910^BD')
Функции, не вошедшие в другие категории
Универсальный счетчик – &uf('S…
Вид функции: S.
Назначение: Универсальный счетчик.
Формат (передаваемая строка):
SN
где:
- N=0 - обнулить счетчик.
- N=1..9 - увеличить значение счетчика на со-отв. значение.
- N=A - вернуть значение счетчика - арабскими цифрами.
- N=X - вернуть значение счетчика - римскими цифрами.
Примеры:
&unifor('S0') &unifor('S1') &unifor('SA')
Генерация случайного числа – &uf('R…
Вид функции: R.
Назначение: Генерация случайного числа.
Формат (передаваемая строка):
RNN
где NN - кол-во знаков в случайном числе (по умолчанию - 6).
Примеры:
&unifor('R10')
Группа технических форматных выходов – &uf('+9…
Вид функции: +9.
Назначение: Группа технических форматных выходов.
Формат (передаваемая строка):
+9T<исходные_данные>
T – определяет тип и принимает следующие значения:
- 0 - вернуть номер текущего повторения в повторяющейся группе (исходные данные не задаются);
- 1 - вернуть имя файла из заданного полного пути/имени;
- 2 - вернуть путь из заданного полного пути/имени;
- 3 - вернуть расширение из заданного полного пути/имени;
- 4 – вернуть имя диска из заданного полного пути;
- 5 - вернуть длину исходной строки;
- 6 - вернуть фрагмент строки:
+96A*SSS.NNN#<строка>
где:
- A - направление: 0 - с начала строки; 1 - с конца;
- SSS – смещение;
- NNN - кол-во символов;
- 7 - вернуть строку в верхнем регистре;
- 8 - заменить в заданной строке один символ на другой (регистр учитывается):
+98ab<строка>
где:
- a - заменяемый символ;
- b – заменяющий символ;
- 9 - групповая установка глобальных переменных (для ИРБИС-Навигатора). Исходная строка закодирована через URLEncode (&unifor('+3E....). После раскодировки рассматривается как список строк(TStringList.Text). Каждая строка этого списка имеет структуру: NNN#<значение_глобальной_переменной_NNN>;
- C – вставить данные из заданного текстового файла:
+9С<path>,<dbname>,<filename>
- <path> – определяет относительный путь к файлу в рамках ИР-БИС и принимает значения: 0 – основная директория системы (для ИРБИС32 – та, где находятся исполняемые модули; для ИРБИС64 – та, где находятся исполняемые модули сервера); 1 – общая директория баз данных (по умолчанию \DATAI); 10 – директо-рия конкретной БД;
- <dbname> – имя БД (имеет смысл только при path=10). По умолчанию – предполагается текущая БД;
- <filename> – имя файла;
- D – сохранить заданный внутренний двоичный объект в заданном файле: +9DNN#<полный путь>, где NN – номер внутреннего двоичного объекта;
- F – вернуть ANSI-символ с заданным кодом;
- G - преобразовать заданную строку в список слов.