Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Bom dia amigos,

 

Gostaria de sugerir uma alteração na procedure TdmACBrCTeFR.CarregaDadosNotasFiscais, pois da forma como estava, cortava a Dacte pelo meio, além de não dar nenhuma informação sobre o CTe original ao qual o CTe complementar está complementando, esta alteração informa a chave e o numero do CTe em 'Documentos Originários' além de forçar a impressão das 'Observações' que também irá exibir informações,segue código abaixo:

 

fica em ACBr \ Fontes \ ACBrCTe \ ACBrCTeDACTEFRDM

 

procedure TdmACBrCTeFR.CarregaDadosNotasFiscais;
var
i : Integer;
DoctoRem : String;
begin
{ dados das Notas Fiscais }
DoctoRem := FCTe.Rem.CNPJCPF;
If Length(DoctoRem) > 11 Then
DoctoRem := FormatMaskText('##.###.###\/####-##;0;_', DoctoRem)
Else
DoctoRem := FormatMaskText('###.###.###-##;0;_', DoctoRem);
With cdsDadosNotasFiscais do Begin
Close;
FieldDefs.Clear;
FieldDefs.Add('tpDoc', ftString, 5); // Tipo Documento
FieldDefs.Add('CNPJCPF', ftString, 18); // CNPJCPF
FieldDefs.Add('Serie', ftString, 3); // Serie
FieldDefs.Add('ChaveAcesso', ftString, 44); // Chave Acesso
FieldDefs.Add('NotaFiscal', ftString, 9); // Numero Nota Fiscal
FieldDefs.Add('TextoImpressao', ftString, 100); // Texto Impressao no Relatorio
CreateDataSet;
// --
// ALTERADO POR MARCELO PERON DURAN - 18/08/2014
// -- INFORMAR CTe VINCULADO AO CTe COMPLEMENTAR
If Cte.ide.tpCTe = tcComplemento Then Begin
Append;
FieldByName('tpDoc').AsString := '';
FieldByName('CNPJCPF').AsString := '';
FieldByName('Serie').AsString := '';
FieldByName('ChaveAcesso').AsString := '';
FieldByName('NotaFiscal').AsString := '';
FieldByName('TextoImpressao').AsString := 'CTE: ' + Copy(CTe.infCteComp.chave,26,9) + ' - CHAVE: ' + CTe.infCteComp.chave;
End
Else Begin
// -- FIM DA ALTERAÇÃO
{$IFDEF PL_200}
For i := 0 to CTe.infCTeNorm.infDoc.infNF.Count - 1 do Begin
With FCTe.infCTeNorm.infDoc.InfNF.Items do Begin
{$ELSE}
For i := 0 to CTe.Rem.InfNF.Count - 1 do Begin
With FCTe.Rem.InfNF.Items do Begin
{$ENDIF}
Append;
FieldByName('tpDoc').AsString := 'NF';
FieldByName('CNPJCPF').AsString := FCTe.Rem.CNPJCPF;
FieldByName('Serie').AsString := serie;
FieldByName('ChaveAcesso').AsString := '';
FieldByName('NotaFiscal').AsString := nDoc;
{ Alterado por Jose Nilton Pace em 16/05/2013 }
FieldByName('TextoImpressao').AsString := 'NF ' + DoctoRem + ' '+
serie+ ' / ' + FormatFloat('000000000', StrToInt(nDoc));
End;
Post;
End;
{$IFDEF PL_200}
For i := 0 to CTe.infCTeNorm.infDoc.InfNFE.Count - 1 do Begin
With FCTe.infCTeNorm.infDoc.InfNFE.Items do Begin
{$ELSE}
For i := 0 to CTe.Rem.InfNFE.Count - 1 do Begin
With FCTe.Rem.InfNFE.Items do Begin
{$ENDIF}
Append;
FieldByName('tpDoc').AsString := 'NFe';
FieldByName('CNPJCPF').AsString := FCTe.Rem.CNPJCPF;
FieldByName('Serie').AsString := Copy(chave,23,3);
FieldByName('ChaveAcesso').AsString := chave;
FieldByName('NotaFiscal').AsString := Copy(chave,26,9);
{ Alterado por Jose Nilton Pace em 16/05/2013 }
FieldByName('TextoImpressao').AsString := 'NF-e '+chave;
End;
Post;
End;
{ Alterado por Jose Nilton Pace em 16/05/2013 }
{$IFDEF PL_200}
For i := 0 to CTe.infCTeNorm.infDoc.infOutros.Count - 1 do Begin
With FCTe.infCTeNorm.infDoc.infOutros.Items do Begin
{$ELSE}
For i := 0 to CTe.Rem.infOutros.Count - 1 do Begin
With FCTe.Rem.infOutros.Items do Begin
{$ENDIF}
Append;
FieldByName('tpDoc').AsString := 'Outros';
FieldByName('CNPJCPF').AsString := FCTe.Rem.CNPJCPF;
FieldByName('Serie').AsString := '';
FieldByName('ChaveAcesso').AsString := '';
FieldByName('NotaFiscal').AsString := '';
Case tpDoc Of
tdDeclaracao: FieldByName('TextoImpressao').AsString := 'Declaração '+DoctoRem+' '+nDoc;
tdOutros: FieldByName('TextoImpressao').AsString := 'Outros '+DoctoRem+' '+nDoc;
tdDutoviario: FieldByName('TextoImpressao').AsString := 'Dutoviário '+DoctoRem+' '+nDoc;
Else
FieldByName('TextoImpressao').AsString := 'Não informado '+DoctoRem+' '+nDoc;
End;
End;
Post;
End;
// --
End;
cdsDadosNotasFiscais.RecordCount;
End;
end;

Procedure TdmACBrCTeFR.CarregaDadosNotasFiscais.txt

Editado por MarceloPeron
  • 4 anos depois...
  • Administradores
Postado

Bom dia.

Este tópico é antigo e será fechado, favor criar um  novo.

Att.

  • Confuso 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 2267 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.