Re: Систематический указатель
Пользователь:
Дунаевская (IP-адрес скрыт)
Дата: 10, December, 2010 13:38
Gena написал(а):
-------------------------------------------------------
> Светлана Михайловна, я изменил, как вы советовали,
> но результата это почему-то не дало. И еще, мне
> пришлось ввести дополнительное подполе, что бы в
> нем сохранить ФИО в изначальном виде. Теперь код
> выглядит так:
>
> if p(v700) then
> &uf('+7'),
> &unifor('+S0', '^A'&uf('+7w1#'v700^a,"
> "v700^d,", "v700^g,if a(v700^g) then" "v700^b fi),
> &uf('6txt_cod'))/
> '^R'&uf('+7w1#'v700^a," "v700^d,", "v700^g,if
> a(v700^g) then" "v700^b fi), &uf('6txt_cod'),
> '^B'f(val(v1009),5,0),
> '^5'f(val(v1009),0,0),/
> '^Z'v700^a," "v700^d,", "v700^g,if a(v700^g)
> then" "v700^b fi,
> fi/
>
>
> Код возвращает следующий результат
> расформатирования:
>
> ^A081100082084066058057053
> ^R081100082084066058057053^B^5
> ^ZКуклев В. А.
>
> Но все равно происходит ошибка в проставлении
> ссылок. Я прикреплю записи, по которым у нас
> формируется этот бюлетень и файлы выходной офрмы.
> Не могли бы вы посмотреть еще раз.
>
>
> Правда, форма несколько изменена по сравнению с
> базовой. В ней добавлен опросный лист, в котором
> мы указываем конкретный начальный номер
> издательского индекса. У нас принята структура
> индексов такая, что для каждого нового сборника
> прост озаводится новый начальный номер, а его
> раскрытие является структурой сборника. Для того
> что бы увидеть мою проблему, укажите в опросном
> листе начальный код - 80
Наконец-то, разобралась с Вашей проблемой.
Все дело в том, что Вы не обеспечили идентичности сортировки в Tabsu0P и SuorP.
В первом проходе (Tabsu0P) сортировка (как и в дистрибутиве) идет по первому индексу, при этом формируется виртуальная БД, в которой записи нумеруются (поле 1009).
По SuorP формируется основной ряд, но у Вас здесь идет сортировка по всем индексам поля 690, и, естественно, что новая нумерация не совпадает с полем 1009. В дистрибутивном варианте полная запись в основном ряду выводится только один раз - по первому индексу, а на все следующие индексы дается на нее ссылка.
Можете увидеть это несовпадение нумерации, если введете в SuorP.srw
в [KeyOptions] '^9'f(val(&uf('Av1009#1')),0,0)
в [HeaderFormat] после &unifor('S1A'),'. ',v1^9'='