Ir para conteúdo
  • Cadastre-se

dev botao

toma3 grava somente (0) tmRemetente


KriarTecnologia
  • Este tópico foi criado há 2600 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Moderadores

Abra o arquivo pcteCTeW e coloque um break point na rotina GerarToma03 e veja o que pode estar ocorrendo de errado.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

bom dia André, fiz o trace e ele entrou no if da versão 3:

    if CTe.infCTe.versao = 3 then
    begin
      Gerador.wGrupo('toma3', '#035');
      Gerador.wCampo(tcStr, '#036', 'toma ', 01, 01, 1, TpTomadorToStr(CTe.ide.Toma03.Toma), DSC_TOMA);
      Gerador.wGrupo('/toma3');
    end

conforme a imagem em anexo o cte.ide.toma03.toma está = tmdestinatario.

mas quando vou verificar no arquivo xml (em anexo) gerado está <toma>0</toma>

Untitled1.jpg

52170319428052000191570010000012551000720443-cte.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Vc debugou a função TpTomadorToStr pra ter certeza que ela está conseguindo converter a informação corretamente?

 

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

André, fiz um teste colocando o toma fixo = 2 no pctectew:

    if CTe.infCTe.versao = 3 then
    begin
      Gerador.wGrupo('toma3', '#035');
      Gerador.wCampo(tcStr, '#036', 'toma ', 01, 01, 1, 2, DSC_TOMA);
      Gerador.wGrupo('/toma3');
    end

no arquivo xml ele gravou <toma>2</toma>

 

então movi pcteconversaocte.tmDestinatario mencionando o pcteconversaocte :

//Classe ==> toma03
   Case Tp_Tomador.ItemIndex of // Forma de Pagto do CTe
    0: CTe.Ide.Toma03.Toma := pcteconversaocte.tmRemetente;
    1: CTe.Ide.Toma03.Toma := pcteconversaocte.tmDestinatario;
    2: CTe.Ide.Toma03.Toma := pcteconversaocte.tmOutros;
   End;

mesmo assim no arquivo xml ele gravou <toma>0</toma>

 

quando coloco o valor fixo ele grava o que eu movi, quando uso a variavel tmdestinatario ele grava zero (<toma>0</toma>)

 

sim, André a imagem é do debug.

desculpe, vou debugar a função TpTomadorToStr.

 

Link para o comentário
Compartilhar em outros sites

No meu XML esta gravando corretamente, dá uma olhada na sua rotina de preenchimento do campo.

Os valores que devem ser passados é: 0-Remetente; 1-Expedidor 2-Recebedor 3-Destinatario e 4-Outro.

Dá uma olhada na minha rotina

    //PAGADOR DO FRETE
      if (FDM.qCtrc.FieldByName('CTRCPAGADOR').AsString = FDM.qCtrc.FieldByName('CTRCREM').AsString) then
      begin
        Ide.Toma03.Toma := tmRemetente;
      end
      else if (FDM.qCtrc.FieldByName('CTRCPAGADOR').AsString = FDM.qCtrc.FieldByName('CTRCDEST').AsString) then
      begin
        Ide.Toma03.Toma := tmDestinatario;
      end
      else if (FDM.qCtrc.FieldByName('CTRCPAGADOR').AsString = FDM.qCtrc.FieldByName('CTRCEXP').AsString) then
      begin
        Ide.Toma03.Toma := tmExpedidor;
      end
      else if (FDM.qCtrc.FieldByName('CTRCPAGADOR').AsString = FDM.qCtrc.FieldByName('CTRCREDE').AsString) then
      begin
        Ide.toma03.Toma := tmRecebedor;
      end
      else if (FDM.qCtrc.FieldByName('CTRCPAGADOR').AsString = FDM.qCtrc.FieldByName('CTRCCONS').AsString) then
      begin
        Ide.Toma03.Toma := tmOutros;

Link para o comentário
Compartilhar em outros sites

boa tarde, o problema acontece no momento em que é feito um LoadFromFile para assinar o .xml:

          //Assina N.Fiscal Eletrônica
          ACBrCTe1.Conhecimentos.Clear;
          ACBrCTe1.Conhecimentos.LoadFromFile(PathWRKARQ);
          ACBrCTe1.Conhecimentos.Assinar;
          ListaErrosPCN.Lines.add('     Arquivo XML Assinando...');

é nessa hora que o toma fica = tmremetente mudando o valor que foi gravado anteriormente = 3 (tmdestinatario) - arquivos em anexo

parece que tem algum problema para carregar as classes do acbrcte1 que foram gravadas com a instancia de objeto tcte:

  // Gerar o arquivo XML
   CTeW.GerarXml;

estou usando a seguinte configuração

1) estou usando a versao 3.00 do cte:

//*****************  versao 3.00
   ACBrCTe1.Configuracoes.Geral.VersaoDF := pcteConversaoCTe.ve300;;
   cte.infCTe.versao := 3.00;

   cte.ide.indGlobalizado := tinao;
   cte.ide.indIEToma := incontribuinte;
//*******************



 

assinado 52170319428052000191570010000012551000720591-cte.xml

não assinado 52170319428052000191570010000012551000720591-cte.xml

Editado por KriarTecnologia
Link para o comentário
Compartilhar em outros sites

%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Oi André, fiz uma atualização do meu acbr e agora funcionou corretamente.

está gravando o toma corretamente conforme informado.

Muito obrigado pela atenção, suas informações foram de grande valia para resolvermos o problema, valeu.

 

Editado por KriarTecnologia
correção
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2600 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.