Цитата:Пример файла (набранный ручками), как он должен быть (выглядеть) - в студию!
Файлик example.doc
Цитата:Слабо понял, что должно быть и где. Если это вывод словаря (как в ИРБИСе) в текстовый файл в два столбца - то это одно. А если что-то другое, то непонятно что.
Желательно выходная форма в виде таблицы.
Цитата:Gena
Тут эта "проблема" засветилась уже в нескольких темах. И все время не объясняется "зачем". Возможно изначальную задачу было бы проще решить с другой стороны, если бы она была известна окружающим...
Уточню условия задачи и попытаюсь объяснить, что необходимо сделать подробно.
Имеется 2 БД:
1) БД № 1 библиографическая, каждая запись имеет индекс ББК, записи в процессе работы не меняются, применяется для получения выходных форм.
2) БД № 2 авторитетная, упрощенный рубрикатор ББК
в файле ТВП нет своего словаря. Поэтому применение функции определения ссылок для термина не применимо.
Требуется получить выходную форму в виде таблички. Формат выбора ключа работает таким образом, что сверяет нужное повторение поля ББК из БД № 1 с полем индекса в БД № 2 по N-му количеству знаков.
Пример кода:
MHL, &uf('+7'), (if p(v686) then if &uf('KSer3.mnu!'v686^a.1)<>'' then &uf('+7U100#'v686^a) fi fi/), &uf('+7W200#'&uf('Ag100#1')), if &uf('DRUBRI,!IND1='g200.17"!,v10")<>'' then '^A'g200.17 else if &uf('DRUBRI,!IND1='g200.16"!,v10")<>'' then '^A'g200.16 else if &uf('DRUBRI,!IND1='g200.15"!,v10")<>'' then '^A'g200.15 else if &uf('DRUBRI,!IND1='g200.14"!,v10")<>'' then '^A'g200.14 else if &uf('DRUBRI,!IND1='g200.13"!,v10")<>'' then '^A'g200.13 else if &uf('DRUBRI,!IND1='g200.12"!,v10")<>'' then '^A'g200.12 else if &uf('DRUBRI,!IND1='g200.11"!,v10")<>'' then '^A'g200.11 else if &uf('DRUBRI,!IND1='g200.10"!,v10")<>'' then '^A'g200.10 else if &uf('DRUBRI,!IND1='g200.9"!,v10")<>'' then '^A'g200.9 else if &uf('DRUBRI,!IND1='g200.8"!,v10")<>'' then '^A'g200.8 else if &uf('DRUBRI,!IND1='g200.7"!,v10")<>'' then '^A'g200.7 else if &uf('DRUBRI,!IND1='g200.6"!,v10")<>'' then '^A'g200.6 else if &uf('DRUBRI,!IND1='g200.5"!,v10")<>'' then '^A'g200.5 else if &uf('DRUBRI,!IND1='g200.4"!,v10")<>'' then '^A'g200.4 else if &uf('DRUBRI,!IND1='g200.3"!,v10")<>'' then '^A'g200.3 else if &uf('DRUBRI,!IND1='g200.2"!,v10")<>'' then '^A'g200.2 else if &uf('DRUBRI,!IND1='g200.1"!,v10")<>'' then '^A'g200.1 fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi fi
Предварительно сформирован словарь IND1= в БД RUBRI. Идея заключается в том, чтобы определить количество документов в некоем списке по рубрике. Условие введения этой рубрики в список определется условием в записи рубрикатора.
Задачу можно решить следующим образом:
1. Определить новый словарь для индекса. Формат fst идентичный формату выбора ключа сортировки.
2. Сделать выходную форму. Количество документов в БД № 1 определить через функцию J, используя существующий ключ словаря.
Для получения актуальных данных в выходной форме необходимо проинвертировать БД. Это требует использование сервисных функций системы. Звено "Администратор" необходимо исключить.
Итак, повторюсь, условия задачи:
1. Ключ словаря в БД № 1, по которому можно было бы получить количество документов, отсутствует физически.
2. Применяется БД-рубрикатор
3. Выводить необходимо в сортированном виде.
Не исключено, что условия задачи можно изменить.
Цитата:Пример - таблица, сделанная для словаря прификса A=, но взята ОДНА строка из ibis.fst.
Предложенный Вами вариант разбирал. Требует сущсвования словаря A= для поля 700.
не могу понять почему в конструкции используется три запятых.