0 // Списание книг со статусом С или U по названиям // На входе записи отмеченных книг,для которых указано кол-во списываемых экземпляров // v991^A - номер КСУ списания v991^B - номер акта передачи // Поле 992 формируется для повторения 910 поля,если задано кол-во списываемых экземпляров или // задано новое место хранения 992^I-шифр,v992^A-статус,v992^B - инвентарные номера // v992^D - место хранения, v992^M - новое место хранения,v992^X - кол-во списанных экземпляров,v992^Z-кол-во переданных экземпляров // 992^C-дата экземпляра, 992^E- цена экземпляра //19 v992^Y - MFN отмеченной записи //21 использую 910^9 для запоминания статуса PUTLOG 'На корректировку запись ',f(val(mfn),0,0) // Списание книг по названиям ADD 1002 XXXXXXXXXXXXXXXXXXX (v992/) XXXXXXXXXXXXXXXXXXX REP 991 F mpu,(v991/),,,&uf('+7W10#') XXXXXXXXXXXXXXXXXXX REPEAT XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 1003 XXXXXXXXXXXXXXXXXXX &unifor('Av1002#1'),, XXXXXXXXXXXXXXXXXXX IF if val(mfn)=val(v1003^Y) then'1'else'0'fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX REP 910 F (if p(v910) then v910,if p(v910^v) or v910^A:'4'then else if &uf('+97'v910^d)=&unifor('Av1003^D#1') then if (&uf('+97',v910^b)=&unifor('Av1003^b#1') ) and (&uf('+97',v910^H)=&unifor('Av1003^H#1') ) then if &uf('Av1003^C#1')='' or &uf('+97',v910^C)=&uf('Av1003^C#1') then if &uf('Av1003^E#1')='' or &uf('+97',v910^E)=&uf('Av1003^E#1') then if &uf('Av1003^U#1')='' or &uf('+97',v910^U)=&uf('Av1003^U#1') then '^V'&unifor('Av991^a#1'),if &unifor('Av991#1'):'^B' then if &unifor('Av1003#1'):'^M' then '^M',&unifor('Av1003^M#1'),'^W',&unifor('Av991^b#1') fi,fi,if 'C U':v910^A then if &unifor('Av1003#1'):'^X' then '^X',&unifor('Av1003^X#1') fi fi,if &unifor('Av1003#1'):'^Z' then '^Z',&unifor('Av1003^Z#1') fi,fi fi fi fi fi fi fi/) XXXXXXXXXXXXXXXXXXX // исходный статус запоминаю в ^9 REP 910^A F (if p(v910) then if 'C U':v910^A then v910^A else if &uf('+97',v910^v)=&unifor('Av991^a#1') then '6',,'^9',,v910^A,,,,&uf('+7U10#',,v910^H,,,if v910^H<>'' and v910^B<>'' then '-' fi,,,,v910^B ' списан',,| из |v910^D,,,if v910^M<>'' and v910^W<>'' then ', передан в ',,v910^M fi ),,,,,,else v910^a fi fi fi/) XXXXXXXXXXXXXXXXXXX // при добавлении сравнение по перечисленным полям ADD 940 XXXXXXXXXXXXXXXXXXX &uf('+7W940#'),&uf('+7U940#',,,(v940^A|; |,v940^B|; |,v940^H|; |,v940^C|; |,v940^D|; |,v940^E|; |,v940^F|; |,v940^G|; |,v940^U|; |,v940^Y|; |,v940^W|; |,v940^V|; |,,) ),,,,,,(if p(v910) then if &uf('+97',v910^v)=&uf('+97',&uf('Av991^A#1')) then if &uf('Ag940#1'): S( v910^A|; |,v910^B|; |,v910^H|; |,v910^C|; |,v910^D|; |,v910^E|; |,v910^F|; |,v910^G|; |,v910^U|; |,v910^Y|; |,v910^W|; |,v910^V|; | ) then else v910 fi fi fi/) XXXXXXXXXXXXXXXXXXX //-------------------- добавила подполя Q,R,4,S,0,L REP 910 F (if p(v910) then if &uf('+97',v910^v)=&uf('Av991^A#1') and 'C U':v910^A then |^A|v910^a,|^D|v910^d,'^1',f(val(v910^1,' 0')-val(v910^x,' 0'),0,0),|^B|v910^b,|^H|v910^h,|^K|v910^k,|^E|v910^e,|^U|v910^u,|^Y|v910^y,|^T|v910^T,|^C|v910^c,|^=|v910^=,|^!|v910^!,|^F|v910^f,|^Q|v910^Q,|^R|v910^R,|^4|v910^4,|^S|v910^S,|^0|v910^0,|^L|v910^L,&uf('+7U10#',,v910^H,,,if v910^H<>'' and v910^B<>'' then '-' fi,,,,v910^B ' списан ',,| из |v910^D if v910^M<>'' and v910^W<>'' then ', передан в ',,v910^M fi,,,,,),,,, else v910 fi fi/) XXXXXXXXXXXXXXXXXXX DEL 910 F (if p(v910) then if 'C U':v910^a then if v910^1=''then'1'else'0'fi else '0' fi fi/) XXXXXXXXXXXXXXXXXXX //---------------- добавила подполя R,Q,4,S,0,L REP 910 F (if p(v910) then if &uf('+97',v910^v)=&uf('Av991^A#1')and p(v910^w) and &uf('+97',v910^w)=&uf('Av991^B#1') then if v910^a:'6' and v910^9<>'' then '^A',,v910^9,,, else |^A|v910^a fi,,,if s('U C'): v910^A then |^1|v910^z fi,,,,,,,|^D|v910^m,|^B|v910^b,|^H|v910^h,|^K|v910^k,|^E|v910^e,|^U|v910^u,|^T|v910^T,|^Y|v910^y,|^C|v910^c,|^=|v910^=,|^!|v910^!,|^F|v910^f,|^2|v910^2,|^R|v910^R,|^Q|v910^Q,|^4|v910^4,|^S|v910^S,|^0|v910^0,|^L|v910^L, else v910 fi fi/) XXXXXXXXXXXXXXXXXXX ADD 1004 XXXXXXXXXXXXXXXXXXX (if p(v940) then if &uf('+97',v940^v)=&uf('Av991^A#1') and p(v940^w) and &uf('+97',v940^w)=&uf('Av991^B#1') then if 'U C':v940^a then |^A|v940^a,|^1|v940^z,|^D|v940^m,|^B|v940^b,|^H|v940^h,|^K|v910^k,|^E|v940^e,|^U|v940^u,|^Y|v940^y,|^T|v940^T,|^C|v940^c,|^=|v910^=,|^!|v910^!,|^F|v940^f,|^2|v940^2 fi fi fi/) XXXXXXXXXXXXXXXXXXX REPEAT XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 910 XXXXXXXXXXXXXXXXXXX if v910:&unifor('Av1004#1') then else &unifor('Av1004#1') fi XXXXXXXXXXXXXXXXXXX DEL 1004 1 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX UNTIL if p(v1004) then'1'else'0'fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 1005 XXXXXXXXXXXXXXXXXXX if p(v910)then f(rsum((if p(v910)then if v910^a<>'6'then '1;' else '0;'fi fi/)),0,0)else if p(v940)then '0'else'1'fi fi XXXXXXXXXXXXXXXXXXX ADD 910 XXXXXXXXXXXXXXXXXXX if val(v1005)>0 then else if v940:'^k'then (if p(v940) then if p(v940^k)then|^A7^K|v940^k,|^D|v940^d fi fi/)else'^A7'fi fi XXXXXXXXXXXXXXXXXXX DEL 1005 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX IF if l("II="v903)>0 then '1'else'0'fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX CORREC '*' (v910/) "II="v903 XXXXXXXXXXXXXXXXXXX ADD 910 XXXXXXXXXXXXXXXXXXX if v1001:'^A7'then'^A7'fi XXXXXXXXXXXXXXXXXXX END XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 1002 1 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 1003 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX UNTIL if p(v1002) then '1' else '' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 991 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 992 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 910^9 * DEL 940^9 * PUTLOG &uf('+7G10'),,(g10/)