Podrobný popis položek a jejich hodnot

Top  Previous  Next

Seznam témat:

dlouhodobý majetek

operativní evidence

postup importu

 

Dlouhodobý majetek

Aby se u karty mohly vypočíst odpisy (po importu, jinak se doplňuje automaticky po insertu) musí mít status "karta hlavní". Při importu je pak nutné doplnit položky: ai_hlavni = id_ai, ai_nadkarta = id_ai, datan_id=data_id, danah_id= data_id. Toto se děje v automaticky v triggeru, ovšem pouze v případě že položky ai_hlavni, ai_nadkarta, datan_id, danah_id mají hodnotu null

 

neuplatněná poměrná část odpisu    numeric                       rozdil_sk

 

kde

numeric                18,2
date                        dd.mm.rrrr

 

Pozn1

Tyto seznamy jsou pouze informativní a obsahují základní položky při zadávání karet.
Ovšem je možné importovat další položky, které nejsou neuvedené v tomto seznamu.
V kartách jsou pro tyto případy položky, které nemají přesné urèení a záleží na uživateli, zda vůbec a jak je použije.

 

Pozn2

Pokud by se prováděl import v průběhu roku, je nutné domluvit, jakým způsobem, se bude provádět převod odpisů.
Buď ve formě zápisů za jednotlivé měsíce, včetně záznamů o provedených změnách, nebo sumárně do položky odpis od počátku roku

 

Pozn3

odpisové plány vyzkoušet po provedení přepočtu odpisů - takhle se dá zjistit, pokud by byly nesprávně převedeny odpisové skupiny nebo způsoby odpisů resp.  procenta u účetních odpisů

 

Kontroly

cena pro odpis - daňová, účetní ( pokud jsou odlišné )
zůstatková cena daňová
zůstatková cena účetní
oprávky daňové
oprávky účetní
odpis od počátku roku ( účetní odpisy )
odpisový plán daňový
odpisový plán účetní
zařazené / vyřazené karty

 

Operativní evidence

 

 

kde

numeric                18,2
date                        dd.mm.rrrr

 

Kontroly

počet kusů
cena / kus
celková cena
zařazené / vyřazené karty
počty kusů umístění - střediska, budovy a místnosti, referenti

 

Postup importu

Procedury z_import_dm a z_import_oe řeší import z třetích stran na základě popisu položek. Předpokládá se založení tabulek z_import_dm a z_import_oe.

 

!! samozřejmě, názvy položek mohou být jiné, ale pak je potřeba změnit procedury !!  nebo importní profil

 

Postup u dlouhodobého majetku:

vytvoří tabulka z_impor_dm ( input into dba.z_import_dm from c:\importy\ex\dma.dbf format foxpro   encoding    852 )
spustit proceduru z_import_dm, ta namele data do tabulky zd_import_stav, u které je trieger. Ten naplní příslušné tabulky zdsta a zdinvk, případně zdbdv, zdref, a zdodp

 

Postup u operativní evidence:

vytvoří tabulka z_import_oe ( input into dba.z_import_oe from c:\importy\ex\dma.dbf format foxpro   encoding    852 )
spustit proceduru z_import_oe, ta namele data do tabulky zd_import_op, u které je trieger. Ten naplní příslušné tabulky zdop a zdopk, případně zdbdvn a zdrefn

 

Pokud provádíte import do již existující databáze, je nutné zazávorkovat poslední řádek delete dba.zdzm

Nezapomenout odzávorkovat výpočet odpisů podle toho jak mám proběhnout výpočet

 

Tabulka z_import_dm

create table "DBA"."z_import_dm" (

 KONTO                varchar(7) null,

 INV                  varchar(20) null,

 NAZEV                varchar(50) null,

 POCETKS              bigint null,

 CENAKS               decimal(13,2) null,

 CENAVST              decimal(13,2) null,

 CENAAKT              decimal(13,2) null,

 DAT_PORIZ            date null,

 DAT_ZARAZ            date null,

 HODNOTA              decimal(13,2) null,

 CENAPROD             decimal(13,2) null,

 ZHU                  decimal(13,2) null,

 ZHD                  decimal(13,2) null,

 OPRAVKYU             decimal(13,2) null,

 OPRAVKYD             decimal(13,2) null,

 DPH                  bigint null,

 CASTDPH              decimal(13,2) null,

 KOEFDPH              bigint null,

 ICO                  varchar(20) null,

 MULTI                bigint null,

 ROZLIS               varchar(6) null,

 VYRCIS               varchar(20) null,

 TYP                  varchar(20) null,

 POL1                 varchar(20) null,

 POL2                 varchar(20) null,

 STRED                varchar(25) null,

 CINN                 varchar(5) null,

 ZAKAZ                varchar(15) null,

 CLENENI              varchar(10) null,

 BUDOVA               varchar(10) null,

 MISTNOST             varchar(10) null,

 REFERENT             varchar(10) null,

 SKP                  varchar(10) null,

 ODPDSKUP             bigint null,

 ODPDZPUS             bigint null,

 JEDNODAN             bigint null,

 OMEZDAN              bigint null,

 PROCDAN              decimal(5,2) null,

 DATUMTZ              date null,

 ODPUZPUS             bigint null,

 POCMES               bigint null,

 ODPUPROC               bigint null,        

 JEDNOUCT             bigint null,

 ODPUROK              decimal(13,2) null,

 STAV                 bigint null,

 DAT_VYRAZ            date null,

 ODPOCET              bigint null,

 PROCento             bigint null,

 VPROK                     integer NULL ,

 POCMESTZH              integer NULL ,

 POCMESTZHU                    integer NULL ,

 ROZDIL_SK                decimal(13,2) null,

)

go

grant select, insert, delete, update, alter, references on "DBA"."z_import_dm" to "public"

go

if user_id('obecny_uzivatel') <> 0 then grant select, insert, delete, update, alter, references on "DBA"."z_import_dm" to "obecny_uzivatel" end if

go

#DisableErrors

go

if user_id('group_common') <> 0 then grant select, insert, delete, update, alter, references on "DBA"."z_import_dm" to "group_common" end if

 

 

Tabulka z_import_oe

create table "DBA"."z_import_oe" (

 INV                  char(20) null,

 NAZEV                char(50) null,

 POCETKS              integer null,

 CENAKS               decimal(13,2) null,

 CENA                 decimal(13,2) null,

 DAT_ZARAZ            date null,

 CENAPROD             decimal(13,2) null,

 DPH                  integer null,

 CASTDPH              decimal(13,2) null,

 ROZLIS               char(6) null,

 ROKVYROBY            integer null,

 VYRCIS               char(20) null,

 TYP                  char(20) null,

 POL1                 char(20) null,

 POL2                 char(20) null,

 STRED                char(25) null,

 BUDOVA               char(10) null,

 MISTNOST             char(10) null,

 REFERENT             char(10) null,

)

go

grant select, insert, delete, update, alter, references on "DBA"."z_import_oe" to "public"

go

if user_id('obecny_uzivatel') <> 0 then grant select, insert, delete, update, alter, references on "DBA"."z_import_oe" to "obecny_uzivatel" end if

go

#DisableErrors

go

if user_id('group_common') <> 0 then grant select, insert, delete, update, alter, references on "DBA"."z_import_oe" to "group_common" end if

 

 

Procedura z_import_dm

ALTER PROCEDURE "DBA"."z_import_dm" /* @parameter_name parameter_type [= default_value] [OUTPUT], ... */

as

begin

 --input into dba.z_import_dm from c:\CESTA\nazev_tabulky.dbf format DBASEIII   nebo format FOXPRO

 --input into dba.z_import_dm from c:\CESTA\nazev_tabulky.xls

 --vytvori se tabulka dle zadane tabulky ( nazev_tabulky.dbf nebo nazev_tabulky.xls)

 declare @par1 integer

 declare @par1_ins integer

 declare @did integer

 declare @period datetime

 --

 declare @KONTO konto_

 declare @INV char(20)

 declare @NAZEV nazev_

 declare @aitr integer

 --

 declare @NAZEV_nazev nazev_

 declare @yesuct integer

 declare @perioda integer

 --

 declare @POCETKS integer

 declare @CENAKS penize_

 declare @CENAVST penize_

 declare @CENAAKT penize_

 declare @DAT_PORIZ datetime

 declare @DAT_ZARAZ datetime

 declare @HODNOTA penize_

 declare @CENAPROD penize_

 declare @ZHU penize_

 declare @ZHD penize_

 declare @OPRAVKYU penize_

 declare @OPRAVKYD penize_

 declare @DPH penize_

 declare @CASTDPH penize_

 declare @KOEFDPH integer

 declare @ICO ico_

 declare @MULTI integer

 --

 declare @ROZLIS nazev_

 declare @VYRCIS nazev_

 declare @TYP nazev_

 declare @POL1 nazev_

 declare @POL2 nazev_

 declare @STRED nazev_

 declare @CINN nazev_

 declare @ZAKAZ nazev_

 declare @CLENENI nazev_

 declare @BUDOVA nazev_

 declare @MISTNOST nazev_

 declare @REFERENT nazev_

 --

 declare @SKP nazev_

 declare @ODPDSKUP integer

 declare @ODPDZPUS integer

 declare @JEDNODAN integer

 declare @OMEZDAN integer

 declare @PROCDAN penize_

 declare @ROZDIL_SK penize_

 declare @PRVNI_ODPIS integer

 --

 declare @DATUMTZ datetime

 declare @ODPUZPUS integer

 declare @POCMES integer

 declare @ODPUPROC penize_

 declare @JEDNOUCT integer

 declare @ODPUROK penize_

 declare @STAV integer

 --

 declare @DAT_VYRAZ datetime

 declare @ODPOCET integer

 --

 declare @PROCento integer

 declare @VPROK integer

 --

 --

 select @period = period from dba._gusers

 select @did=ggetdataid(*)

 --

 --

 -- max id_ai

 select @par1 = max(id_ai) from dba.zdstav

 --

 --aby se pei insertech a updatech neprovadel prepocet odpisu

 if exists(select value from dba.globals where name = 'mj_recalc') update dba.globals set value = 'N' where name = 'mj_recalc'

 else insert into dba.globals( value,name) values( 'N','mj_recalc')

 --

 --zd_import_stav

 delete from dba.zd_import_stav

 delete from dba.zd_import_error

 --

 select @par1=1

 declare n dynamic scroll cursor for select KONTO,INV,NAZEV,POCETKS,CENAKS,CENAVST,

     CENAAKT,DAT_PORIZ,DAT_ZARAZ,HODNOTA,CENAPROD,ZHU,ZHD,OPRAVKYU,OPRAVKYD,

     DPH,CASTDPH,KOEFDPH,ICO,MULTI,

     ROZLIS,VYRCIS,TYP,POL1,POL2,STRED,

     CINN,ZAKAZ,CLENENI,BUDOVA,MISTNOST,REFERENT,

     SKP,ODPDSKUP,ODPDZPUS,JEDNODAN,OMEZDAN,PROCDAN,

     DATUMTZ,ODPUZPUS,POCMES,JEDNOUCT,ODPUROK,STAV,DAT_VYRAZ,ODPOCET,PROCENTO,ODPUPROC,VPROK,

     ROZDIL_SK from DBA.z_import_dm where

     isnull(dat_vyraz,dateadd(day,1,@period)) > @period order by inv asc

 open n

 while 1 = 1

   begin

     fetch next n into @KONTO,@INV,@NAZEV,@POCETKS,@CENAKS,@CENAVST,

       @CENAAKT,@DAT_PORIZ,@DAT_ZARAZ,@HODNOTA,@CENAPROD,

       @ZHU,@ZHD,@OPRAVKYU,@OPRAVKYD,

       @DPH,@CASTDPH,@KOEFDPH,@ICO,@MULTI,

       @ROZLIS,@VYRCIS,@TYP,@POL1,@POL2,@STRED,

       @CINN,@ZAKAZ,@CLENENI,@BUDOVA,@MISTNOST,@REFERENT,

       @SKP,@ODPDSKUP,@ODPDZPUS,@JEDNODAN,@OMEZDAN,@PROCDAN,@DATUMTZ,

       @ODPUZPUS,@POCMES,@JEDNOUCT,@ODPUROK,@STAV,@DAT_VYRAZ,@ODPOCET,

       @PROCENTO,

       @ODPUPROC,

       @VPROK,

       @ROZDIL_SK

     if @@sqlstatus = 1

       begin

         raiserror 99999

         return

       end

     else

       begin

         if @@sqlstatus = 2 break

         else

           if sqlstate <> '00000' break

       end

     --

     --

     select @par1=isnull(@par1,0)+1

     --

     insert into dba.zd_import_stav( id_ai,invcis,uct,anl,cena,datumpor,dph,nazev,

       perioda,sazba,skpcislo_id,skupina,vpcislo,vprok,

       vptyp,zpusobuct,zpusobdan,cenadan,cenauct,opravdan,opravuct,

       prodcena,cenaks,cenanom,cl1,cl2,cl3,cl4,

       oprpol,odpisrok,roktzh,pocetks,ec_ec,ref,

       yesodp,rok_id,data_id,zpusobmes,polozka1,polozka2,typdph,koefdph,sazbadph,

       rozdol_sk) values(

       @par1,@inv,@konto,null,@cenaakt,@dat_zaraz,@dph,@nazev,

       @perioda,0,@skp,@ODPDSKUP,@vyrcis,@vprok,

       @typ,@ODPUZPUS,@ODPDZPUS,@zhd,@zhu,@opravkyd,@opravkyu,

       @cenaprod,@cenaks,@cenaakt,@stred,@cinn,@zakaz,null,

       0,@odpurok,null,@pocetks,null,@referent,

       @yesuct,@period,@did,0,@pol1,@pol2,@dph,@koefdph,@castdph,

       @rozdil_sk)

     --

     --skutecne id_ai... v tigrovi zd_import_stav

     select @par1_ins = id_ai from dba.zdstav where invcis = @inv

     --

     -- pokud nejaka vazba na zctr

     if isnull(@aitr,0) <> 0

       begin

         if not exists(select id_aitr from dba.zctr where id_aitr = @aitr)

           insert into dba.zctr( id_aitr,text) values( @aitr,'IMPORT')

         update dba.zdstav set aitr_id = @aitr where id_ai = @par1_ins

       end

     --

     if isnull(@odpuproc,0) <> 0

       begin

         update dba.zdinvk set sazbauct = @odpuproc where ai_id = @par1_ins and data_id = @did

       end

     --

     if isnull(@budova,'') <> ''

       begin

         if not exists(select id_kodbudova from dba.zcbdv where id_kodbudova = @budova)

           insert into dba.zcbdv( data_id,id_kodbudova,nazev) values( @did,@budova,'IMPORT')

         --

         if isnull(@mistnost,'') <> ''

           begin

             if not exists(select id_kodmistnost from dba.zcmist where kodbudova_id = @budova and id_kodmistnost = @mistnost)

               insert into dba.zcmist( data_id,kodbudova_id,id_kodmistnost,nazev) values( @did,@budova,@mistnost,'IMPORT')

           end

         --

         insert into dba.zdbdv( data_id,ai_id,id_porcis,kodbudova_id,kodmistnost_id,pocetks,datab_id,datam_id,datod) values(

           @did,@par1_ins,10,@budova,@mistnost,@pocetks,@did,@did,@dat_zaraz)

       end

   --

   end

 close n

 --

 --

 --BUD .........   odpisy .... pocatecni stav

 update dba.globals set value = 'Y' where name = 'mj_recalc'

 --

 declare c_odp dynamic scroll cursor for select id_ai,data_id from dba.zdstav

 --

 open c_odp

 while 1 = 1

   begin

     fetch next c_odp into @par1,

       @did

     if @@sqlstatus = 1

       begin

         raiserror 99999

         return

       end

     else

       begin

         if @@sqlstatus = 2 break

         else

           if sqlstate <> '00000' break

       end

     --

     execute dba.zd_odpis @par1,@did

   --

   end

 close c_odp

 --

 -- A NEBO  ......... odpisy v prubehu roku

 update dba.globals set value = 'Y' where name = 'mj_recalc'

 --

 declare c_odp_n dynamic scroll cursor for select id_ai,data_id from dba.zdstav

 --

 open c_odp_n

 while 1 = 1

   begin

     fetch next c_odp_n into @par1,

       @did

     if @@sqlstatus = 1

       begin

         raiserror 99999

         return

       end

     else

       begin

         if @@sqlstatus = 2 break

         else

           if sqlstate <> '00000' break

       end

     --

     --

     execute dba.zd_odpis @par1,@did

   --

   -- !!!!!   tady doplnit od kdy se maji zpracovavat odpisy tj, prvni mesic odpisu, impl. @PRVNI_ODPIS  = 0

   --

   --update dba.zdodp set sazba = 0 where ai_id = @par1

   --update dba.zdodp set zprac = 1 where ai_id = @par1 and poradi < @PRVNI_ODPIS and priznak = 1

   --execute dba.zd_odpis @par1,@did

   -- nezapomenout nastavit parametr 1. odpis na klientovi .... parametr 1. odpis = :PRVNI_ODPIS

   --

   end

 close c_odp_n

--

--pripadn zmeny v tab zdzm

--delete from dba.zdzm

end

 

Procedura z_import_oe

ALTER PROCEDURE "DBA"."z_import_oe" /* @parameter_name parameter_type [= default_value] [OUTPUT], ... */

as

begin

 --input into dba.z_import_oe from c:\CESTA.dbf format DBASEIII   nebo format FOXPRO

 --vytvori se tabulka dle zadane tabulky ( *.dbf )

 --

 declare @par1 integer

 declare @par1_ins integer

 declare @did integer

 declare @pariod datetime

 --

 declare @INV char(20)

 declare @NAZEV nazev_

 declare @NAZEV_nazev nazev_

 declare @POCETKS integer

 declare @CENAKS penize_

 declare @CENA penize_

 declare @DAT_ZARAZ datetime

 declare @CENAPROD penize_

 declare @DPH integer

 declare @CASTDPH penize_

 declare @ROZLIS integer

 declare @ROKVYROBY integer

 declare @VYRCIS char(20)

 declare @VPTYP char(20)

 declare @POL1 char(20)

 declare @POL2 char(20)

 declare @STRED char(25)

 declare @BUDOVA char(10)

 declare @MISTNOST char(10)

 declare @REFERENT char(10)

 --

 declare @pocetksall integer

 declare @max integer

 declare @invpoc nazev_

 --

 declare @period datetime

 --

 --

 select @period = period from dba._gusers

 select @did=ggetdataid(*)

 --

 --

 --zd_import_stav

 delete from dba.zd_import_op

 delete from dba.zd_import_error

 --

 select @par1=1

 declare n dynamic scroll cursor for select trim(INV),NAZEV,POCETKS,CENAKS,CENA,DAT_ZARAZ,cenaprod,dph,

     castdph,rozlis=convert(integer,rozlis),rokvyroby,vyrcis,typ,pol1,pol2,STRED,budova,mistnost,referent from

     DBA.z_import_oe order by inv asc

 open n

 while 1 = 1

   begin

     fetch next n into @INV,@NAZEV,@POCETKS,@CENAKS,@CENA,@DAT_ZARAZ,@cenaprod,@dph,

       @CASTDPH,@ROZLIS,@rokvyroby,@VYRCIS,@VPTYP,@POL1,@pol2,@STRED,@budova,@mistnost,

       @REFERENT

     if @@sqlstatus = 1

       begin

         raiserror 99999

         return

       end

     else

       begin

         if @@sqlstatus = 2 break

         else

           if sqlstate <> '00000' break

       end

     --

     /*

     // tady doplnit prislusne zmeny

     //

     select @nazev_nazev=(select first nazev from dba.excels_nazvy_op where trim(inv) = @inv)

     select @nazev=@nazev_nazev

     */

     --

     delete from dba.zd_import_op

     --print 'insert indo zd_import_op ' || @inv

     insert into dba.zd_import_op( id_aiop,data_id,cena,cenaks,pocetks,

       datumpor,nazev,invcis,

       cl1,cl2,cl3,cl4,rok_id,

       rokvyr,vptyp,vyrcislo,rozlis,pol1,pol2) values(

       @par1,@did,@cena,@cenaks,@pocetks,

       @dat_zaraz,@nazev,trim(@inv),

       @stred,null,null,null,@period,

       @rokvyroby,@vptyp,@vyrcis,@rozlis,@pol1,@pol2)

     --

     --skutecne id_ai... v tigrovi zd_import_op

     select @par1_ins = id_aiop from dba.zdop where invcis =@inv

     --

     --  print 'insert indo zd_import_op konec ' || @inv

     --

     if isnull(@budova,'') <> ''

       begin

         if not exists(select id_kodbudova from dba.zcbdv where id_kodbudova = @budova)

           insert into dba.zcbdv( data_id,id_kodbudova,nazev) values( @did,@budova,'IMPORT')

         --

         if isnull(@mistnost,'') <> ''

           begin

             if not exists(select id_kodmistnost from dba.zcmist where kodbudova_id = @budova and id_kodmistnost = @mistnost)

               insert into dba.zcmist( data_id,kodbudova_id,id_kodmistnost,nazev) values( @did,@budova,@mistnost,'IMPORT')

           end

         --

          insert into dba.zdbdvn( data_id,aiop_id,id_porcis,kodbudova_id,kodmistnost_id,pocetks,datab_id,datam_id,datod) values(

           @did,@par1_ins,10,@budova,@mistnost,@pocetks,@did,@did,@dat_zaraz)

       end

    --

      if isnull(@referent,'') <> ''

       begin

         if not exists(select id_oscislo from dba.zcref where @referent = id_oscislo)

           insert into dba.zcref( data_id, id_oscislo,pouzit, pozn) values( @did, @referent,0,'IMPORT')

         --

       

          insert into dba.zdrefn( data_id,aiop_id, oscislo_id,pocetks, datod) values(

           @did,@par1_ins,@referent, @pocetks,@dat_zaraz)

       end

     --

     select @par1=@par1+1

   end

 close n

end

 

Související témata

Importy majetku ze systémů třetích stran

DM_evidence

OE_evidence

Odpisový plán