Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

INSERIR DADOS NA DTRBITEM


Posts Recomendados


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  26
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  240
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  54
  • Dispositivo:  Windows

Bom dia.

Preciso gerar a IN86 do primeiro trimestre de 2007.

E nossos lancamentos fiscais não tem a informação de PIS/COFINS no campo OUTROS TRIBUTOS do item do lancamento (DTRBITEM)nesse periodo.

Precisamos editar manualmente certa de 10.000 registros informando codigo do tributo, base, valor, situacao tributaria e aliquota.

No lancamento a tabela de OUTROS TRIBUTOS (DTRBLAF) basta você informar o tributo que todos os campos são preenchidos automaticamente.

Então pensei em fazer as alterações manuais na tabela DTRBLAF, onde só informo o tributo e depois fazer um INSERT via banco do dados, porém estou tendo dificuldades com a chave primária.

Veja:

insert into DTRBITEM (CODCOLIGADA, IDLAF, CODTRB, BASETRB, ALIQTRB, VALORTRB, SITTRIBUTARIA)

values (select CODCOLIGADA, IDLAF, CODTRB, BASETRB, ALIQTRB, VALORTRB, SITTRIBUTARIA from DTRBLAF) where DTRBLAF.idlaf = '224495'

ERRO:

Cannot insert the value NULL into column 'IDTRBITEM', table 'EXEMPLO.dbo.DTRBITEM'; column does not allow nulls. INSERT fails.

The statement has been terminated.

Se alguem puder ajudar...

Obrigado,

Handerson

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  8
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  60
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  388
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline
  • Idade:  50

Handerson ,

A mensagem diz que vc não pode incluir um valor nulo no campo IDTRBITEM na tabela DTRBITEM , ou seja , vc também tem que colocar um valor pra essa coluna na sentença e pra achar esse valor vai ter que procurar no próprio lançamento o IDPRD do produto , mas claro que só daria certo se o lançamento tiver apenas um IDPRD .

Acho que o ideal é realmente exportar para uma planilha excel a tabela TITMMOV e com as informações do período e formular um script para inserir os dados necessários juntando com a DTRBITEM , pode demorar um pouco mais , mas não vai ter erro na inclusão .

Mas o pessoal que tem mais experiência aqui pode ajudar com outras idéias .

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  37
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  278
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Tenta sem parênteses.

insert into DTRBITEM (CODCOLIGADA, IDLAF, CODTRB, BASETRB, ALIQTRB, VALORTRB, SITTRIBUTARIA)

select CODCOLIGADA, IDLAF, CODTRB, BASETRB, ALIQTRB, VALORTRB, SITTRIBUTARIA from DTRBLAF where DTRBLAF.idlaf = '224495'

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  27
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  147
  • Conteúdo/Dia:  0.02
  • Reputação:   5
  • Pontos/Conquistas:  1.023
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  46

Segue exemplo para inserir o cofins, basta vc alterar o filtro e depois criar outro para inserir p PIS..

/* insere COFINS DTRBITEM */

begin tran ins_cof_calc

declare @id int

set @id = (select VALAUTOINC from gautoinc

where CODCOLIGADA = 1

and CODAUTOINC = 'IDTRBITEM')

insert dTRBITEM

select

1, -- codcoligada

(ROW_NUMBER() OVER(partition by di.codcoligada ORDER BY di.codcoligada, di.idlaf, numitem ) + @id), -- idtrbitem

d.idlaf, -- idlaf

di.numitem, -- numitem

'COFINS' , -- codtrb

isnull (di.VALORMERC, (QTDEPRD * precoprd)), -- basetrb

7.6000, -- aliqtrb

convert (numeric(18,4),round ((isnull (di.VALORMERC, (QTDEPRD * precoprd)) * 0.0760),2)),

0.0000, -- vlristento

Null, -- tipotributacao

'50', -- sittributaria

Null, -- idperissmunicipio

0.0000, -- aliquotaporvalor

Null -- codundreferencia

from dlaf d (nolock)

inner join DITEM di (nolock) on d.IDLAF = di.IDLAF and d.codcoligada = di.CODCOLIGADA

inner join TMOV t (nolock) on t.IDMOV = d.IDMOV

where not exists ( select * from dTRBITEM dit where di.IDLAF = dit.IDLAF

and di.NUMITEM = dit.NUMITEM

and di.codcoligada = dit.CODCOLIGADA and dit.CODTRB = 'COFINS')

d.IDLAF = 240044

order by d.IDLAF, di.NUMITEM

update gautoinc

set VALAUTOINC = (select MAX (idtrbitem) from dTRBITEM

where CODCOLIGADA = 1)

where CODAUTOINC = 'IDTRBITEM'

commit tran ins_cof_calc

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.