Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
Перенос информации
Пользователь: Maksim (IP-адрес скрыт)
Дата: 15, September, 2004 12:02

Добрый день.

Возникла проблема след. рода...
Есть поля 910 и 810. Необходимо скопировать поле 810^a в 910^n, но со след. условием: если поле 910^a='U' и 910^d=810^d. При этом оба поля повторяются.

Спасибо.


Re: Перенос информации
Пользователь: Очагова Л.Н. (IP-адрес скрыт)
Дата: 15, September, 2004 13:13

Попробуйте сделать такой глобальной:
REP
910^n
F
(if p(v910) then if v810^a<>'' and v910^a='U' and v910^d=v810^d then v810^a else v910^n fi fi/)

Re: Перенос информации
Пользователь: Maksim (IP-адрес скрыт)
Дата: 15, September, 2004 15:54

К сожалению ничего не получается.
Информация вообще не переносится в поле 910^n.

Re: Перенос информации
Пользователь: Куделя (IP-адрес скрыт)
Дата: 16, September, 2004 04:02

И количество повторений полей 910 и 810 одинаково? Вы бы пример реальный дали

Re: Перенос информации
Пользователь: Maksim (IP-адрес скрыт)
Дата: 16, September, 2004 11:19

Пример записи следующий:

#910/98:_^A0^B754919^C20040908^DАНЛ
#910/99:_^A0^B763352^C20040908^DАНЛ
#910/100:_^A0^B763927^C20040908^DАНЛ
#910/101:_^A0^B754920^C20040908^DАНЛ
#910/102:_^A0^B763967^C20040908^DАНЛ
#910/103:_^A0^B754921^C20040908^DНБО
#910/104:_^A0^B754917^C20040908^DАУЛ
#910/105:_^A0^B754918^C20040908^DАУЛ
#910/106:_^AU^C20040908^DАУЛ^11057
#810/4:_^DАНЛ^15
#810/5:_^DНБО^11
#810/6:_^DАУЛ^12
#810/7:_^DАУЛ^11063^A8015; 8469

На самом деле тут важна информация из поля 810^a, которая также дублируется в поле 850. И эту информацию (здесь это "A8015; 8469") необходимо поместить в 910^n в ту запись, у которой 910^a='U'.

Вот так вот.


Re: Перенос информации
Пользователь: Очагова Л.Н. (IP-адрес скрыт)
Дата: 16, September, 2004 11:38

Задача не совсем четко определена. Я исходила из того, что поле 810 "согласовано" по повторениям с полем 910 - корректировка выполняется для пары 810-910 с одним порядковым номером. Определите: из какого повторения поля 810 надо брать ^A, единстренное ли оно. От этого зависит задание на ГК.

Re: Перенос информации
Пользователь: Maksim (IP-адрес скрыт)
Дата: 16, September, 2004 11:47

Задачу можно упростить, если информацию брать из поля 850, которое не множится.
А так поля 810 и 910 не согласованы с порядковым номером.
В данном примере информация находится в последнем повторении поля 810.


Re: Перенос информации
Пользователь: Очагова Л.Н. (IP-адрес скрыт)
Дата: 17, September, 2004 11:02

Если вместо 810 у вас неповторяющееся 850, то сделайте так:
910^n
F
(if p(v910) then if &unifor('Av850^a#1')<>'' and v910^a='U' and v910^d=&unifor('Av850^d#1') then &unifor('Av850^a#1') else v910^n fi fi/)



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.