0 DEL 991 * ADD 991 '^11' //12 PUTLOG // 10.1 удаление дублетных полей 69 // 10.1 уточнение направление-специальность // 10.1 добавила дописывание в записи студентов поля 69 по признаку из РЛ // 9.1 проверка записи VUZ // если записей больше 1, то в первую запись пишу все поля 69, // а другие записи удаляю //10.1 обновление кафедры в поле 69 по записи DISC IF if v920: 'VUZ' then '1' else '0' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //----------------------удаление дублетных полей 69 DEL 1069 * DEL 2069 * ADD 1069 &uf('+7W1#',(if p(v69) then if s(v69^B,v69^D)<>'' then |^B|v69^B,|^D|v69^D else v69 fi fi/)) ADD 1069 &uf('+7G1'),(G1/) REPEAT ADD 2069 (if p(v69) then if s(|^B|v69^B,|^D|v69^D)=s(if &uf('Av1069^B#1')<>'' then '^B',&uf('Av1069^B#1') fi,if &uf('Av1069^D#1')<>'' then '^D',&uf('Av1069^D#1') fi) then v69,break fi fi/) DEL 1069 1 UNTIL if p(v1069) then '1' fi IF if val(&uf('+N69'))<>val(&uf('+N2069')) then '1' fi PUTLOG 'Удалены дублетные повторения поля 69 в записи ',f(val(mfn),0,0) FI DEL 69 * ADD 69 (v2069/) DEL 2069 * //----------------------проверка на дублетные записи VUZ ADD 111 XXXXXXXXXXXXXXXXXXX &uf('+7W6#') XXXXXXXXXXXXXXXXXXX IF if val(&unifor('JVUZ,?',v68^a"-",,v68^n"-",v68^c"-" ,v68^v"-",v68^o"-",v68^f"-"))>1 then '1' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //------------------------------------------------ больше одной записи VUZ // на первой записи беру в G6 поля 69 всех записей IF if val(&uf('DVUZ,!', '?',,v68^a"-",,v68^n"-",v68^c"-" ,v68^v"-",v68^o"-",v68^f"-",,'!,mfn'))=val(mfn) then '1' fi ADD 111 &uf('+7W6#',,&uf('7,!',,,'?',,v68^a"-",,v68^n"-",v68^c"-" ,v68^v"-",v68^o"-",v68^f"-",,,'!,(v69/)') ),,,(g6/) //------ накопленные G6 вношу в первую запись с проверкой DEL 1006 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 1006 XXXXXXXXXXXXXXXXXXX mpu,(G6/),,,&uf('+7W7#') XXXXXXXXXXXXXXXXXXX REPEAT XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //---------------------------------------- проверка необходимости нового повторения IF if p(v69) then if rsum((if p(v69) then if &uf('+97',v69^B)=&unifor('Av1006^B#1') and &uf('+97',v69^D)=&unifor('Av1006^D#1') then'1;'else'0;' fi fi))>0 then '0' else '1' fi fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 69 XXXXXXXXXXXXXXXXXXX if p(v69) then if rsum((if p(v69) then if &uf('+97',v69^B)=&unifor('Av1006^B#1') and &uf('+97',v69^D)=&unifor('Av1006^D#1') then'1;'else'0;' fi fi))>0 then else &unifor('Av1006#1') fi else &unifor('Av1006#1') fi XXXXXXXXXXXXXXXXXXX ADD 1006 1 &uf('+7W7#1') FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 1006 1 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX UNTIL if p(v1006) then '1' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX IF if val(g7)=1 then '1' fi PUTLOG 'Дописана запись VUZ. MFN=',f(val(mfn),0,0) XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX FI //--- конец - первая запись на кор-ке FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX IF if val(&uf('DVUZ,!', '?',,v68^a"-",,v68^n"-",v68^c"-" ,v68^v"-",v68^o"-",v68^f"-",,'!,mfn'))'0' then v69^D fi fi/) XXXXXXXXXXXXXXXXXXX // удаление DEL 69 F (v2069/) XXXXXXXXXXXXXXXXXXX IF if &uf('+97',v69)<>&uf('+97',v3069) then '1' fi PUTLOG mdl,'Удалены данные о дисциплинах ',,v1069+|, |,' в записи ',v68,' MFN=',f(val(mfn),0,0) FI DEL 111 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 112 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 113 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 1069 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 2069 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 3069 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // ----------------------------------обновление кафедры в поле 69 по записи DISC ADD 3069 (v69^B/),&uf('+7W10#') REP 69^B F (if p(v69) then if p(v69^B) then if &uf('DVUZ,?IDD=',v69^D,'?,v5')<>'' then &uf('DVUZ,?IDD=',v69^D,'?,v5'),,,,if &uf('+97',&uf('DVUZ,?IDD=',v69^D,'?,v5'))<>&uf('+97',v69^B) then &uf('+7U10#',v69^B,,'->',,&uf('DVUZ,?IDD=',v69^D,'?,v5')) fi,,,, else v69^B fi else # fi fi/) IF if v3069<>'' and &uf('+97',v3069)<>&uf('+97',v69^B) then '1' fi PUTLOG 'MFN=',f(val(mfn),0,0),,' - исправлены кафедры чит. в поле 69 (',(if p(G10) then G10,',' fi),,,')' FI DEL 3069 * //-------------------------------------------- есть ли запись FAK для ФАК-ФО IF if v68^A<>'' then '1' fi IF if val(&uf('JVUZ,FFO=',v68^A,if v68^O<>'' then '-',v68^O fi))<=0 then '1' fi // записи нет - запоминаю для второго задания PUTLOG 'LINKCORRTASK=CREATEFAK%DBN=VUZ%QUERY=',,mpu,'"?',v68^a"-",,v68^n"-",v68^c"-" ,v68^v"-",v68^o"-",v68^f"-",'"',,'%' FI FI //-----------------------проверка поля 69 в записях студентов по контпнгенту IF if val(v991^1)=1 then '1' fi PUTLOG 'LINKCORRTASK=LinkRDR%DBN=RDR%QUERY=',,if val(&uf('IMAIN,LinkGroup,0'))=1 then "GR="v68^E ,,else '?',v68^a,,v68^n,v68^c,v68^v,v68^o,'-S',v68^f fi,'%' FI // конец записи VUZ FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 991 *