0 0 0 Задание: 0 DEL 991 * ADD 991 '^A1^B1' // 10.1 проверка записей каталога с удаление //13 опрос об удалении повторений, не прошедших контролль // 991^A - удалять повторение в случае отсутствия конт-та // в g10 удаляемые повторения, переношу в поле 943 IF if p(v691) then '1' fi DEL 1691 * ADD 1691 (v691/),,,&uf('+7W10#') // для признаков удаления DEL 112 * DEL 111 * ADD 111 '0' //-------------------------------------- цикл по полям 691 REPEAT REP 111 1 f(val(v111)+1,0,0) IF if &uf('Av1691^I#1')='' then '1' fi PUTLOG 'Нет идентификатора дисциплины ',&uf('Av1691^D#1'),' MFN=',f(val(mfn),0,0),' (',v111,')' FI ADD 112 '0' IF if &uf('Av1691^I#1')<>'' then '1' fi // есть ли запись дисциплины с идентификатором IF if Val(&uf('JVUZ,IDD=',&uf('Av1691^I#1')))<=0 then '1' fi PUTLOG 'Нет дисциплины с идентификатором ',&uf('Av1691^I#1'),' MFN=',f(val(mfn),0,0),' (',v111,')',,if val(v991^A)=1 then ' - повторение удалено' fi REP 112 L '1',,,&uf('+7U10#',,&uf('Av1691#1') ) FI // проверяю запись VUZ //----------------------------------------- IF if val(&uf('JVUZ,?',if &unifor('Av1691^a#1')<>'' then &unifor('Av1691^a#1'),'-' fi,,if &unifor('Av1691^n#1')<>'' then &unifor('Av1691^n#1'),'-' fi,,if &unifor('Av1691^c#1')<>'' then &unifor('Av1691^c#1'),'-' fi,,if &unifor('Av1691^v#1')<>'' then &unifor('Av1691^v#1'),'-' fi,,if &unifor('Av1691^o#1')<>'' then &unifor('Av1691^o#1'),'-' fi,,if &unifor('Av1691^f#1')<>'' then &unifor('Av1691^f#1'),'-' fi))<=0 then '1' fi PUTLOG 'Нет записи VUZ по связке ',,,,,,&uf('Av1691^A#1'),'-',&uf('Av1691^N#1'),'-',&uf('Av1691^C#1'),'-',,&uf('Av1691^V#1'),'-',,,&uf('Av1691^O#1'),'-',,&uf('Av1691^F#1'),'-',,,,,,,,' MFN=',f(val(mfn),0,0),' (',v111,')',,if val(v991^A)=1 then ' - повторение удалено' fi REP 112 L '1',,,&uf('+7U10#',,&uf('Av1691#1') ) FI FI DEL 1691 1 UNTIL if p(v1691) then '1' fi //---------------------------------------- IF if val(v991^A)=1 then '1' fi // удаляю повторения DEL 691 F (v112/) IF if g10<>'' then '1',,,&uf('+7G10') fi ADD 943 (g10/) FI FI //--------------- проверка и удаление на дублетность полей 691 DEL 1691 * ADD 1691 mpu,(v691/) REPEAT REP 691 F &uf('S0'),,,,(if p(v691) then v691,,,if v691^Z='' then if &uf('+97',v691^I)=&uf('Av1691^I#1') and &uf('+97',v691^S)=&uf('Av1691^S#1') and &uf('+97',v691^B)=&uf('Av1691^B#1') and &uf('+97',v691^K)=&uf('Av1691^K#1') and &uf('+97',v691^L)=&uf('Av1691^L#1') and &uf('+97',v691^A)=&uf('Av1691^A#1') and &uf('+97',v691^V)=&uf('Av1691^V#1') and &uf('+97',v691^O)=&uf('Av1691^O#1') and &uf('+97',v691^C)=&uf('Av1691^C#1') and &uf('+97',v691^N)=&uf('Av1691^N#1') and val(v691^F)=val(&uf('Av1691^F#1')) and v691^G: &uf('Av1691^G#1') then if val(&uf('S1A'))>1 then '^Z1,' fi fi fi fi/),,, DEL 1691 1 UNTIL if p(v1691) then '1' fi IF if v691^Z<>'' then '1' fi PUTLOG 'Имеются дубли поля 691. MFN=',,f(val(mfn),0,0),,,if val(v991^B)=1 then ' - удалены' fi FI IF if val(v991^B)=1 then '1' fi DEL 691 F &uf('+7W1#'),,,(if p(v691) then if p(v691^Z) then '1' &uf('+7W1#',,,,f(val(&uf('Ag1#1'))+1,0,0) ) else '0' fi fi/) IF if val(g1)>0 then '1' fi PUTLOG 'Удалено дублетных повторений поля ',G1,,' в записи MFN=',f(val(mfn),0,0) FI FI DEL 691^Z * DEL 111 * DEL 112 * DEL 1691 * DEL 991 * FI