1 4205 Задание: 0 IF if val(mfn)=4205 then '1' fi ADD 991 '^AФТФ^C230101.65^DСПЦ^EД/О^F7' FI //12 PUTLOG // удаление контингента по словарю контингентов !,совпадает с заданием DelSpecUpl // DelSpecUpl - используется в УПЛ при удалении конт. по отмеченной специальности // имя задания через ini // выполняется на записи VUZ // используется в основной и УП //в 991 связка - только для протокола PUTLOG mdl,'Удаление контингента ',v991 // из записи VUZ беру идентификаторы дисциплин // и поля - аналог поля 83 ADD 111 (v69/) ADD 1068 "^N"v68^N,"^C"v68^C,"^A"v68^A,"^V"v68^V,"^O"v68^O,"^F"v68^F DELR XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX PUTLOG 'Удалена запись контингента (VUZ). MFN=',f(val(mfn),0,0) // цикл по повторениям поля 69 REPEAT // в v111^D - идентификатор дисциплины CORREC 'VUZ' mpu,'^W',&unifor('Av111^W#1'),&unifor('Av1068#1') 'IDD=',&unifor('Av111^D#1') // запись DISC DEL 183 * ADD 183 (v83/) // Удаление семестра из 83^f CHA 1001^F 1 '10' 'A' CHA 1001^F 1 '11' 'B' CHA 1001^F 1 '12' 'C' CHA 83^F * '10' 'A' CHA 83^F * '11' 'B' CHA 83^F * '12' 'C' CHA 83^F F (if p(v83) then if v83^F<>'' then if &uf('+97',v83^A)=&unifor('Av1001^A#1') and &uf('+97',v83^n)=&unifor('Av1001^n#1') and &uf('+97',v83^c)=&unifor('Av1001^c#1') and &uf('+97',v83^v)=&unifor('Av1001^v#1') and &uf('+97',v83^o)=&unifor('Av1001^o#1') and &unifor('Av1001^f#1')<>''and v83^f:&unifor('Av1001^f#1') then &unifor('Av1001^f#1') else # fi else # fi,,fi/) '' CHA 83^F * 'A' '10' CHA 83^F * 'B' '11' CHA 83^F * 'C' '12' CHA 83^F * '//' '/' CHA 83^F * '^F/' '^F' DEL 83 F (if p(v83) then if v83^f='' or v83^f='/' then'1'else'0' fi fi/) XXXXXXXXXXXXXXXXXXX IF if v83<>v183 then '1' fi PUTLOG 'Удалено в записи DISC 'v3^A,'. MFN=',f(val(mfn),0,0) FI DEL 183 * DEL 1001 * END XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //---------------- // IBIS - удаление дисциплины из записи БО CORREC if &unifor('IPRIVATE,DBN,')<>'' then &unifor('IPRIVATE,DBN,') else 'IBIS' fi mpu,&unifor('Av1068#1'),'^I',&unifor('Av111^D#1') 'IDD=',&unifor('Av111^D#1') XXXXXXXXXXXXXXXXXXX //определяю какие повторения удалятся DEL 112 * ADD 112 f(rsum((if p(v691) then if val(&uf('IMAIN,LinkGroup,0'))=1 then if &unifor('Av1001^E#1')<>'' and &uf('+97',v691^E)=&unifor('Av1001^E#1') then '1,' else '0,' fi else if &uf('+97',v691^I)=&unifor('Av1001^I#1') and &uf('+97',v691^n)=&unifor('Av1001^n#1') and &uf('+97',v691^A)=&unifor('Av1001^A#1') and &uf('+97',v691^c)=&unifor('Av1001^c#1') and &uf('+97',v691^v)=&unifor('Av1001^v#1') and &uf('+97',v691^o)=&unifor('Av1001^o#1') and val(v691^f)=val(&unifor('Av1001^f#1')) then '1,' else '0,' fi fi fi)),0,0) DEL 691 F (if p(v691) then if val(&uf('IMAIN,LinkGroup,0'))=1 then if &unifor('Av1001^E#1')<>'' and &uf('+97',v691^E)=&unifor('Av1001^E#1') then '1' else '0' fi else if &uf('+97',v691^I)=&unifor('Av1001^I#1') and &uf('+97',v691^n)=&unifor('Av1001^n#1') and &uf('+97',v691^A)=&unifor('Av1001^A#1') and &uf('+97',v691^c)=&unifor('Av1001^c#1') and &uf('+97',v691^v)=&unifor('Av1001^v#1') and &uf('+97',v691^o)=&unifor('Av1001^o#1') and val(v691^f)=val(&unifor('Av1001^f#1')) then '1' else '0' fi fi fi/) XXXXXXXXXXXXXXXXXXX IF if val(v112)>0 then '1' else '0' fi PUTLOG mdl,'vDel83: ',,&unifor('Av1001#1'),,' - удалено в записи каталога. MFN=',f(val(mfn),0,0),,mpl FI DEL 112 * DEL 1001 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX END XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //-------------- DEL 111 1 UNTIL if p(v111) then '1' else '0' fi // запись студента при условии ACCESSRDR IF if val(&unifor('IMAIN,ACCESSRDR,1'))=1 then '1' else '0' fi PUTLOG 'LINKCORRTASK=LINKRDR%DBN=RDR%QUERY=',,,'"?',&unifor('Av1068^a#1'),,&unifor('Av1068^n#1'),,&unifor('Av1068^c#1'),,&unifor('Av1068^v#1'),&unifor('Av1068^o#1'),'-S'&unifor('Av1068^f#1'),'"%' FI DEL 1068 *