0 // v991^A - значение поля 920 для записи WORK // v991^G - ИМЯ БД каталога // v991^B - признак кор-ки 0 - не кор-ть, 1 - кор-ть запись каталога // даработано Паршиков DEL 4000 * DEL 1910 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 1910 XXXXXXXXXXXXXXXXXXX if v991^B='1' then (v910/) else (if p(v910) then if v910^A='1' or v910^A='U' and val(v910^2)>0 then v910 fi fi/) fi XXXXXXXXXXXXXXXXXXX // в поле 2106 номер повторения поля 910 DEL 2106 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 2106 XXXXXXXXXXXXXXXXXXX '0' XXXXXXXXXXXXXXXXXXX //поле для признаков корректировки записи каталога DEL 3333 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //дополнительное поле для признаков корректировки записи каталога DEL 3334 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //-------------------------------------------------------------цикл по повторениям поля 910 REPEAT XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX REP 2106 1 f(val(v2106)+1,0,0) XXXXXXXXXXXXXXXXXXX ADD 3333 '0' ADD 3334 '0' //------- проверяю для статуса U по БД DR соотношение количеств выданных IF if &unifor('Av1910^A#1')='U' and val(&unifor('Av1910^2#1'))>0 and val( &uf('JRDR,H=',if &uf('Av1910^H#1')<>'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi ) )<>val(&unifor('Av1910^2#1')) then '1' else '0' fi ADD 4000 '^A',v991^G,'^B',f(val(MFN),0,0),'^C',v903,'^D',if val( &uf('JRDR,H=',&uf('Av1910^H#1')) )<>0 or val( &uf('JRDR,H=',&uf('Av1910^B#1')) )<>0 then if val(&unifor('Av1910^2#1'))>0 and val( &uf('JRDR,H=',if &uf('Av1910^H#1')<>'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi ) )<> val(&unifor('Av1910^2#1')) then if &uf('Av1910^H#1')<>'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi,'^FНесоответствует кол-во выданных со статусом U и кол-во по БД RDR','^x',v2106 fi,,,else if &unifor('Av1910^H#1')<>'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi,'^FНет данных о выданных со статусом U по БД RDR','^x',v2106 fi REP 3334 L '1' FI // проверяю для статуса U соотношение количеств выданных IF if &unifor('Av1910^A#1')='U' and val(&unifor('Av1910^2#1'))>0 and val(&unifor('Av1910^1#1'))'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi,'^FKол-во выданных со статусом U больше зарегистрированных','^x',v2106 FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX IF if &unifor('Av1910^A#1')='U' and val(&unifor('Av1910^2#1'))>0 and val(&unifor('Av1910^1#1'))'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi )) then '1' else '0' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 4000 '^A',v991^G,'^B',f(val(MFN),0,0),'^C',v903,'^D',if &unifor('Av1910^H#1')<>'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi,'^FKол-во выданных со статусом U по БД RDR больше зарегистрированных','^x',v2106 REP 3334 L '0' FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 2000 * //-----------------------------------------------проверка статуса 1 IF if &unifor('Av1910^A#1')='1' then '1' fi // есть ли должник по инвентарю - в G10 ADD 2000 XXXXXXXXXXXXXXXXXXX if &unifor('DRDR,?H=',,&unifor('Av1910^H#1'),'?,mfn')<>'' then &uf('+7W10#',&unifor('Av1910^H#1')),,,&unifor('DRDR,?H=',,&unifor('Av1910^H#1'),'?,mfn') else &uf('+7W10#',&unifor('Av1910^B#1')),,,&unifor('DRDR,?H=',,&unifor('Av1910^B#1'),'?,mfn') fi XXXXXXXXXXXXXXXXXXX //----в g10 ИН/ШК,,,,,,,,в 2000 MFN записи читателя IF if v2000='' then '1' else '0' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // нет ADD 4000 '^A',v991^G,'^B',f(val(MFN),0,0),'^C',v903,,'^D',if &unifor('Av1910^H#1')<>'' then ,&unifor('Av1910^H#1') else if &unifor('Av1910^B#1')<>'' then &unifor('Av1910^B#1') else ' ' fi fi,'^FЭкземпляр статус 1 - нет должника (',G10,,')',,'^x',v2106 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX REP 3333 L '1' //------конец нет записи должника FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX IF if v2000<>'' then '1' else '0' fi,,,,,,&uf('+7W11#'),,,&uf('+7W12#') XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //------------есть должник по инвентарю/штрих-коду в G10 // // проверка по записи читателю на согласованность инвентарь-БД-на руках DEL 1040 * ADD 1040 &unifor('DRDR,@',v2000,,',(v40/)'),,,,&uf('+7W11#') ADD 1040 &uf('+7W11#',,,,,(if p(v1040) then if v1040^F: '**' then if &uf('+97',v1040^G)=&uf('+D') then if &uf('+97',v1040^A)=&uf('+97',&uf('Av903#1')) then if &uf('+97',v1040^B)=&uf('+97',&uf('Ag10#1')) or &uf('+97',v1040^H)=&uf('+97',&uf('Ag10#1')) then 'OK',,break,, fi fi fi fi fi/) ) IF if g11='' then '1' fi // несогласованные записи - в v2000 MFN записи читателя ADD 4000 '^A',v991^G,'^B',f(val(mfn),0,0),,,'^C',v903,'^D',if &unifor('Av1910^H#1')<>'' then &unifor('Av1910^H#1') else &unifor('Av1910^B#1') fi,'^E',,f(val(v2000),0,0),,,'^FНесогласованные записи','^X',v2106 REP 3333 L '1' FI //----------------------------- конец v2000<>'' - есть должник для очередного повторения 910 FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //-----------------------------------------------конец проверки статуса 1 FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX // будет ли корректироваться повторение IF if v991^B='1' and &uf('Av3333#',&uf('+N3333'))='1' then '1' else '0' fi ADD 4000 '^FСнят признак занятости' FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX IF if v991^B='1' and &uf('Av3334#',&uf('+N3334'))='1' then '1' else '0' fi ADD 4000 '^FУстановлено число выданных экз-ров для статуса U по БД RDR' FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 1910 1 XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX UNTIL if p(v1910) then '1' else '0' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX //-----------------------------------------------------------------конец цикла по полю 910 // //корректировка каталога, если задано IF if v991^B='1' then '1' else '0' fi REP 910^A F (if p(v910) then if v3333='1' and v910^A='1' then '0' else v910^A fi fi/) REP 910^2 F (if p(v910) then if p(v910^2) then if v910^A='U' then if v910^H<>'' then if(F(val( &uf('JRDR,H=',v910^H) ),0,0)<>'') then F(val( &uf('JRDR,H=',v910^H) ),0,0) else '0' fi else if v910^B<>'' then if(F(val( &uf('JRDR,H=',v910^B) ),0,0)<>'') then F(val( &uf('JRDR,H=',v910^B) ),0,0) else '0' fi fi,,fi,,else v910^2 fi else # fi fi/) FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX IF if v4000<>'' then '1' else '0' fi XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX NEWMFN 'WORK' XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX ADD 1001 XXXXXXXXXXXXXXXXXXX (v4000/) XXXXXXXXXXXXXXXXXXX ADD 920 XXXXXXXXXXXXXXXXXXX v991^A XXXXXXXXXXXXXXXXXXX END XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX FI XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX PUTLOG (v4000/) DEL 4000 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 2000 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 3333 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 3334 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 2106 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 1910 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX DEL 991 * XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX