Ir para conteúdo
  • Cadastre-se

Jefferson Lupinacci

Membros
  • Total de ítens

    51
  • Registro em

  • Última visita

Tudo que Jefferson Lupinacci postou

  1. Não foi cobrado a transmissão e recebimento só foi cobrado a geração e validação Lembrando que a Geração do Arquivo de Redução Z deve ser gerado automaticamente após a Redução Z Pendente Visto que no Estado do Espirito Santo não possui um webservice para o estado
  2. Pessoal passei na homologação ontem na FAESA - ES irei anexar ao post os arquivos atualizados do bloco X validados no webservice Alterações que tivemos que fazer no Bloco X ACBrBlocoX_ReducaoZ.pas ACBrBlocoX.pas ACBrBlocoX_Comum.pas ACBrBlocoX_Estoque.pas Requisito LVIII (Redução Z) e LIX (Estoque) - httpsdocs.google.comdocumentd1yez14gry9Mi4rTpwDRDf--bR-SLzijD81OPeJzh9FqEeditpref=2&pli=1#heading=h.lgwkd0xm996m.pdf O Aplicativo que foi utilizado para validar é o url abaixo https://sathomologa.sef.sc.gov.br/tax.NET/sat.siv.web/validacao.aspx
  3. Após atualizar o tortoise Hoje 26/11/2015 a recarga de celular no Menu Administrador não esta imprimindo o Relatório Gerencial Reparem que anexei o Log do AcbrECF LogECF.txt AcbrTEFD LogTEF.txt CaminhoPercorrido pelo PAF LogPAF.txt ACBrTEFD1.ADM( gpTefDial ); Arquivo de Retorno do Pay&GO IntPos.001 LogPAF.txt LogTEF.txt LogECF.txt IntPos.001
  4. Estou com um problema intermitente ao executar o procedimento AcbrECF.Ativar; Quando o Ativar chega na linha fsVerProtocolo := Trim(copy( TACBrECF(fpOwner).RetornaInfoECF( 'I1' ), 82, 1)) ; Esta retornando o erro abaixo. Alguém tem alguma luz? -- 15:31:29:100 RetornaInfoECF(I1) TX -> [STX]+34|I1[ETX][141] 15:31:29:771 RX <- ACK = 6 Falha: 0 Retorno: +00!0187AC€’€€§ TimeOut estendido Alteração de Estado: 187-Identificar-se! 15:34:01:255 RX <- (Bloco) = [STX]+00!0187AC[128][144][146][128][128][ETX][167] TX -> ACK = 6 Falha: 0 VerificaFimLeitura, Bloco "!" considerado Seq:43 Tipo:! Tarefa:00 Erro:187 - Bloco:[STX]+00!0187AC[128][144][146][128][128][ETX][167]
  5. Manual http://sistemas.sweda.com.br/downloads/39.PDF Página 13 <ESC>.60 LANÇAMENTO DE ACRÉSCIMO SOBRE ITEM Verifiquei que a SWEDA ST120 não esta encaminhando o comando .60 no VendeItem possui esta linha no procedimento { Sweda não permite Acrescimo por Item } if (ValorDescontoAcrescimo > 0) and (DescontoAcrescimo = 'A') then raise EACBrECFCMDInvalido.Create( ACBrStr( 'ECF '+fpModeloStr+' não permite Acréscimo por Item') ); porem a correção se daria neste ponto do procedimento if (fsVersaoSweda >= swdD) then begin if DescontoAcrescimo = 'A' then EnviaComando('60' + '0000' + IntToStrZero( Round(ValDesc * 100) ,12)) else EnviaComando('02' + '0000' + IntToStrZero( Round(ValDesc * 100) ,12)); end else begin if DescontoAcrescimo = 'A' then EnviaComando('60' + padL(FormatFloat('00.00',ValorDescontoAcrescimo), 10) + IntToStrZero( Round(ValDesc * 100) ,12) ) else EnviaComando('02' + padL(FormatFloat('00.00',ValorDescontoAcrescimo), 10) + IntToStrZero( Round(ValDesc * 100) ,12) ); end; Atualmente este bloco se encontra assim if (fsVersaoSweda >= swdD) then EnviaComando('02' + '0000' + IntToStrZero( Round(ValDesc * 100) ,12) ) else EnviaComando('02' + PadRight(FormatFloat('00.00',ValorDescontoAcrescimo),10) + IntToStrZero( Round(ValDesc * 100) ,12) ) ; Alguem me diz qual a diferença da ACBrECFSweda e da ACBrECFSwedaSTX?
  6. Anexe o arquivo...
  7. Sim tentei informar somente null porem como o LFILL se encontra conforme abaixo ele preencheu com ZEROS no Campo. LFill(COD_MUN, 7) Reparei que existe um tratamento diferente sendo executado no Sped Fiscal, seria o caso de utilizar o mesmo tratamento no código fonte? ACBR SPED FISCAL procedure TBloco_0.WriteRegistro0150(Reg0001: TRegistro0001) ; var intFor: integer; booExterior: Boolean; begin if Assigned(Reg0001.Registro0150) then begin for intFor := 0 to Reg0001.Registro0150.Count - 1 do begin with Reg0001.Registro0150.Items[intFor] do begin booExterior := ((COD_PAIS <> '01058') and (COD_PAIS <> '1058')); // Check(funChecaPAISIBGE(COD_PAIS), '(0-0150) %s-%s, o código do país "%s" digitado é inválido!', [COD_PART, NOME, COD_PAIS]); if Length(CNPJ) > 0 then Check(funChecaCNPJ(CNPJ), '(0-0150) %s-%s, o CNPJ "%s" digitado é inválido!', [COD_PART, NOME, CNPJ]); if Length(CPF) > 0 then Check(funChecaCPF(CPF), '(0-0150) %s-%s, o CPF "%s" digitado é inválido!', [COD_PART, NOME, CPF]); // Check(funChecaIE(IE, UF), '(0-0150) %s-%s, a Inscrição Estadual "%s" digitada é inválida!', [COD_PART, NOME, IE]); // Check(funChecaMUN(COD_MUN), '(0-0150) %s-%s, o código do município "%s" digitado é inválido!', [COD_PART, NOME, IntToStr(COD_MUN)]); Check(NOME <> '', '(0-0150) O nome do participante com CPF/CNPJ %s é obrigatório!', [CNPJ + CPF]); Check(ENDERECO <> EmptyStr, '(0-150) O Endereço do participante "%s - %s - CPF/CNPJ %s" é obrigatório!', [COD_PART, NOME, CNPJ + CPF]); /// Add( LFill('0150') + LFill(COD_PART) + LFill(NOME) + LFill(COD_PAIS) + LFill(CNPJ) + LFill(CPF) + LFill(IE) + IfThen(booExterior, LFill(''), LFill(COD_MUN, 7)) + LFill(SUFRAMA) + LFill(ENDERECO) + LFill(NUM) + LFill(COMPL) + LFill(BAIRRO) ) ; end; /// Registros FILHOS WriteRegistro0175( Reg0001.Registro0150.Items[intFor] ); Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1; end; /// Variavél para armazenar a quantidade de registro do tipo. FRegistro0150Count := FRegistro0150Count + Reg0001.Registro0150.Count; end; end;
  8. Ao Informar ao Componente que deverá gerar um arquivo zerado IND_MOV = imSemDados o componente sempre preenche com 1 não respeitando o parametro informado Como esta atualmente não respeitando o parametro procedure TBloco_0.WriteRegistro0001 ; begin if Assigned(FRegistro0001) then begin with FRegistro0001 do begin Add( LFill( '0001' ) + LFill( Integer(IND_MOV), 0 ) ) ; WriteRegistro0005(FRegistro0001) ; WriteRegistro0015(FRegistro0001) ; WriteRegistro0100(FRegistro0001) ; if IND_MOV = imComDados then begin WriteRegistro0150(FRegistro0001) ; WriteRegistro0190(FRegistro0001) ; WriteRegistro0200(FRegistro0001) ; WriteRegistro0300(FRegistro0001) ; WriteRegistro0400(FRegistro0001) ; WriteRegistro0450(FRegistro0001) ; WriteRegistro0460(FRegistro0001) ; WriteRegistro0500(FRegistro0001) ; WriteRegistro0600(FRegistro0001) ; end; end; Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1; end; end; sugestão de alteração para o funcionamento procedure TBloco_0.WriteRegistro0001 ; begin if Assigned(FRegistro0001) then begin with FRegistro0001 do begin if IND_MOV = imSemDados then Add( LFill( '0001' ) + LFill( Integer(0), 0 ) ) else Add( LFill( '0001' ) + LFill( Integer(1), 0 ) ); WriteRegistro0005(FRegistro0001) ; WriteRegistro0015(FRegistro0001) ; WriteRegistro0100(FRegistro0001) ; if IND_MOV = imComDados then begin WriteRegistro0150(FRegistro0001) ; WriteRegistro0190(FRegistro0001) ; WriteRegistro0200(FRegistro0001) ; WriteRegistro0300(FRegistro0001) ; WriteRegistro0400(FRegistro0001) ; WriteRegistro0450(FRegistro0001) ; WriteRegistro0460(FRegistro0001) ; WriteRegistro0500(FRegistro0001) ; WriteRegistro0600(FRegistro0001) ; end; end;
  9. No Sped Contribuições não esta sendo permitido deixar o campo em branco na Geração do TXT do Sped Contribuições, o LFill deve permitir inclusão de valor Null para o Mercado Externo Arquivo: ACBrEPCBloco_0_Class.pas Linha 710 procedure TBloco_0.WriteRegistro0150(Reg0140: TRegistro0140) ; var intFor: integer; begin if Assigned(Reg0140.Registro0150) then begin for intFor := 0 to Reg0140.Registro0150.Count - 1 do begin with Reg0140.Registro0150.Items[intFor] do begin // Check(funChecaPAISIBGE(COD_PAIS), '(0-0150) %s-%s, o código do país "%s" digitado é inválido!', [COD_PART, NOME, COD_PAIS]); if Length(CNPJ) > 0 then Check(funChecaCNPJ(CNPJ), '(0-0150) %s-%s, o CNPJ "%s" digitado é inválido!', [COD_PART, NOME, CNPJ]); if Length(CPF) > 0 then Check(funChecaCPF(CPF), '(0-0150) %s-%s, o CPF "%s" digitado é inválido!', [COD_PART, NOME, CPF]); // Check(funChecaIE(IE, UF), '(0-0150) %s-%s, a Inscrição Estadual "%s" digitada é inválida!', [COD_PART, NOME, IE]); // Check(funChecaMUN(COD_MUN), '(0-0150) %s-%s, o código do município "%s" digitado é inválido!', [COD_PART, NOME, IntToStr(COD_MUN)]); Check(NOME <> '', '(0-0150) O nome do participante é obrigatório!'); /// Add( LFill('0150') + LFill(COD_PART) + LFill(NOME) + LFill(COD_PAIS) + LFill(CNPJ) + LFill(CPF) + LFill(IE) + LFill(COD_MUN, 7, true, '0') + // Alterado para Permitir Nulo para Mercado Externo LFill(SUFRAMA) + LFill(ENDERECO) + LFill(NUM) + LFill(COMPL) + LFill(BAIRRO) ) ; end; Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1; end; /// Variavél para armazenar a quantidade de registro do tipo. FRegistro0150Count := FRegistro0150Count + Reg0140.Registro0150.Count; end; end; Quando nulo no campo o TXT Gera com |0000000| no campo correspondente ao código da cidade
  10. Pessoal, boa noite, alguém sabe me dizer se existe algum fonte com as alterações do CIAP Bloco G, pois o Registro G110 esta diferente do ultimo manual baixado?
  11. Como na data de geração da classe ainda não existia a disponibilidade de Webservice. Codifiquei de uma maneira que o Lote em XML pudesse ser importado pelo site da prefeitura não utilizando o canal do HTTP para a comunicação direta. Exemplo da Alimentação da Classe e Geração do Arquivo. var LoteRPS : TLoteRPS; begin try if not FileExists(ExtractFilePath(Application.ExeName) + '\Schemas\nfse.xsd') then ShowMessage('Arquivo: '+ ExtractFilePath(Application.ExeName) + '\Schemas\nfse.xsd não foi encontrado no diretório. Operação Cancelada.'); Screen.Cursor := crHourGlass; LoteRPS := TLoteRPS.Create; try with LoteRPS do begin InscricaoMunicipal := '000/000000'; CpfCnpj := '00.000.000/0000-00'; NumeroLote := 0; end; // Inclusão de Recibos ao Lote - ex para varios : while not clientdataset.eof do with LoteRPS.ListaRPS.New do begin Competencia := StrToDateTime('01/01/2014'); DataEmissao := StrToDateTime('01/01/2014'); Status := 0; OptanteSimplesNacional := 0; IncentivoFiscal := 0; with Identificacao do begin Numero := 0; CodigoLancamento := 0; NumeroDocumento := 0; Serie := 'Serie'; Tipo := 0; end; with Tomador do begin RazaoSocial := 'RazaoSocial'; InscricaoMunicipal := '00000/000'; CpfCnpj := '00.000.000/0000-00'; Endereco := 'Endereco'; Complemento := 'Complemento'; Bairro := 'Bairro'; Numero := 'Numero'; Cep := '00000-000'; Uf := 'Uf'; CodigoMunicipio := 0; Email := 'Email'; Telefone := '(00) 00000-0000'; end; with Prestador do begin CpfCnpj := '00.000.000/0000-00'; InscricaoMunicipal := '00000/000'; end; // dados do serviço prestado with Servico do begin IssRetido := 1; ItemListaServico := '000'; CodigoCnae := '0000000'; Discriminacao := 'Discriminacao do Item'; CodigoMunicipio := 0; ExigibilidadeISS := 1; MunicipioIncidencia := 0; with Valores do begin ValorServicos := 0.00; if IssRetido = 1 then begin ValorDeducoes := 0.00; Aliquota := 0.00; OutrasRetencoes := 0.00; ValorIss := 0.00; end else begin ValorDeducoes := 0.00; Aliquota := 0.00; OutrasRetencoes := 0.00; ValorIss := 0.00; end; ValorPis := 0.00; ValorCofins := 0.00; ValorInss := 0.00; ValorIr := 0.00; ValorCsll := 0.00; DescontoIncondicionado := 0.00; DescontoCondicionado := 0.00; end; end; // Informa a Classe qual o Schema XML, Gera o Arquivo de Envio e Valida com base no XSD LoteRPS.XML.SchemaXml := ExtractFilePath(Application.ExeName) + '\Schemas\nfse.xsd'; LoteRPS.XML.Gerar; LoteRPS.XML.Validar; try LoteRPS.XML.SaveToFile(strNomeArquivo); except on E: Exception do begin ShowMessage('Não foi possivel salvar o arquivo no diretório: '+ strNomeArquivo + ' por favor informe outro.'); if ((saveDialog.Execute) and (saveDialog.FileName <> '')) then begin strNomeArquivo := saveDialog.FileName; LoteRPS.XML.SaveToFile(strNomeArquivo); end; end; end; Screen.Cursor := crDefault; // verifica se a estrutura ficou correta, senao exibe os erros if not (LoteRPS.XML.Valido) then begin Form := TFrmValidador.Create(Self); try Form.Ocorrencias.Text := LoteRPS.XML.MensagemErro; Form.WebBrowser.Navigate(saveDialog.FileName); Form.ShowModal; finally FreeAndNil(Form); end; end else ShowMessage('Arquivo Gerado e Validado com Sucesso!'); end; finally FreeAndNil(LoteRPS); end; except Screen.Cursor := crDefault; end; end;
  12. Hoje, consegui executar com sucesso o encaminhamento do lote para a prefeitura de Vila Velha validando pelo XSD disponibilizado pelo site deles na aba de documentação. Para quem interessar segue o arquivo em anexo com o layout do Lote de RPS NFSe_VilaVelha.pas
  13. Atualização no Site de Vila Velha http://issonline.vilavelha.es.gov.br/vviss/doc/documentacao.cfm Ambiente de homologação O ambiente de homologação online e webservices está em fase final de adaptação e estará disponível até o dia 19/05/2014, podendo ser liberado antes dessa data. As informações serão disponibilizadas nesta página.
  14. Muito Obrigado por sua Resposta, se não for incomodar muito você poderia me encaminhar o nome do parametro responsável por esta alteração pois no código só encontrei VProd e nao alguma condição se(parametro marcado) VProd senão VNf if VTotTrib <> 0 then begin lVTotTrib :=DFeUtil.FormatFloat(vTotTrib); lVTotTrib :=lVTotTrib + '('+DFeUtil.FormatFloat((vTotTrib*100)/VProd)+'%)'; end else lVTotTrib := ''; e o que preciso é que os (28,31%) andem juntos com a porcentagem que foi incorporado no item da nota fiscal que no meu caso utilizei uma aliquota de 31,45% da ibptax
  15. Bom dia a Todos, necessito de uma ajuda de vocês no Campo Valor Aproximado de Impostos no Corpo da Nota Fiscal esta sendo executado o calculo ('+DFeUtil.FormatFloat((Total.ICMSTot.vTotTrib*100)/Total.ICMSTot.VProd)+'%)'; Porem o meu item da Nota Fiscal possui desconto e eu calculei o valor total dos tributos no item considerando o valor do item - desconto. Esta errado calcular desta forma? Arquivo do Print Anexo
  16. Olá e bom dia, a versão que foi utilizada para executar as alterações foi a ultima disponibilzada pelo tortoise então imagino que já esteja com todas as ultimas alterações do fernando; a alteração que executei no arquivo baseado no fonte original foi: 3 propriedades visiveis do componente property NaturezaJuridicao: String Read FNaturezaJuridica; property AtividadeEconomicao : String Read FAtividadeEconomica; property AtividadeEconomicaSec : String Read FAtividadeEconomicaSec 3 procedures de Get para recuperar o texto do html gerado function GetNaturezaJuridicao: String; function GetAtividadeEconomicao : String; function GetAtividadeEconomicaSec : String; Correção de uma excessão não tratada dentro de function GetURLSepara(URL: String): String;
  17. Olá a todos e boa tarde, fiz uma pequena alteração na ultima versão do código do ACBrConsultaCNPJ disponibilizando os dados de Natureza Jurídica da Empresa, Atividade Primária e Secundária que ainda não tinham sido incluídos o arquivo esta anexo E vendo que o componente estava de facil adaptação criei uma variante dele para recuperar o dados do banco central com a cotação do dolar a página a ser consultada foi http://www4.bcb.gov.br/pec/taxas/batch/taxas.asp Será recuperado dela Data da Cotação do Dolar Valor da Taxa do Dolar Compra Valor da Taxa do Dolar Venda e Termo de Responsabilidade sob a informação segue em anexo o Código Exemplo o Código do Componente já incluso no ACB Alteração do Fonte do Fernando ACBrConsultaCNPJ.pasrTCP Exemplo em Delphi ACBrTaxaDolar-exemplo.zip Código do Componente e Alteração no ACBrTCP ACBrTCP.zip Inclusão do Componente no DPK ACBrTCP-dpk.rar
  18. Ainda não fiz a integração do registro 1501 e 1101 as gerando informo aqui, pois estou executando uma integração completa do sped com a minha aplicação desktop
  19. Encontrei um erro ao inserir 2 seguradas no data module responsável por preencher o fastreports, segue a correção do loop que as preenche! Att Jefferson Lupinacci ACBrCTeDACTEFRDM.pas ACBrCTeDACTEFRDM.pas
  20. Correção anexada ACBrSintegra.pas ACBrSintegra.pas
  21. Validando e repassando as alterações, estou gerando um novo sistema onde é integrado em um único subsistema, os arquivo Sped Pis Cofins / Sped Fiscal / Sintegra e SVA e conforme vou encontrando divergencias nos componentes estou postando as solicitações para correção Segue uma no Sped Fiscal Linha 1188 if Bloco_C.RegistroC105Count > 0 then begin with New do begin REG_BLC := 'C105'; QTD_REG_BLC := Bloco_C.RegistroC105Count; end; end; Linha 1244 if Bloco_C.RegistroC116Count > 0 then begin with New do begin REG_BLC := 'C116'; QTD_REG_BLC := Bloco_C.RegistroC116Count; end; end; ACBrSpedFiscal.pas ACBrSpedFiscal.pas
  22. CST PIS/COFINS Sendo gerado de Forma incorreta |1210|00000000000000|31121899|0|11112011|0,00|0,00|0,00|0,00|00.00.00.0000.0000|0| |1210|00000000000000|01|0|11112011|0,00|0,00|0,00|0,00|00.00.00.0000.0000|0| ACBrEPCBloco_1_Class LINHA 575 DE with Reg1200.Registro1210.Items[intFor] do begin Add( LFill('1210') + LFill( CNPJ ) + LFill( CST_PIS ) + LFill( COD_PART ) + LFill( DT_OPER ) + LFill( VL_OPER,0,2 ) + LFill( VL_BC_PIS,0,2 ) + LFill( ALIQ_PIS,0,2 ) + LFill( VL_PIS,0,2 ) + LFill( COD_CTA ) + LFill( DESC_COMPL ) ) ; end; PARA with Reg1200.Registro1210.Items[intFor] do begin Add( LFill('1210') + LFill( CNPJ ) + LFill( CST_PIS, 2 ) + LFill( COD_PART ) + LFill( DT_OPER ) + LFill( VL_OPER,0,2 ) + LFill( VL_BC_PIS,0,2 ) + LFill( ALIQ_PIS,0,2 ) + LFill( VL_PIS,0,2 ) + LFill( COD_CTA ) + LFill( DESC_COMPL ) ) ; end; ACBrEPCBloco_1_Class LINHA 789 DE with Reg1600.Registro1610.Items[intFor] do begin Add( LFill('1610') + LFill( CNPJ ) + LFill( CST_COFINS ) + LFill( COD_PART ) + LFill( DT_OPER ) + LFill( VL_OPER,0,2 ) + DFill( VL_BC_COFINS, 3 ) + DFill( ALIQ_COFINS, 4 ) + LFill( VL_COFINS,0,2 ) + LFill( COD_CTA ) + LFill( DESC_COMPL ) ) ; end; PARA with Reg1600.Registro1610.Items[intFor] do begin Add( LFill('1610') + LFill( CNPJ ) + LFill( CST_COFINS, 2 ) + LFill( COD_PART ) + LFill( DT_OPER ) + LFill( VL_OPER,0,2 ) + DFill( VL_BC_COFINS, 3 ) + DFill( ALIQ_COFINS, 4 ) + LFill( VL_COFINS,0,2 ) + LFill( COD_CTA ) + LFill( DESC_COMPL ) ) ; end; ACBrEPCBloco_1_Class.pas
  23. Segue mais um correção no registro 85 na linha 2252 no campo de Nr. Conhecimento o campo é alphanumerico e não númerico alterar por favor de wregistro:=wregistro+TBStrZero(TiraPontos(Registros85.Conhecimento),16); para wregistro:=wregistro+padL((Registros85.Conhecimento),16); 852130094659820130129113012253400120130129AG13019122 2013020910249600000000201302140037042013012955001 852130114771020130204113015034000120130204BRVIX431456 2013021410249600000000201302260037302013020455001
  24. Redação anterior, efeitos de 16.06.04 a 30.06.05 11 Comprovante de Exportação Número do Comprovante de Exportação 08 73 80 N de: wregistro:= wregistro + padL('',8) Nova redação dada ao n.º 11. pelo Dec. n.º 1.490-R, de 20.05.05, efeitos a partir de 01.07.05: 11 Reservado Prrencher com zeros 08 73 80 N para: wregistro:= wregistro + padL('',8, '0'); Por Favor alterar a Linha 2256 pois esta gerando 8 espaços e não 8 zeros Grato!
  25. if (Leitor.rExtrai(3, 'resNFe') <> '') then begin (*IR12 *)Fret.Items.FresNFe.FNSU := Leitor.rAtributo('NSU'); // (*IR12 *)Fret.Items.FresNFe.FNSU := Leitor.rCampo(tcStr, 'NSU'); (*IR13 *)Fret.Items.FresNFe.chNFe := Leitor.rCampo(tcStr, 'chNFe'); (*IR14 *)Fret.Items.FresNFe.FCNPJCPF := Leitor.rCampo(tcStr, 'CNPJ'); if Fret.Items.FresNFe.FCNPJCPF = '' then (*IR15 *)Fret.Items.FresNFe.FCNPJCPF := Leitor.rCampo(tcStr, 'CPF'); (*IR16 *)Fret.Items.FresNFe.FxNome := Leitor.rCampo(tcStr, 'xNome'); (*IR17 *)Fret.Items.FresNFe.FIE := Leitor.rCampo(tcStr, 'IE'); (*IR32 *)Fret.Items.FresNFe.FdEmi := Leitor.rCampo(tcDat, 'dEmi'); (*IR32 *)Fret.Items.FresNFe.FdEmi := Leitor.rCampo(tcDatHor, 'dEmi'); // line 299 (*IR19 *)Fret.Items.FresNFe.FtpNF := StrToTpNF(ok, Leitor.rCampo(tcStr, 'tpNF')); (*IR20 *)Fret.Items.FresNFe.FvNF := Leitor.rCampo(tcDe2, 'vNF'); (*IR21 *)Fret.Items.FresNFe.FdigVal := Leitor.rCampo(tcStr, 'digVal'); (*IR22 *)Fret.Items.FresNFe.FdhRecbto := Leitor.rCampo(tcDatHor, 'dhRecbto'); (*IR23 *)Fret.Items.FresNFe.FcSitNFe := StrToSituacaoNFe(ok, Leitor.rCampo(tcStr, 'cSitNFe')); (*IR24 *)Fret.Items.FresNFe.FcSitConf := StrToSituacaoManifDest(ok, Leitor.rCampo(tcStr, 'cSitConf')); end; if (Leitor.rExtrai(3, 'resCanc') <> '') then begin (*IR26 *)Fret.Items.FresCanc.FNSU := Leitor.rAtributo('NSU'); (*IR27 *)Fret.Items.FresCanc.chNFe := Leitor.rCampo(tcStr, 'chNFe'); (*IR28 *)Fret.Items.FresCanc.FCNPJCPF := Leitor.rCampo(tcStr, 'CNPJ'); if Fret.Items.FresCanc.FCNPJCPF = '' then (*IR29 *)Fret.Items.FresCanc.FCNPJCPF := Leitor.rCampo(tcStr, 'CPF'); (*IR30 *)Fret.Items.FresCanc.FxNome := Leitor.rCampo(tcStr, 'xNome'); (*IR31 *)Fret.Items.FresCanc.FIE := Leitor.rCampo(tcStr, 'IE'); (*IR32 *)Fret.Items.FresCanc.FdEmi := Leitor.rCampo(tcDat, 'dEmi'); (*IR32 *)Fret.Items.FresCanc.FdEmi := Leitor.rCampo(tcDatHor, 'dEmi'); // line 317 (*IR33 *)Fret.Items.FresCanc.FtpNF := StrToTpNF(ok, Leitor.rCampo(tcStr, 'tpNF')); (*IR34 *)Fret.Items.FresCanc.FvNF := Leitor.rCampo(tcDe2, 'vNF'); (*IR35 *)Fret.Items.FresCanc.FdigVal := Leitor.rCampo(tcStr, 'digVal'); (*IR36 *)Fret.Items.FresCanc.FdhRecbto := Leitor.rCampo(tcDatHor, 'dhRecbto'); (*IR37 *)Fret.Items.FresCanc.FcSitNFe := StrToSituacaoNFe(ok, Leitor.rCampo(tcStr, 'cSitNFe')); (*IR38 *)Fret.Items.FresCanc.FcSitConf := StrToSituacaoManifDest(ok, Leitor.rCampo(tcStr, 'cSitConf')); end;
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...