0 // заново строятся подполя 9 и 0 // заново подполе w - номер УНД из записи VUZ c использованием данных связки // удаляются дубли из поля 691 DEFFLD 3000 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 4000 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // удаление дублей в поле 691 DEL 2691 * ADD 2691 (v691/) DEL 691 * REPEAT DEL 2692 * ADD 2692 &uf('Av2691#1') REP 2691 1 ' ' REP 2692 1 if rsum((if p(v2691) then if &uf('+97',v2691)=&uf('+97',&uf('Av2692#1')) then '1,' fi fi))>0 then ' ' else v2692 fi ADD 691 if v2692<>' ' then v2692 fi DEL 2691 1 UNTIL if p(v2691) then '1' fi // конец удаления дублей DEL 2691 * DEL 2692 * ADD 2691 (v691^0/) ADD 2692 (v691^9/) DEL 691^0 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 691^9 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // удаление подполя !, если оно не соотв-т семестру DEL 691^! F (if p(v691^f) and p(v691^!) then if v691^!:v691^f then '0' else '1' fi else '0' fi/) XXXXXXXXXXXXXXXXXXX //добавление подполя ! в начало REP 691 F (if p(v691) then if a(v691^!) then '^!',if p(v691^f) then f(val(v691^f),2,0) else ' ' fi fi,,,v691 fi/) XXXXXXXXXXXXXXXXXXX ADD 691^0 F (if p(v691) then if a(v691^0) then if &unifor('Ksemo.mnu|'v691^f)<>'' then if v691^i:':' then if &unifor('Kjzko.mnu|'&unifor('G2:'v691^i))<>'' then if p(v691^u) then '-' else |*|d691^w fi,&unifor('Kjzko.mnu|'&unifor('G2:'v691^i)) fi fi,v691^a,if p(v691^C) then v691^c else if &uf('DVUZ,!DUNS=',v691^W,'-S',v691^F'!,v68^C')<>'' then &uf('DVUZ,!DUNS=',v691^W,'-S',v691^F,'!,v68^C') else if p(v691^n) then v691^n else &uf('DVUZ,!DUNS=',v691^W,'-S',v691^F,'!,v68^n') fi fi fi,v691^v,v691^o,|-S|v691^f else # fi else # fi fi/) XXXXXXXXXXXXXXXXXXX ADD 691^9 F (if p(v691) then if a(v691^9) then if &unifor('Ksemv.mnu|'v691^f)<>'' then if v691^i:':' then if &unifor('Kjzko.mnu|'&unifor('G2:'v691^i))<>'' then if p(v691^u) then '-' else |*|d691^w fi,&unifor('Kjzko.mnu|'&unifor('G2:'v691^i)) fi fi,v691^a,if p(v691^C) then v691^c else if &uf('DVUZ,!DUNS=',v691^W,'-S',v691^F'!,v68^C')<>'' then &uf('DVUZ,!DUNS=',v691^W,'-S',v691^F,'!,v68^C') else if p(v691^n) then v691^n else &uf('DVUZ,!DUNS=',v691^W,'-S',v691^F,'!,v68^n') fi fi fi,v691^v,v691^o,|-S|v691^f else # fi else # fi fi/) XXXXXXXXXXXXXXXXXXX REP 691 F (&unifor('AI691')/) XXXXXXXXXXXXXXXXXXX DEL 1691 * DEL 1692 * //-------------- заново подполя идентифик. дисц. W - по соотв. записи VUZ ADD 1691 (v691/) REPEAT DEL 111 * ADD 1692 &uf('+7W5#',mpu,if &unifor('Av1691^u#1')='' then &unifor('DVUZ,?!',&unifor('Av1691^a#1'),,if &unifor('Av1691^c#1')<>''then &unifor('Av1691^c#1') else &unifor('Av1691^n#1') fi,&unifor('Av1691^v#1'),&unifor('Av1691^o#1'),'-S',&unifor('Av1691^f#1'),'?,(v69/)') fi) IF if G5<>'' then '1' fi // в поле 111 идентификатор для текущей дисциплины ADD 111 (if p(G5) then if &uf('+97',G5^D)=&uf('+97',&uf('Av1691^I#1')) and &uf('+97',G5^B)=&uf('+97',&uf('Av1691^B#1')) then G5^W,break fi fi/) FI ADD 1692 if v111='' then &uf('Av1691#1') fi IF if v111<>'' then '1' fi DEL 112 * ADD 112 &uf('Av1691#1') DEL 112^W 1 REP 112 1 v112,'^W',v111 ADD 1692 v112 FI DEL 1691 1 UNTIL if p(v1691) then '1' fi // в 1692 новые поля 691 DEL 691 * ADD 691 (v1692/) DEL 111 * DEL 112 * IF if v2691<>v691^0 or v2692<>v691^9 or v1693<>v691^W then '1' fi PUTFLD 'Откорректирована запись MFN=',f(val(mfn),0,0) FI DEL 1691 * DEL 1692 * DEL 2691 * DEL 2692 * ADD 907 XXXXXXXXXXXXXXXXXXX if rsum((if p(v907) then if v907^a = &unifor(|3|d907) and v907^b = &unifor('IPRIVATE,FIO,') then '1;'else'0;'fi fi))> 0 then else'^A',&unifor('3'),'^B',&unifor('IPRIVATE,FIO,'),'^C',&unifor('IPRIVATE,ETR,') fi XXXXXXXXXXXXXXXXXXX GETFLD 4000 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX