: ACCOUNT_STATE.PRG чист READ_PERIOD.PRG изтр PREVOD_GRUPA1 изтр PREVOD_TEMP изтр PREVOD_GRUPA таблица_превод 'PREVOD_SCHETOVODNA_STATIA' рекап 'REKAP' рекап_ос 'REKAP_OS' параграфи 'NOI_PAR' осигурителна 'OS_TABLE' номенклатура_групи 'NOMENKLATURA_GRUPI' преводни_статии 'PREVODNI_STATII_ZAPLATI' колона_фрз %PP%GETKWED.PRG('1115',рекап,7) колона_дод %PP%GETKWED.PRG('1048',рекап,7) база @рекап шифър_колона_фрз scell(7,колона_фрз) шифър_колона_дод scell(7,колона_дод) шифър_фрз_112 112 шифър_дод_113 113 ако existfs(преводни_статии+'.bsf')=0 кажи ##Не_е_намерена_таблица_статии стоп(1) създай TTEMP(25,7,7,5,5,10,10) база TTEMP поле(1,1)='статия' поле(1,2)='дт-см' поле(1,3)='кт-см' поле(1,4)='т фл' поле(1,5)='тип' поле(1,6)='дт-парт' поле(1,7)='кт-парт' добави 1 блок пълен(2,1,2,countcc(0))============================ добави 2 поле(3,1)='по_параграфи' поле(3,2)='0' поле(3,3)='' поле(3,4)='-' поле(3,5)='1115' поле(4,1)='по_групи' поле(4,2)='0' поле(4,3)='' поле(4,4)='-' поле(4,5)='1048' база @рекап : копи TTEMP @преводни_статии : база @преводни_статии изтр TTEMP крайако по_параграфи %PP%FIND_TEXT.PRG('по_параграфи',преводни_статии,1,2) по_групи %PP%FIND_TEXT.PRG('по_групи',преводни_статии,1,2) база @номенклатура_групи ширина_групов_шифър lencell(1) последен_група countrr(0) ред_група 3 брояч_групи 0 колко_групи последен_група-3+1 пътека_счетоводство scell USER_OPTIONS(5,2) протокол пътека_счетоводство+'\PROTOKOL' ако existfs(протокол)=0 протокол 'PROT_SCHET' изтр @протокол създай @протокол(7,12,10,7,7,25,25,50,12,14,14,10) база @протокол добави 2 блок пълен(2,1,2,countcc(0))==================================================== поле(1,1)='рег.' поле(1,2)='док.' поле(1,3)='дата' поле(1,4)='дт-см' поле(1,5)='кт-см' поле(1,6)='дт-партида' поле(1,7)='кт-партида' поле(1,8)='описание' поле(1,9)='колич.' поле(1,10)='ст-ст' поле(1,11)='забележка ддс' поле(1,12)='падеж' крайако ако existfs(таблица_превод)<2 създай @таблица_превод (10,5,25,15,5,25,7,7,25,25,50,10,8) база @таблица_превод добави 1 блок пълен (2,1,2,countcc(0))========================================================= поле(1,1)='таблица' поле(1,2)='шиф.гр' поле(1,3)='група' поле(1,4)='тип ос' поле(1,5)='шиф.' поле(1,6)='перо нап (колона)' поле(1,7)='дт-см' поле(1,8)='кт-см' поле(1,9)='дт партида' поле(1,10)='кт партида' поле(1,11)='описание' поле(1,12)='ст-ст' поле(1,13)='ном.' крайако копи @таблица_превод PREVOD_TEMP база @осигурителна рр present('нои параг.',1,1,0) ако рр=0 то кажи ##не_е_намерен_участък_параграфи изтр PARTEMP бкопи (рр,1,countrr(0),7) PARTEMP(0,0) база PARTEMP вмккол(2,10) разкол(2,5) рел @параграфи (2,8,9,4,2,3,countrr(0)) разкол(2,2) рел @параграфи (2,6,6,5,3,3,countrr(0)) обкол(2) създай FF(10,10) база FF поле(1,1)='581111' поле(1,2)='3' база PARTEMP разкол(2,2) рел FF(1,2,2,1,2,1,countrr(0)) обкол(2) изтр FF добави 1 б countrr(0) поле (б,7)='<>0' маска . б PARTEMP2 база PARTEMP2 добави -1 брой_параграфи countrr(0) изтр PARTEMP база PARTEMP2 колона_група2 2 колона_група3 3 ред_ро 11 ако sttor(по_групи)=0 база @рекап_ос ред_ро countrr(0) крайако : изработва таблица за насочване : за една група колона_опис 11 0500 : база @рекап_ос шифър_група scell(ред_ро,колона_група3) прдоклад ('за група '+шифър_група) ако sttor(по_групи)=1 име_на_групата scell(ред_ро,колона_група2) иначе име_на_групата '*' крайако база PREVOD_TEMP добави 1 ред_насочване countrr(0) поле (ред_насочване,1)=рекап_ос поле (ред_насочване,2)=шифър_група поле (ред_насочване,3)=име_на_групата бкопи PARTEMP2(1,2,брой_параграфи,4) (ред_насочване-1,4-2) ред_оси countrr(0)+1 добави 1 поле (ред_оси,1)=рекап поле (ред_оси,4)='111' поле (ред_оси,5)='*' поле (ред_оси,колона_опис)='статия_61_оси' ред_фрз countrr(0)+1 ред_дод countrr(0)+3 добави 4 поле (ред_фрз,1)=рекап поле (ред_фрз,4)=шифър_фрз_112 поле (ред_фрз,5)=шифър_колона_фрз поле (ред_фрз,колона_опис)='статия_60_фрз' поле (ред_фрз+1,колона_опис)='статия_61_фрз' номер(4,ред_фрз,ред_фрз+1,2,4,5) поле (ред_дод,4)=шифър_дод_113 поле (ред_дод,5)=шифър_колона_дод поле (ред_дод,колона_опис)='статия_60_дод' поле (ред_дод+1,колона_опис)='статия_61_дод' номер(4,ред_дод,ред_дод+1,2,4,5) ред_превод ред_насочване номер(1,1,countrr(0),2,1,3) : попълва стойностите 1000 : цикъл за всяко перо шифър_перо scell(ред_превод,5) таблица_източник scell(ред_превод,1) тип_запис scell(ред_превод,4) : тип_дт_парт %PP%FIND_TEXT.PRG( : база @преводни_статии : тип_дт_парт scell(ред_превод,6) : тип_кт_парт scell(ред_превод,7) база PREVOD_TEMP ако шифър_перо='*' стст sum(3,12,ред_превод-1,12) иначе колона_ст %PP%GETKWED.PRG(шифър_перо,таблица_източник,7) ако колона_ст<4 то кажи ##не_е_намерена_колона_в_рекапитулация_ос база @таблица_източник стст (ред_ро,колона_ст) крайако база PREVOD_TEMP ако ред_превод=3 рел @преводни_статии (4,2,3,4,7,3,countrr(0)-4) рел @преводни_статии (1,2,3,6,7,countrr(0)-3,countrr(0)) рел @преводни_статии (1,2,3,11,7,countrr(0)-3,countrr(0)) рел @преводни_статии (4,1,1,4,11,3,countrr(0)-4) рел @преводни_статии (1,6,7,11,9,3,countrr(0)) крайако тип_дт_парт scell(ред_превод,9) тип_кт_парт scell(ред_превод,10) ако sttor(по_групи)=1 партида_група шифър_група+' '+име_на_групата иначе партида_група '-' крайако дебит_партида='-' кредит_партида '-' : партида_перо scell(ред_превод,5)+' '+scell(ред_превод,6) партида_перо scell(ред_превод,11) ако тип_дт_парт='група' то дебит_партида=партида_група ако тип_дт_парт='перо' то дебит_партида=партида_перо ако тип_кт_парт='група' то кредит_партида=партида_група ако тип_кт_парт='перо' то кредит_партида=партида_перо поле (ред_превод,9)=дебит_партида поле (ред_превод,10)=кредит_партида поле (ред_превод,12)=стст поле (ред_превод,13)=ред_превод ако (ред_превод+0.000001)>countrr(0) то преход 1010 ред_превод ред_превод+1 преход 1000 1010 : б countrr(0)+1 ако sttor(по_параграфи)=0 последен countrr(0)-5 бсорт(3,1,последен,countcc(0),4)+ група(3,1,последен,countcc(0),4,12,12) добави 1 б countrr(0) поле (б,12)='<>0' маска . б FF база FF б countrr(0)-1 база PREVOD_TEMP отрез 3 бкопи FF(1,1,б,countcc(0)) (3-1,0) изтр FF дата(3,3)+ коя_дата scell(3,3) блок пълен(3,3,countrr(0),3) блок $(3,3,countrr(0),3)+коя_дата крайако добави 2 б countrr(0) поле (б-1,6)=1 поле (б-1,1)=2 поле (б-1,3)=3 поле (б-1,7)=4 поле (б-1,8)=5 поле (б-1,9)=6 поле (б-1,10)=7 поле (б-1,11)=8 поле (б-1,12)=10 поле (б-1,13)=9 поле (б,12)='<>0' изтр PROT_ смес . б-1 PROT_ & отрез 2 база PROT_ добави -1 блок пълен(1,1,countrr(0),1)зап. блок пълен(1,8,countrr(0),8) описание8 = 'заплати '+formatn(месец,2,0,2)+' '+година блок $(1,8,countrr(0),8)+описание8 добави 1 б countrr(0) поле (б,1)=7 поле (б,2)=12 поле (б,3)=10 формат (1,1,б-1,countcc(0),б) блок пълен(1,9,countrr(0),9) брп countrr(0) ако sttor(по_групи)=0 блок пълен(1,3,брп,3) дата(1,3)+ коя_дата scell(1,3) блок $(1,3,брп,3)+коя_дата крайако : груповият участък е готов ако (ред_ро=11) or (sttor(по_групи)=0) копи PROT_ PROT_Z иначе база PROT_Z бкопи PROT_(1,1,брп,countcc(0)) (countrr(0),0) крайако база PROT_Z ред_ро ред_ро+1 база @рекап_ос ецикъл 0 ако sttor(по_групи)>0 следваща_група (ред_ро,3) ецикъл следваща_група>0 крайако ако ецикъл то преход 0500 база PROT_Z изтр PROT_ изтр PREVOD_TEMP изтр PARTEMP2 изтр @таблица_превод : добави -1