0 // 9.1 - с учетом группы // перенос из записи VUZ поля 68 в запись DISC как новое повторение 84 // с удалением подполя Z // 991 - это переносимое поле 68 DEFFLD 3000 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 4000 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // проверка вида записи IF if v920: 'DISC' then '0' else '1' fi PUTFLD 'Записи для переноса должны быть типа DISC' FI IF if v991='' then '1' else '0' fi PUTFLD 'Нет данных для переноса ' FI IF mhu,if v991<>'' and v920='DISC' then '1' else '0' fi DEL 991^Z * //цикл по полям 991 REPEAT // проверка на дубль в записи DISC IF if rsum((if p(v83) then if &uf('+97',v83^A)=&uf('+97',&uf('Av991^a#1')) and &uf('+97',v83^N)=&uf('+97',&uf('Av991^N#1')) and &uf('+97',v83^C)=&uf('+97',&uf('Av991^C#1')) and &uf('+97',v83^V)=&uf('+97',&uf('Av991^V#1')) and &uf('+97',v83^O)=&uf('+97',&uf('Av991^O#1')) and &uf('+97',v83^E)=&uf('+97',&uf('Av991^E#1')) and &uf('+97',v83^F)=&uf('+97',&uf('Av991^F#1')) then '1,' else '0,' fi fi))>0 then '1' fi // в записи уже есть такое повторение поля 83 PUTFLD 'Контингент ',if &unifor('Av991^E#1')<>'' then 'Гр. ',&unifor('Av991^E#1') fi,,&unifor('Av991^a#1'),'-',if &unifor('Av991^c#1')<>''then &unifor('Av991^c#1') else &unifor('Av991^n#1') fi,'-',&unifor('Av991^v#1'),'-',&unifor('Av991^o#1'),'-',&unifor('Av991^f#1'),' уже есть. MFN=',&unifor('DVUZ,?(',mpu,v3^0,&unifor('Av991^a#1'),,if &unifor('Av991^c#1')<>''then &unifor('Av991^c#1') else &unifor('Av991^n#1') fi,,&unifor('Av991^v#1'),,&unifor('Av991^o#1'),'-',&unifor('Av991^f#1'),'?,f(val(mfn),0,0)') FI IF if rsum((if p(v83) then if &uf('+97',v83^A)=&uf('+97',&uf('Av991^a#1')) and &uf('+97',v83^N)=&uf('+97',&uf('Av991^N#1')) and &uf('+97',v83^C)=&uf('+97',&uf('Av991^C#1')) and &uf('+97',v83^V)=&uf('+97',&uf('Av991^V#1')) and &uf('+97',v83^O)=&uf('+97',&uf('Av991^O#1')) and &uf('+97',v83^E)=&uf('+97',&uf('Av991^E#1')) and &uf('+97',v83^F)=&uf('+97',&uf('Av991^F#1')) then '1,' else '0,' fi fi))<=0 then '1' fi // еще нет - перенос в запись DISC поля 84 ADD 84 &uf('Av991#1') PUTFLD 'Дописана запись дисциплины. MFN=',f(val(mfn),0,0) XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // запись признака - запустить задание VADD83 PUTFLD 'LINKCORRVADD83#',f(val(mfn),0,0) XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // конец проверки на дубль FI DEL 991 1 UNTIL if p(v991) then '1' fi FI DEL 991 * GETFLD 4000 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX