UNIFOR — различия между версиями
Sokv (обсуждение | вклад)  | 
				Sokv (обсуждение | вклад)   | 
				||
| Строка 72: | Строка 72: | ||
|exampleSeeAlsoTitle=Выдать заданное повторение поля  | |exampleSeeAlsoTitle=Выдать заданное повторение поля  | ||
}}  | }}  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=B  | ||
| + | |title=Выдать библиографическую свертку документа  | ||
| + | }}  | ||
| + | |||
| + |  B  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor('B')  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=C  | ||
| + | |title=Контроль ISSN/ISBN  | ||
| + | |description=Контроль ISSN/ISBN. Возвращаемое значение: 0 - при положительном результате, 1 - при отрицательном  | ||
| + | }}  | ||
| + | |||
| + |  С<ISSN/ISBN>  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor("C"v10^a)  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=E  | ||
| + | |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=S  | ||
| + | |title=Универсальный счетчик  | ||
| + | }}  | ||
| + | |||
| + |  SN  | ||
| + | где:  | ||
| + | * N=0 - обнулить счетчик.  | ||
| + | * N=1..9 - увеличить значение счетчика на со-отв. значение.  | ||
| + | * N=A - вернуть значение счетчика - арабскими цифрами.  | ||
| + | * N=X - вернуть значение счетчика - римскими цифрами.  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor('S0')  | ||
| + |  &unifor('S1')  | ||
| + |  &unifor('SA')  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=L  | ||
| + | |title=Вернуть окончание термина  | ||
| + | }}  | ||
| + | |||
| + |  L<начало_термина>  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor("L"v101)  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=U  | ||
| + | |title=Кумуляция номеров журналов  | ||
| + | }}  | ||
| + | |||
| + |  U<strbase>,<stradd>  | ||
| + | где:  | ||
| + | * <strbase> - исходная кумулированная строка.  | ||
| + | * <stradd> - кумулируемые номера.  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor("U"v909^h",12")  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=V  | ||
| + | |title=Декумуляция номеров журналов  | ||
| + | }}  | ||
| + | |||
| + |  V<strbase>  | ||
| + | где:  | ||
| + | <strbase> - исходная строка для декумуляции.  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor("V"v909^h")  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=W  | ||
| + | |title=Контроль кумуляции  | ||
| + | }}  | ||
| + | |||
| + |  W<strbadd>,<strbase>  | ||
| + | где:  | ||
| + | * <strbase> - исходная кумулированная строка.  | ||
| + | * <stradd> - кумулируемый номер.  | ||
| + | '''Возвращаемые значения:'''  | ||
| + | * 0 - если <stradd> не присутствует в <strbase>.  | ||
| + | * 1 - если <stradd> присутствует в <strbase>.  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor("W12,"v909^h)  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=Z  | ||
| + | |title=Размножение экземпляров  | ||
| + | |description=Размножение экземпляров. Функция ничего не возвращает. Можно применять только в глобальной корректировке  | ||
| + | }}  | ||
| + | |||
| + |  Z  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor('Z')  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=R  | ||
| + | |title=Генерация случайного числа  | ||
| + | }}  | ||
| + | |||
| + |  RNN  | ||
| + | где NN - кол-во знаков в случайном числе (по умолчанию - 6).  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor('R10')  | ||
| + | |||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=K  | ||
| + | |title=Раскодировка через справочник (меню)  | ||
| + | }}  | ||
| + | |||
| + |  K<имя_меню>\<исх_значение>  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor("Kjz.mnu\"v101)  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=I  | ||
| + | |title=Вернуть параметр из INI-файла  | ||
| + | }}  | ||
| + | |||
| + |  I<SECTION>,<PAR_NAME>,<DE-FAULT_VALUE>  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  &unifor('IPRIVATE,NAME,NONAME')  | ||
| + | |||
| + | {{Описание функции UNIFOR  | ||
| + | |name=1  | ||
| + | |title=Вернуть заданный подэлемент  | ||
| + | }}  | ||
| + | |||
| + |  1NCXY?V<tag>^<delim>*<offset>.<length>#<occur>  | ||
| + | где:  | ||
| + | * N - номер повторения подэлемента; если указана * - номер подэлемента совпадает со счетчиком повторяющейся группы.  | ||
| + | * ХY - разделители между подэлементами.  | ||
| + | * С - принимает значения: R - разделители справа от каждого подэлемента, кроме последнего; L - разделители слева от каждого подэлемента; D - каждый подэлемент заключен слева разделителем Х и справа - Y.  | ||
| + | * ? - символ-разделитель.  | ||
| + | * Остальные параметры аналогичны параметрам для функции А (см. выше).  | ||
| + | |||
| + | '''Примеры:'''  | ||
| + |  (/&unifor('1*R; ?v910^h#1'))  | ||
| + | |||
| + | |||
| + | |||
[[Категория:Язык форматирования системы ИРБИС]]  | [[Категория:Язык форматирования системы ИРБИС]]  | ||
Версия 17:09, 7 апреля 2010
Содержание
- 1 Перечень функций формат-программы UNIFOR с примерами их применения
- 1.1 Выдать содержимое документа полностью – &uf('0…
 - 1.2 Выдача данных, связанных с датой и временем – &uf('3…
 - 1.3 Удалить двойные кавычки из заданной строки – &uf('9…
 - 1.4 Выдать заданное повторение поля – &uf('A…
 - 1.5 Выдать заданное оригинальное повторение поля – &uf('P…
 - 1.6 Выдать библиографическую свертку документа – &uf('B…
 - 1.7 Контроль ISSN/ISBN – &uf('C…
 - 1.8 Вернуть заданное количество слов с начала строки – &uf('E…
 - 1.9 Вернуть часть строки, начиная со следующего слова после указанного и до конца строки – &uf('F…
 - 1.10 Вернуть часть строки до или начиная с заданного символа – &uf('G…
 - 1.11 Универсальный счетчик – &uf('S…
 - 1.12 Вернуть окончание термина – &uf('L…
 - 1.13 Кумуляция номеров журналов – &uf('U…
 - 1.14 Декумуляция номеров журналов – &uf('V…
 - 1.15 Контроль кумуляции – &uf('W…
 - 1.16 Размножение экземпляров – &uf('Z…
 - 1.17 Генерация случайного числа – &uf('R…
 - 1.18 Раскодировка через справочник (меню) – &uf('K…
 - 1.19 Вернуть параметр из INI-файла – &uf('I…
 - 1.20 Вернуть заданный подэлемент – &uf('1…
 
 
Перечень функций формат-программы UNIFOR с примерами их применения
Выдать содержимое документа полностью – &uf('0…
Вид функции: 0.
Назначение: Выдать содержимое документа полностью (формат ALLl).
Формат (передаваемая строка):
0
Примеры:
&unifor('0')
Выдача данных, связанных с датой и временем – &uf('3…
Вид функции: 3.
Назначение: Выдача данных, связанных с датой и временем.
Формат (передаваемая строка):
Имеются следующие подфункции:
- 3 - выдать текущую дату в виде ГГГГММДД.
 - 30 - выдать текущий год в виде ГГГГ.
 - 31 - выдать текущий месяц в виде ММ (с лидирующим нулем).
 - 32 - выдать текущий день в виде ДД (с лидирующим нулем).
 - 33 - выдать текущий год в виде ГГ.
 - 34 - выдать текущий месяц в виде М (без лидирующего нуля).
 - 35 - выдать текущий день в виде Д (без лидирующего нуля).
 - 36MM - выдать по заданному номеру месяца его название на русском языке в именительном падеже.
 - 37MM - выдать по заданному номеру месяца его название на русском языке в родительном падеже.
 - 38MM - выдать по заданному номеру месяца его название на английском языке.
 - 39 - выдать текущее время.
 - 3А - выдать номер текущего дня от начала года.
 - 3BГГГГММДД/ддд - прибавить/вычесть из заданной даты в виде ГГГГММДД заданное количество дней (ддд – м.б. с минусом) и вернуть полученную дату в виде ГГГГММДД.
 - 3СГГГГММДД/ГГГГММДД - вычесть из одной даты в виде ГГГГММДД другую дату в виде ГГГГММДД и вернуть разницу в виде количества дней.
 
Примеры:
&unifor('36',&unifor('34'))
Удалить двойные кавычки из заданной строки – &uf('9…
Вид функции: 9.
Назначение: Удалить двойные кавычки из заданной строки.
Формат (передаваемая строка):
9<исх.строка>
Примеры:
&unifor("9"v200^a)
Выдать заданное повторение поля – &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('B…
Вид функции: B.
Назначение: Выдать библиографическую свертку документа.
Формат (передаваемая строка):
B
Примеры:
&unifor('B')
Контроль ISSN/ISBN – &uf('C…
Вид функции: C.
Назначение: Контроль ISSN/ISBN. Возвращаемое значение: 0 - при положительном результате, 1 - при отрицательном.
Формат (передаваемая строка):
С<ISSN/ISBN>
Примеры:
&unifor("C"v10^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('S…
Вид функции: S.
Назначение: Универсальный счетчик.
Формат (передаваемая строка):
SN
где:
- N=0 - обнулить счетчик.
 - N=1..9 - увеличить значение счетчика на со-отв. значение.
 - N=A - вернуть значение счетчика - арабскими цифрами.
 - N=X - вернуть значение счетчика - римскими цифрами.
 
Примеры:
&unifor('S0')
&unifor('S1')
&unifor('SA')
Вернуть окончание термина – &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('R…
Вид функции: R.
Назначение: Генерация случайного числа.
Формат (передаваемая строка):
RNN
где NN - кол-во знаков в случайном числе (по умолчанию - 6).
Примеры:
&unifor('R10')
Раскодировка через справочник (меню) – &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.
 - ? - символ-разделитель.
 - Остальные параметры аналогичны параметрам для функции А (см. выше).
 
Примеры:
(/&unifor('1*R; ?v910^h#1'))