* vycistit: * - skl_stavy * - skl_doklady * - skl_pohyby IF .f. SELECT 0 USE data.001\skl_stavy EXCLUSIVE ZAP USE data.001\skl_pohyby EXCLUSIVE ZAP USE data.001\skl_doklady EXCLUSIVE ZAP USE ENDIF SET CLASSLIB TO \wFoxLib\jvkpub,\wFoxLib\registry,\wFoxLib\jvkbase,\wFoxLib\jvkapl,\wFoxLib\jvkbar,skl\sklmain SET PATH TO sys; uct; skl; adm; img; kon; vzk; \wfoxlib LOCAL oMainFirma ,oMainUziv oMainFirma = CREATEOBJECT("cntsysfirm") oMainUziv = CREATEOBJECT("cntsysuziv") LOCAL lcSrc as String lcSrc = ADDBS(SYS(5)+CURDIR())+[DATA.001.agh_SRC\] USE (lcSrc+[skl_doklady]) SHARED NOUPDATE IN 0 ALIAS oldDok USE (lcSrc+[skl_pohyby]) SHARED NOUPDATE IN 0 ALIAS oldPoh SELECT id_doklad,CAST(0 as I) as _poradi ; FROM oldDok ; INTO CURSOR crPor READWRITE UPDATE crPor ; SET _poradi=RECNO() SELECT crPor._poradi,poh.* ; FROM oldPoh poh ; INNER JOIN crPor ON (crPor.id_doklad=poh.id_doklad) ; ORDER BY crPor._poradi,datVzPor ; INTO CURSOR crPohyby SELECT crPohyby LOCATE FOR .t. LOCAL loDok as Object ; ,loRad as Object ; ,loFrm as Form ; ,lcChangerID as String ; ,llNew as Logical DO WHILE !EOF('crPohyby') IF !INDEXSEEK(crPohyby.id_doklad,.t.,'oldDok','id_doklad') SUSPEND ENDIF SELECT oldDok SCATTER MEMO NAME loDok SELECT crPohyby WAIT WINDOW loDok.c_dokl+' '+PADR(REPLICATE('x',50*RECNO()/RECCOUNT()),50,'-') NOWAIT lcChangerID = setChanger() IF loDok.prijem DO FORM sklDokladPrijemEdit ; WITH lcChangerID ; NAME loFrm LINKED ; NOSHOW *LPARAMETERS pcIdag,pcTypDokl,pcRok,pcMes * ,pcDodList,pcIdFakDok,pcIdkontakt,pcVars * ,pcIdStr,pcIdVykon,pcZdroj llNew = loFrm.mDokladNew(loDok.id_ag,loDok.id_dokTyp,loDok.rok,loDok.mes ; ,loDok.dod_list,loDok.id_fakDok,loDok.id_kontakt,loDok.vars ; ,loDok.id_str,loDok.id_vykon,loDok.id_zdroj) ELSE DO FORM sklDokladVydejEdit ; WITH lcChangerID ; NAME loFrm LINKED ; NOSHOW *LPARAMETERS pcIdag,pcTypDokl,pcRok,pcMes * ,pcIdStr,pcIdVykon,pcIdkontakt * ,pcProdejTyp,pcZdroj llNew = loFrm.mDokladNew(loDok.id_ag,loDok.id_dokTyp,loDok.rok,loDok.mes ; ,loDok.id_str,loDok.id_vykon,loDok.id_kontakt ; ,' ',loDok.id_zdroj) ENDIF IF !llNew SUSPEND && chyba pri zalozeni dokladu ENDIF loFrm.maZahlaviField['poznamka'] = [<]+loDok.id_doklad+[>]+loDok.poznamka SCAN WHILE id_doklad=loDok.id_doklad SCATTER MEMO NAME loRad IF loDok.prijem * LPARAMETERS pcKarta,pcId_Predkon ,pnCenaMj,pnMnozstvi ,pcVazbaDok,pcVazbaRad llNew = loFrm.mRadekNew(loRad.id_karta,loRad.id_predkon ; ,loRad.p_cena_mj,loRad.mno_mj ; ,loRad.vaz_doklad,loRad.vaz_radek) IF llNew *loFrm.maRadekField['id_kodDph'] = loRad.id_kodDph ENDIF ELSE * LPARAMETERS pcKarta,pcId_Predkon ,pnCenaMj,pnMnozstvi ,pcId_KodDPH,pcTypProd ,pcVazbaDok,pcVazbaRad llNew = loFrm.mRadekNew(loRad.id_karta,loRad.id_predkon ; ,loRad.p_cena_mj,loRad.mno_mj ; ,loRad.id_kodDph,loRad.prod_typ ; ,loRad.vaz_doklad,loRad.vaz_radek) IF llNew ENDIF ENDIF IF llNew *loFrm.maRadekField['poznamka'] = loRad.poznamka ELSE SUSPEND && chyba pri zalozeni radku ENDIF ENDSCAN IF !loFrm.mDokladSave() SUSPEND && chyba pri ulozeni dokladu ENDIF loFrm.Release() INKEY(1) ENDDO USE data.001\skl_doklady IN 0 SHARED UPDATE skl_doklady ; SET jm_vystav=oldDok.jm_vystav ,datAk=oldDok.datAk, poznamka=STRTRAN(skl_doklady.poznamka,STREXTRACT(skl_doklady.poznamka,[<],[>],1,4),'',1,1,1) ; from oldDok ; WHERE oldDok.id_doklad==STREXTRACT(skl_doklady.poznamka,[<],[>],1,1) ? _tally RETURN