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.