quinta-feira, 24 de março de 2016

Inserção de contas de T.A. numa BD da Primavera Software

O apuramento das tributações autónomas, são cada vez mais complexas e, exige um grande rigor na elaboração do plano de contas de forma a separar e aplicar as taxas de forma correta. O Contabilista terá que fazer a ponte entre a contabilidade geral e a fiscalidade de forma a que os procedimentos de encerramente de contas corra de forma eficaz, com eficiência e rápidez. Para concretizar esse objetivo, terá que planear um plano de contas de acordo com as normas fiscais e aperfeiçoar a sua folha de cálculo de forma a que esta obtenha os valores automáticamente. Neste sentido, apresento um código de inserção direta nas bases de dados de forma a criar a conta ou alterar e o texto da conta associada.

Este código só é possível utilizar no primavera software:

Contas a criar automáticamente:
622642 Cons.-equip. transp.-n/ aceite tot.< 25.000
622643 Cons.-equip. transp.-n/ aceite tot.> 35.000
622644 Cons.-equip. transp.-n/ aceite tot.< 35.000
624212 Gasóleo -n/ aceite pela totalidade < 25.000
624213 Gasóleo -n/ aceite pela totalidade > 35.000
624214 Gasóleo -n/ aceite pela totalidade <35 .000="" nbsp="" p="">62512 Desloc. e estadas-n/aceites p/ tot.  < 25.000
62513 Desloc. e estadas-n/aceites p/ tot. > 35.000
62514 Desloc. e estadas-n/aceites p/ tot. < 35.000
626322 Seguros- r.a.p. -n/aceite pela tot.
626352 Seguros -r.viat.-n/aceite pela tot. < 25.000
626353 Seguros -r.viat.-n/aceite pela tot. > 35.000
626354 Seguros -r.viat.-n/aceite pela tot. < 35.000
626362 Seguros - r.vida-n/aceite pela tot.
642142 Deprec-equipamento de transporte - n/ aceite pela totalidade < 25.000
642143 Deprec-equipamento de transporte - n/ aceite pela totalidade > 35.000
642144 Deprec-equipamento de transporte - n/ aceite pela totalidade < 35.000
681242 Imp. s/trans. rod.-n/ aceites tot. < 25.000
681243 Imp. s/trans. rod.-n/ aceites tot. > 35.000
681244 Imp. s/trans. rod.-n/ aceites tot.< 35.000
69152 Juros  compensatórios - n/aceites
69172 Jur. cont.loc.finan.- n/aceites tot  < 25.000
69173 Jur. cont.loc.finan.- n/aceites tot > 35.000
69174 Jur. cont.loc.finan.- n/aceites tot < 35.000



DECLARE @AnoDest  AS SMALLINT

DECLARE @Grupo    AS VARCHAR(10)



SET @AnoDest = 2015

SET @Grupo = 'GAST'



IF EXISTS

(

        SELECT      TOP 1 'X'

        FROM        [dbo].[ExerciciosCBL]

        WHERE       [Ano] = @AnoDest

)

BEGIN




--Inicio

      IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '622644'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('622644', 'Cons.-equip. transp.-n/ aceite tot.< 35.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Cons.-equip. transp.-n/ aceite tot.< 35.000' WHERE Conta = '622644'

            END










      IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '622642'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('622642', 'Cons.-equip. transp.-n/ aceite tot.< 25.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Cons.-equip. transp.-n/ aceite tot.< 25.000' WHERE Conta = '622642'  

            END      












IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '622643'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('622643', 'Cons.-equip. transp.-n/ aceite tot.> 35.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Cons.-equip. transp.-n/ aceite tot.> 35.000' WHERE Conta = '622643'  

            END      





--GASÓLEO

 IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '624214'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('624214', 'Gasóleo -n/ aceite pela totalidade <35 .000="" nodest="" p="" rupo="">
      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Gasóleo -n/ aceite pela totalidade <35 .000="" conta="624214" nbsp="" p="" where="">
            END










      IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '624212'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('624212', 'Gasóleo -n/ aceite pela totalidade < 25.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Gasóleo -n/ aceite pela totalidade < 25.000' WHERE Conta = '624212'  

            END      












IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '624213'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('624213', 'Gasóleo -n/ aceite pela totalidade > 35.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Gasóleo -n/ aceite pela totalidade > 35.000' WHERE Conta = '624213'  

            END      









--Deslocações


IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '62514'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('62514', 'Desloc. e estadas-n/aceites p/ tot. < 35.000 ', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Desloc. e estadas-n/aceites p/ tot. < 35.000 ' WHERE Conta = '62514'

            END










      IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '62512'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('62512', 'Desloc. e estadas-n/aceites p/ tot. < 25.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Desloc. e estadas-n/aceites p/ tot.  < 25.000' WHERE Conta = '62512'  

            END      












IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '62513'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('62513', 'Desloc. e estadas-n/aceites p/ tot. > 35.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Desloc. e estadas-n/aceites p/ tot. > 35.000' WHERE Conta = '62513'  

            END      





--Seguros



IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '626354'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('626354', 'Seguros -r.viat.-n/aceite pela tot. < 35.000 ', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Seguros -r.viat.-n/aceite pela tot. < 35.000' WHERE Conta = '626354'

            END










      IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '626352'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('626352', 'Seguros -r.viat.-n/aceite pela tot.  < 25.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Seguros -r.viat.-n/aceite pela tot. < 25.000' WHERE Conta = '626352'  

            END      












IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '626353'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('626353', 'Seguros -r.viat.-n/aceite pela tot. > 35.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Seguros -r.viat.-n/aceite pela tot. > 35.000' WHERE Conta = '626353'  

            END      





--IUC


IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '681244'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('681244', 'Imp. s/trans. rod.-n/ aceites tot.< 35.000 ', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Imp. s/trans. rod.-n/ aceites tot.< 35.000' WHERE Conta = '681244'

            END










      IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '681242'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('681242', 'Imp. s/trans. rod.-n/ aceites tot. < 25.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Imp. s/trans. rod.-n/ aceites tot. < 25.000' WHERE Conta = '681242'  

            END      












IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '681243'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('681243', 'Imp. s/trans. rod.-n/ aceites tot. > 35.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Imp. s/trans. rod.-n/ aceites tot. > 35.000' WHERE Conta = '681243'  

            END      




--Juros



IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '69174'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('69174', 'Jur. cont.loc.finan.- n/aceites tot < 35.000 ', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Jur. cont.loc.finan.- n/aceites tot < 35.000' WHERE Conta = '69174'

            END










      IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '69172'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('69172', 'Jur. cont.loc.finan.- n/aceites tot < 25.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Jur. cont.loc.finan.- n/aceites tot  < 25.000' WHERE Conta = '69172'  

            END      





IF NOT EXISTS

      (

              SELECT      TOP 1 'X'

              FROM        [dbo].[PlanoContas]

              WHERE       [Conta] = '69173'

      )

      BEGIN

            INSERT INTO [PlanoContas] ([Conta],[Descricao],[TipoConta], [Ano], [Grupo])

                  VALUES ('69173', 'Jur. cont.loc.finan.- n/aceites tot  > 35.000', 'M', @AnoDest, @Grupo)

      END

      ELSE

            BEGIN

            UPDATE [PlanoContas] SET Descricao = 'Jur. cont.loc.finan.- n/aceites tot > 35.000' WHERE Conta = '69173'  

            END      





--Fim

END
<35 .000="" nodest="" p="" rupo=""><35 .000="" conta="624214" nbsp="" p="" where="">

Sem comentários:

Enviar um comentário