Ir para conteúdo
  • Cadastre-se

Arnaldo Cruz

Membros
  • Total de ítens

    549
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que Arnaldo Cruz postou

  1. Colegas estou passando um perrengue com esta impressora. Esta impressora já estava instalada e funcionando com outro sistema. para colocar meu sistema fiz uma leitura X e cadastrei as mesmas formas de pagamento,aliquotas e relatório gerencial. conforme segue puchado pelo ECFTeste do ACBr - + - + - + - + - + - + - + - + - + - + - + - Forma Pagto: -2 -> Dinheiro Permite Vinculado: N Forma Pagto: 1 -> DINHEIRO Permite Vinculado: N Forma Pagto: 2 -> CHEQUE Permite Vinculado: N Forma Pagto: 3 -> VENDA A PRAZO Permite Vinculado: N Forma Pagto: 4 -> CARTAO Permite Vinculado: S - + - + - + - + - + - + - + - + - + - + - + - Indice : -2 Descrição: Dinheiro Valor atual do totalizador R$ 0,00 - + - + - + - + - + - + - + - + - + - + - + - Indice : 1 Descrição: DINHEIRO Valor atual do totalizador R$ 0,00 - + - + - + - + - + - + - + - + - + - + - + - Indice : 2 Descrição: CHEQUE Valor atual do totalizador R$ 0,00 - + - + - + - + - + - + - + - + - + - + - + - Indice : 3 Descrição: VENDA A PRAZO Valor atual do totalizador R$ 0,00 - + - + - + - + - + - + - + - + - + - + - + - --------------------------------- Aliquota: 01 Indice: 1 -> 17 Tipo: T Aliquota: 02 Indice: 2 -> 25 Tipo: T --------------------------------- ----------------------------------------------------------------------------------------------- Forma Pagto: -2 -> Dinheiro Permite Vinculado: N Forma Pagto: 1 -> DINHEIRO Permite Vinculado: N tem estas duas formas de pagamento "DINHEIRO" cadastradas ( já estava cadastrada na impressora) Quando tento fazer uma venda só faz venda a vista enviando a forma de pagamento (-2) passando as formas pelos indices(2), (3) ou (4) conforme abaixo não finaliza o cupom e entra em loop infinito. Forma Pagto: 2 -> CHEQUE Permite Vinculado: N Forma Pagto: 3 -> VENDA A PRAZO Permite Vinculado: N Forma Pagto: 4 -> CARTAO Permite Vinculado: S Pelo ACBr ECFTeste estas formas de pagamento não são localizadas, porem se eu mandar carregar as formas de pagamento ele lista as formas abaixo. Forma Pagto: -2 -> Dinheiro Permite Vinculado: N Forma Pagto: 1 -> DINHEIRO Permite Vinculado: N Forma Pagto: 2 -> CHEQUE Permite Vinculado: N Forma Pagto: 3 -> VENDA A PRAZO Permite Vinculado: N Forma Pagto: 4 -> CARTAO Permite Vinculado: S - + - + - + - + - + - + - + - + - + - + - + - Indice : -2 Descrição: Dinheiro Valor atual do totalizador R$ 0,00 - + - + - + - + - + - + - + - + - + - + - + - Indice : 1 Descrição: DINHEIRO Valor atual do totalizador R$ 0,00 - + - + - + - + - + - + - + - + - + - + - + - Indice : 2 Descrição: CHEQUE Valor atual do totalizador R$ 0,00 - + - + - + - + - + - + - + - + - + - + - + - Indice : 3 Descrição: VENDA A PRAZO Valor atual do totalizador R$ 0,00 Se alguem puder mim dá umas dicas de como proceder com esta maldita impressora eu agradeço.
  2. O Exemplo do Acbr não ajuda muito quanto a quantidade de digitos do nosso numero, convênio etc.
  3. Obrigado por responder Eu tenho a Emissão de Cupom e NF-e em telas distintas. A duvida é se eu tenho que adicionar a NFC-e na tela de emissão de CUPOM, ou se na Tela de Emissão de NF-e. ? Meu Estado Paraiba não adotou a NFC-e, mesmo assim eu tenho que implantar a NFC-e ? Minha Homologação é em 12/2014 será que passa sem a NFC-e. ? O grande incoveniente é que na tela de emissao de cupom já existe o TEF, estou perdido quanto ao pagamento por cartão da NFC-e. se alguem puder mim dá umas dicas de como acrescentar a NFC-e sem causar tantos impacto no projeto já existente eu ahgradeço.
  4. Estou com duvidas neste ponto existe estas foras de pagamento 01=Dinheiro 02=Cheque 03=Cartão de Crédito 04=Cartão de Débito 05=Crédito Loja 10=Vale Alimentação 11=Vale Refeição 12=Vale Presente 13=Vale Combustível 99=Outros gostaria de saber se meu entendimento está correto 01,02, e 99 são para NF-e 03,04,05,10,11,12,13,99 são para NFC-e no caso do pagamento 03=Cartão de Crédito 04=Cartão de Débito Terei que implatar o TEF na tela de NF-e correto ? e acrescentar estas tags no XML qdo da NFC-e Bandeira da operadora de cartão de crédito e/ou débito 01=Visa 02=Mastercard 03=American Express 04=Sorocred 99=Outros
  5. Olá Patric Estou passando conforme abaixo, case Banco of 0 : ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil; 1 : ACBrBoleto1.Banco.TipoCobranca := cobCaixaSicob; 2 : ACBrBoleto1.Banco.TipoCobranca := cobBradesco; 3 : ACBrBoleto1.Banco.TipoCobranca := cobBancoDoNordeste; end; case Banco of 0 : ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 10; 1 : ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 15; 2 : ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 11; 3 : ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 7; 4 : ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 7; Este eu não sei o correto end;
  6. está configurado corretamente, BATE COM O ARQUIVO de retorno ACBrBoleto1.DirArqRetorno := Caminho ; ACBrBoleto1.NomeArqRetorno := Arquivo; ACBrBoleto1.Cedente.CNPJCPF := CnpjEmpresa; ACBrBoleto1.Cedente.Agencia := Agencia; ACBrBoleto1.Cedente.Conta := Conta; ACBrBoleto1.Cedente.ContaDigito := DVConta; ACBrBoleto1.Cedente.CodigoCedente := CodCedente; coloquei ACBrBoleto1.LeCedenteRetorno := true Agora faz a leitura do arquivo de retorno porem o nosso número volta somente zero Nesta funcção ele pega o tamanho do nosso numero, só que a carteira está vazia, pois não existe onde configurar a carteira nem o tamanho do nosso numero. no carregamento do arquivo. na geração do boleto ele emite um aviso qdo o tamanho do nosso numero está grande.. Exemplo doa primeira quatro linhas do arquivo que estou abrindo 1040001300001T 060000000564960000000 24(000000200112927) Sempre que a posição 14 for = T Teria que ser os 15 digitos a partir da posição 40 function TACBrBanco.CalcularTamMaximoNossoNumero(const Carteira: String; NossoNumero : String = ''): Integer; begin Result:= BancoClass.CalcularTamMaximoNossoNumero(Carteira,NossoNumero); end; se alguem puder mim dá uma dica do que posso está fazendo errado eu agradeço segue anexo o aruiqovo de retorno CEF cobrança simples
  7. Olá Estou tentato fazer a leitura de um arquivo de retorno da CEF mas sempre acontece um erro. try ACBrBoleto1.NomeArqRetorno := JvOpenDialog1.FileName; ACBrBoleto1.LerRetorno for I := 0 to ACBrBoleto1.ListadeBoletos.Count-1 do begin end; except Cai direto aqui end;
  8. Colegas existe sim sistema que faz isso. Eu sou testemunha. No provedor de Internet NewLine existe um sistema feito em PHP que baixa automaticamente os arquivos de retorno da CEF e processa a baixa, bastando apenas configurar a hora que deve ser feita a baixa. Na configuração do sistema Banco Conta CodigoCedente Carteira Horario de Processamento Retorno Também foi o único que vi até hoje
  9. Arnaldo Cruz

    Danfe_Rave513.rav

    Fiz uma atualização do Acbr a partir de então o Danfe sai todo aglomerado, os campos tudo um emcima do outro. do jeito que está na imagem anexa Alguem sabe como faço para concertar isso. Obrigado
  10. Na abertura do sistema o ACBr gera o arquivo MD5 e grava e informa o local da gravação Na maquina de desevolvimento ele informa que gravou em C:\PastadoExecutavel\ArquivoMD5.txt porem grava em C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin Nas maquinas cliente ele informa que gravou em C:\PastadoExecutavel\ArquivoMD5.txt porem ele grava em C:\Users\cliente\Desktop para os arquivos de abertura de movimento 286338BR00000021665512032014.txt a mesma coisa No Cliente a tela do computador ta toda poluida com os arquivos txt um arquivo de movimento por dia . Alguem sabe como f azer para que ele grave realmente na pasta do executavel e não creie icone de atalho na area de trabalho ? na abertuta coloquei >>> ACBrPAF.Path := gsAppPath ; la no ACBRPaf function TACBrPAF.SaveFileTXT_N(Arquivo: String): Boolean; var txtFile: TextFile; PAF_MD5 : String ; iFor: Integer; begin Result := True; fPath := gsAppPath ; end; mesmo assim continua salvando no desktop Obrigado
  11. Estou gerando a carga para balança URANO TOP MAX II pelo que percebi no acbr est á faltando um procedimento. Na instalação do Integra da URANO é gerado um arquivo com nome do usuário do FTP configuracoes_NomedousuarioFTP.txt este arquivo deve ser replicado(abrir e Salvar com mesmo nome sem modificar nada) para que sua data de alteração seja modificada, pois é pela sua data e hora que é feita a importação automatica para balança. Gerando o Checksum pelo integra da Urano da uma valor diferente do checksum gerado pelo ACBrCarga. Anexo coloquei os dois arquivos o gerado pelo ACBRCarga e pelo Integra da Urano. A unica coisa que está diferete de um pro outro é que o integra da urano mesmo a descrição dos produtos estando com letras maiuscula ele mostra no arquivo somente a primeira letra de cada palavra em maiuscula e as demais em minuscula. Já O ACBrCarga mostra no arquivo da forma que está a descrição do produto está cadastrada. Se algum dos colegas puder mim dá uma dica de como concertar isso eu agradeço. consegui resolver como abaixo procedure TACBrCargaBal.PreencherUrano(Arquivo: TStringList); var i, Total, xtam: Integer; xnutric: string; inform : string; begin DecimalSeparator := '.'; Total := Produtos.Count; for i := 0 to Total - 1 do begin trocar Arquivo.Add( #10#02 + LFIll(Produtos.Codigo, 5) + GetTipoProdutoUrano(Produtos.Tipo) + RFIll(Produtos.Descricao, 20) + FormatCurr('000000.00', Produtos.ValorVenda) + LFIll(Produtos.Validade, 4) + 'D'); xtam := CalcularSoma(Arquivo[Arquivo.Count-1]); Arquivo[Arquivo.Count-1] := Arquivo[Arquivo.Count-1] + IntToHex(xtam, 4) + #03; por inform := LFIll(Produtos.Codigo, 5) + GetTipoProdutoUrano(Produtos.Tipo) + RFIll(Produtos.Descricao, 20) + FormatCurr('000000.00', Produtos.ValorVenda) + LFIll(Produtos.Validade, 4) + 'D'; xtam := CalcularSoma(inform); Arquivo.Add( ^P + ^B + inform + LowerCase(IntToHex(xtam, 4)) + ^C); end; end; Produtos_topmax(geradoACBRCarga).txt Produtos_topmax(GeradoIntergaUrano).txt
  12. Faço a montagem do XML antes FDataModule.ACBrNFe1.NotasFiscais.LoadFromFile(cdsEnvio.FieldByName('CAMINHOXML').AsString); FDataModule.ACBrNFe1.Configuracoes.Geral.PathSchemas := gsAppPath + 'Schemas'; FDataModule.ACBrNFe1.NotasFiscais.Assinar; FDataModule.ACBrNFe1.NotasFiscais.Valida; Faço o Envio com impressão do DANFE FDataModule.ACBrNFe1.Enviar(1, True); Sem impressão do Danfe (Por causa da conexão que é muito lenta ai retirei a impressão do danfe para fazer depois de todas as notas transmitidas) Envio sem impressão do DANFE FDataModule.ACBrNFe1.Enviar(1, False); Todas as notas são transmitiddas Sem a impressão do danfe , faço a consulta no sefaz as notas estão lá. o problema é que quando vou imprimir os xmls não estão assinados Aparece aquele mensagem em vermelho no danfe dizendo que o DANFE não foi autorizado e não tem valor fiscal.. se eu usar FDataModule.ACBrNFe1.Enviar(1, True); O danfe é impresso logo em seguida tudo certinho. ALguem sabe mim explicar por que a ACBR não preenche o xml com protocolo e recibo quando não é impresso o DANFE ?
  13. Estou enviando o danfe conforme segue abaixo funcionando perfeitamente FDataModule.ACBrNFe1.Enviar(1, true); aChaveNfe := FDataModule.ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe; aProcolo := FDataModule.ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt; aRecibo := FDataModule.ACBrNFe1.WebServices.Retorno.NFeRetorno.nRec; EdtResposta.Lines.Text := FDataModule.ACBrNFe1.WebServices.Retorno.xMotivo; status := IntToStr(FDataModule.ACBrNFe1.WebServices.Retorno.cStat) Vez em quando quando existe um grande número de notas, preciso enviar todas as notas para depois imprimir os DANFEs, ai fiz como segue abaixo FDataModule.ACBrNFe1.Enviar(1, false); FDataModule.ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe; aProcolo := FDataModule.ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt; aRecibo := FDataModule.ACBrNFe1.WebServices.Retorno.NFeRetorno.nRec; EdtResposta.Lines.Text := FDataModule.ACBrNFe1.WebServices.Retorno.xMotivo; status := IntToStr(FDataModule.ACBrNFe1.WebServices.Retorno.cStat) Quando transmito todas as notas e vou imprimir o DANFE, Aparece aquele mensagem em vermelho no danfe dizendo que o DANFE não foi autorizado e não tem valor fiscal. Alguem sabe porque isso acontece já que o XML é enviado ?
  14. Arnaldo Cruz

    Danfe Em Modo Paisagem

    Gostaria de imprimir o DANFE no modo Paisagem, porem mesmo eu colocando na configuração do ACBre como paisagem imprime em modo retrato. pesquisando aqui n o forum encontrei um topico dizendo que se usar o DANFE_Rave513.rav não vai funcionar, que para tanto teria que usar o DanfeRVCodeBase. mas eu só acho isso na pasta do projeto>> ACBrNFeDanfeRVCodeBase.dpk<< que foi compilado e instalado. Alguem sabe como faz para usar esta opção de relatório ou como imprimir em modo paisagem. Desde já eu agradeço. Obrigado
  15. Colegas Atualizei o ACBR hoje 21/12/2013 uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Inifiles, Generics.Collections, Biblioteca,ProdutoController, ACBrPAF, ACBrPAF_E,SQLExpr,ACBrPAF_P, ACBrPAF_N, ACBrPAF_R, ACBrPAFRegistros, SWSystem,ImpressoraVO, ProdutoVO, UDataModule; Quando fui compilar meu projeto apareceu as mensagens de erro abaixo. with FDataModule.ACBrPAF.PAF_R.RegistroR01 do Undeclared identifier 'InclusaoExclusao' e em todas as propriedades que estão dentro do with end; porem abro a unit ACBrPAF_R; e todas estas propriedades estão declaradas. Já apaguei todas as bpl e dcu desinstalei o ACBR instalei novamente, e o erro não desaparece, se eu instalar o ACBR anterior ai some os erros, comparei as duas units e estão iguais. se alguém puder mim ajudar eu agradeço, já estou ficando louco. with FDataModule.ACBrPAF.PAF_R.RegistroR01 do begin Not FDataModule.ExisteVerificao('R01','R01',FDatamodule.Conexao) Then InclusaoExclusao:=TRUE; IF ( InclusaoExclusao = TRUE) then begin NFABRICA:= Codifica('D',trim(ini.ReadString('ECF','SERIE1','') )); NUM_FAB := Codifica('D',trim(ini.ReadString('ECF','SERIE1','') )); MF_ADICIONAL := Impressora.MFD; TIPO_ECF := Impressora.Tipo; MARCA_ECF := Impressora.Marca; MODELO_ECF := Impressora.Modelo; VERSAO_SB := Impressora.Versao; DT_INST_SB := StrToDateTime(Impressora.DataInstalacaoSb); HR_INST_SB := StrToDateTime(Impressora.HoraInstalacaoSb); NUM_SEQ_ECF := StrToInt(Impressora.NumeroEcf); CNPJ_SH:= Codifica('D',trim(ini.ReadString('ESTABELECIMENTO','CNPJ','') )); CNPJ := R01.CnpjEmpresa; IE := Empresa.InscricaoEstadual; CNPJ_SH := Codifica('D',trim(ini.ReadString('SHOUSE','CNPJ',''))); IE_SH := ''; IM_SH := ''; NOME_SH := Codifica('D',trim(ini.ReadString('SHOUSE','RAZAO',''))); NOME_PAF := Codifica('D',trim(ini.ReadString('SHOUSE','NOME_PAF',''))); //R01.NomePafEcf;VERSAO= VER_PAF := Codifica('D',trim(ini.ReadString('SHOUSE','VERSAO','')));//R01.VersaoPafEcf; MD5 COD_MD5 :=Codifica('D',trim(ini.ReadString('SHOUSE','MD5','')));// R01.Md5PafEcf; DT_INI := StrToDateTime(DataInicio); DT_FIN := StrToDateTime(DataFim); ER_PAF_ECF :='0112'; end; end;
  16. A UF é AM , mas Consegui descobri o problema, era a IE que estava enviado a IE do emitente coloquei 123456 e passou. Agora estou com outro problema , como recuperar o retorno Tudo esse retorno volta vazio MemoDados.Lines.Add(''); MemoDados.Lines.Add('Envio NFe'); MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb)); MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic); MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat)); MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF)); MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo); MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg)); MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg); MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo); MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo); Observei que é criado um xml com este nome >>>> 130000003125446-pro-rec.xml na pasta do ACBr Que dados compõe este nome ? Obrigado
  17. Estou enviando a nfc-e e sempre retorna erro 999 Rejeição erro não catalogado Segue anexo o xml enviado e o xml do retorno Alguém pode mim da uma ajuda obrigado 130000003125418-pro-rec.xml13131265198962000142650010000000011000000012-nfe.xml
  18. Retorno Vazio envio NFC-e AO usar o comando ACBrNFe1.Enviar(vNumLote,True,Sincrono); O XML e jogado no MemoResp MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS); memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS); LoadXML(MemoResp, WBResposta); Estes comandos abaixo retornam todos vazios independente de ser validado ou rejeitado o envio MemoDados.Lines.Add(''); MemoDados.Lines.Add('Envio NFe'); MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb)); MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic); MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat)); MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF)); MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo); MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg)); MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg); MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo); MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo); QRcode. Existe algum meio de retornar da url do envio da NFC-e no ACBr. para que se posso gerar o QRcode..
  19. Arnaldo Cruz

    Nfc-E Tag Transp

    Estou criando o XML da NFC-e Quando envio recebo a mensagem que a tag abaixo não deve existir no xml, se alguém puder mim dá uma força eu agradeço. <transp> <modFrete>0</modFrete> </transp.> porem não informo nada ref Transp. como o código abaixo with DataModule1.ACBrNFe2.NotasFiscais.Add.NFe do begin infNFe.Versao := 3; Ide.verProc := '2.0'; Ide.cNF := StrToInt(EdtNumeroNFE.Text); //Caso não seja preenchido será gerado um número aleatório pelo componente Ide.natOp := 'VENDA'; palavra :='PRAZO'; if AnsiContainsStr(UpperCase(EdtFPagto.Text), palavra) then//PRAZO begin TpoPag :='PRAZO'; Ide.indPag := ipPrazo; end else begin Ide.indPag := ipVista; TpoPag :='VISTA'; end; Ide.modelo := 65; Ide.serie := 1; Ide.nNF := StrToInt(EdtNumeroNFE.Text); Ide.dEmi := EdtDataEmissao.Date; Ide.dSaiEnt := EdtSaida.Date; Ide.hSaiEnt := EdtHoraEmissao.Time ; Ide.tpNF := tnSaida; if vsIDFE = 1 then begin Ide.tpEmis := teNormal; end else if vsIDFE =2 then begin Ide.tpEmis := teDPEC; end else if vsIDFE =3 then begin Ide.tpEmis := teContingencia; end else if vsIDFE =4 then begin Ide.tpEmis := teSCAN; end else if vsIDFE =5 then begin Ide.tpEmis := teFSDA; end; if vsIDAB = 0 then begin Ide.tpAmb := taHomologacao; end else begin Ide.tpAmb := taProducao; end; Ide.cUF := StrToInt(vsEdtIBGEUF); //PegaEstado(UFEmpresa); Ide.cMunFG := StrToInt(vsedtIBGECidade); Ide.finNFe := fnNormal ; Ide.tpImp := tiNFCe; Ide.indFinal := cfConsumidorFinal; Ide.indPres := pcPresencial; // Ide.dhCont := date; // Ide.xJust := 'Justificativa Contingencia'; Emit.CNPJCPF := vsedtCNPJ; Emit.IE := vsEdtIE ; Emit.xNome := vsEdtRazao; Emit.xFant := vsEdtFantasia; Emit.EnderEmit.fone := vsEdtTelefone; Emit.EnderEmit.CEP := StrToInt(vsEdtCep); Emit.EnderEmit.xLgr := vsEdtEndereco; Emit.EnderEmit.nro := vsEdtNumero; Emit.EnderEmit.xCpl := ''; Emit.EnderEmit.xBairro := vsEdtBairro; Emit.EnderEmit.cMun := StrToInt(vsedtIBGECidade); Emit.EnderEmit.xMun := vsEdtCidade; Emit.EnderEmit.UF := vsEdtUF; Emit.enderEmit.cPais := 1058; Emit.enderEmit.xPais := 'BRASIL'; Emit.IEST := ''; if vsCRT = '1' then begin Emit.CRT := crtSimplesNacional; end else if vsCRT = '2' then begin Emit.CRT := crtSimplesExcessoReceita; end else begin Emit.CRT := crtRegimeNormal; end; if EdtNomeCliente.Text <> '' then begin Dest.CNPJCPF := EdtCNPJCliente.Text ; Dest.ISUF := ''; Dest.xNome := EdtNomeCliente.Text ; Dest.EnderDest.Fone := ''; Dest.EnderDest.CEP := StrToInt(EdtCep.Text); Dest.EnderDest.xLgr := EdtLogradouro.Text ; Dest.EnderDest.nro := EdtNumero.Text ; Dest.EnderDest.xCpl := ''; Dest.EnderDest.xBairro := EdtBairro.Text ; Dest.EnderDest.cMun := StrToInt(edtIBGECidade.Text); Dest.EnderDest.xMun := EdtCidade.Text; Dest.EnderDest.UF := EdtUF.Text ; Dest.EnderDest.cPais := 1058; Dest.EnderDest.xPais := 'BRASIL'; end; if edtTotalAliqIPTA.Value > 0 then begin perca := (edtTotalAliqIPTA.Value / EditValorTotalNota.Value) * 100; InfAdic.infCpl := 'Val.Aprox.Tributos R$ ' + FormataFloat('V',edtTotalAliqIPTA.Value ) + '(' + FormataFloat('V',perca) + '%)Fonte IBPT'; end; InfAdic.infAdFisco := ''; while not CDSNFeDetalhe.Eof do begin with Det.Add do begin Prod.nItem := CDSNFeDetalheITEM.AsInteger; Prod.cProd := CDSNFeDetalheIDPRODUTO.AsString ; if CDSNFeDetalheGTIN.AsString <> '' then begin Prod.cEAN := CDSNFeDetalheGTIN.AsString;; end; Prod.xProd := CDSNFeDetalheDESCRICAO.AsString; Prod.NCM := CDSNFeDetalheNCM.AsString; // Tabela NCM disponível em http://www.receita.fazenda.gov.br/Aliquotas/DownloadArqTIPI.htm Prod.EXTIPI := ''; Prod.CFOP := CDSNFeDetalheCFOP.AsString; Prod.uCom := CDSNFeDetalheUN.AsString; Prod.qCom := CDSNFeDetalheQTDE.AsFloat; Prod.vUnCom := StrToFloat(CDSNFeDetalheVALOR.AsString); Prod.vProd := CDSNFeDetalheTOTALITEM.AsFloat; if CDSNFeDetalheVALICMS.AsFloat > 0 then begin if CDSNFeDetalheGTIN.AsString <> '' then begin Prod.cEANTrib := CDSNFeDetalheGTIN.AsString ; end else begin Prod.cEANTrib := ''; end; end else begin Prod.cEANTrib := ''; end; Prod.uTrib := CDSNFeDetalheUN.AsString;; Prod.qTrib := CDSNFeDetalheQTDE.AsFloat; Prod.vUnTrib := StrToFloat(CDSNFeDetalheVALOR.AsString); Prod.vDesc := 0; with Imposto do begin if CDSNFeDetalheVALORIBPT.AsFloat > 0 then begin vTotTrib := CDSNFeDetalheVALORIBPT.AsFloat ; end; with ICMS do begin if RegimeEmpresa <> '1' then begin capote :=CDSNFeDetalheCST.AsString; if capote = '00' then begin CST :=cst00; orig := oeNacional; modBC := dbiValorOperacao; vBC := CDSNFeDetalheBASEICMS.AsFloat; pICMS := CDSNFeDetalheALIQSAIDA.AsFloat; vICMS := CDSNFeDetalheVALICMS.AsFloat; end; if capote = '10' then begin CST := cst10; orig := oeNacional; modBCST := dbisMargemValorAgregado; vBC := CDSNFeDetalheBASEICMS.AsFloat; pICMS := CDSNFeDetalheALIQSAIDA.AsFloat; vICMS := CDSNFeDetalheVALICMS.AsFloat; pMVAST := CDSNFeDetalheMVA.AsFloat; vBCST := CDSNFeDetalheBASECALST.AsFloat; pICMSST := CDSNFeDetalheALIQSAIDA.AsFloat; vICMSST := CDSNFeDetalheVALORST.AsFloat; end; if capote = '20' then begin CST :=cst20; orig := oeNacional; modBCST := dbisMargemValorAgregado; pRedBC := CDSNFeDetalheBCALREDUCAO.AsFloat; vBC :=CDSNFeDetalheBASEICMS.AsFloat; pICMS := CDSNFeDetalheALIQSAIDA.AsFloat; vICMS := CDSNFeDetalheVALICMS.AsFloat; end; if capote = '30' then begin CST :=cst30; orig := oeNacional; modBCST := dbisMargemValorAgregado; pMVAST := CDSNFeDetalheMVA.AsFloat; pRedBCST := CDSNFeDetalheBCALREDUCAO.AsFloat; vBCST := CDSNFeDetalheBASECALST.AsFloat; pICMSST := CDSNFeDetalheALIQSAIDA.AsFloat; vICMSST := CDSNFeDetalheVALORST.AsFloat; end; if capote = '40' then begin CST :=cst40; ICMS.orig := oeNacional; end; if capote = '41' then begin CST :=cst41; orig := oeNacional; end; if capote = '50' then begin CST :=cst50; orig := oeNacional; end; if capote = '51' then begin CST :=cst51; orig := oeNacional; modBCST := dbisMargemValorAgregado; pRedBC := CDSNFeDetalheBCALREDUCAO.AsFloat; vBC := CDSNFeDetalheBASEICMS.AsFloat; pICMS := CDSNFeDetalheALIQSAIDA.AsFloat; vICMS := CDSNFeDetalheVALICMS.AsFloat; end; if capote = '60' then begin CST :=cst60; orig := oeNacional; vBCSTRet := 0; vICMSSTRet:= 0; end; if capote = '70' then begin CST :=cst70; orig := oeNacional; modBCST := dbisMargemValorAgregado; orig := oeNacional; pRedBC := CDSNFeDetalheALIQSAIDA.AsFloat;//verificar vBC := CDSNFeDetalheBASEICMS.AsFloat; pICMS := CDSNFeDetalheALIQSAIDA.AsFloat; vICMS := CDSNFeDetalheVALICMS.AsFloat; pMVAST := CDSNFeDetalheMVA.AsFloat; pRedBCST := CDSNFeDetalheBCALREDUCAO.AsFloat; vBCST := CDSNFeDetalheBASECALST.AsFloat; pICMSST := CDSNFeDetalheALIQSAIDA.AsFloat; //verificar vICMSST := CDSNFeDetalheVALORST.AsFloat; end; if capote = '90' then begin CST := cst90; orig := oeNacional; modBCST := dbisMargemValorAgregado; vBC := CDSNFeDetalheBASEICMS.AsFloat; pRedBC := CDSNFeDetalheALIQSAIDA.AsFloat;//verificar pICMS := CDSNFeDetalheALIQSAIDA.AsFloat;//verificar vICMS := CDSNFeDetalheVALICMS.AsFloat; pMVAST := CDSNFeDetalheMVA.AsFloat; pRedBCST := CDSNFeDetalheBCALREDUCAO.AsFloat; vBCST := CDSNFeDetalheBASECALST.AsFloat; pICMSST := CDSNFeDetalheALIQSAIDA.AsFloat;//verificar vICMSST := CDSNFeDetalheVALORST.AsFloat; end; end else begin // simples nacional capote := copy(CDSNFeDetalheCSOSN.AsString,2,3); if capote = '101' then begin CSOSN :=csosn101; orig := oeNacional; pCredSN := 0; vCredICMSSN := 0; end; //csosn 102,103,300,400 if (capote = '102') or (capote = '103') or (capote = '300') or (capote = '400') then begin CSOSN :=csosn102; ICMS.orig := oeNacional; end; //csosn 201 if capote = '201' then begin CSOSN :=csosn201; orig := oeNacional;//(oeNacional, oeEstrangeiraImportacaoDireta, oeEstrangeiraAdquiridaBrasil) modBCST := dbisMargemValorAgregado;//a definir (dbisPrecoTabelado, dbisListaNegativa, dbisListaPositiva, dbisListaNeutra, dbisMargemValorAgregado, dbisPauta) pMVAST := CDSNFeDetalheMVA.AsFloat; pRedBCST := CDSNFeDetalheBCALREDUCAO.AsFloat; vBCST := CDSNFeDetalheBASECALST.AsFloat; pICMSST := CDSNFeDetalheALIQSAIDA.AsFloat; vICMSST := CDSNFeDetalheVALORST.AsFloat; pCredSN := 0; vCredICMSSN := 0; end; //csosn 202 e 203 if (capote = '202') or (capote = '203') then begin CSOSN :=csosn202; orig := oeNacional; modBCST := dbisMargemValorAgregado; pMVAST := CDSNFeDetalheMVA.AsFloat; pRedBCST := CDSNFeDetalheBCALREDUCAO.AsFloat; vBCST := CDSNFeDetalheBASECALST.AsFloat; pICMSST := CDSNFeDetalheALIQSAIDA.AsFloat; vICMSST := CDSNFeDetalheVALORST.AsFloat; end; //csosn 500 if capote = '500' then begin CSOSN :=csosn500; ICMS.orig := oeNacional; vBCSTRet := 0; vICMSSTRet := 0; end; //csosn 900 if capote = '900' then begin CSOSN := csosn900; orig := oeNacional; modBCST := dbisMargemValorAgregado; vBC := CDSNFeDetalheBASEICMS.AsFloat; pRedBC := CDSNFeDetalheALIQSAIDA.AsFloat;// verificar pICMS := CDSNFeDetalheALIQSAIDA.AsFloat; vICMS := CDSNFeDetalheVALICMS.AsFloat; pMVAST := CDSNFeDetalheMVA.AsFloat; pRedBCST := CDSNFeDetalheBCALREDUCAO.AsFloat; vBCST := CDSNFeDetalheBASECALST.AsFloat; pICMSST := CDSNFeDetalheALIQSAIDA.AsFloat;//verificar vICMSST := CDSNFeDetalheVALORST.AsFloat; pCredSN := 0; vCredICMSSN := 0; end; end; end; end; end; CDSNFeDetalhe.Next ; end ; Total.ICMSTot.vBC := EditBCIcms.Value ; Total.ICMSTot.vICMS := EditValorIcms.Value ; Total.ICMSTot.vBCST := EditBCIcmsSt.Value ; Total.ICMSTot.vST := EditValorIcmsSt.Value ; Total.ICMSTot.vProd := EditTotalProdutos.Value ; Total.ICMSTot.vDesc := EditValorDesconto.Value ; //Total.ICMSTot.vII := 0; //Total.ICMSTot.vIPI := 0; Total.ICMSTot.vNF := EditValorTotalNota.Value ; with pag.Add do //PAGAMENTOS apenas para NFC-e begin if TpoPag ='PRAZO' then begin tPag := fpOutro; end else begin tPag := fpDinheiro; end; vPag := EditValorTotalNota.Value; end; end; o XML gerado está anexo 13131165198962000142650010000000011000000019-NFe.xml
  20. Arnaldo Cruz

    Nfc-E

    Estou utilizando o ACBR atualiza em 21/11/2013 Delphi 2010. Estou gerando o xml usando o componenete da NF-e. não estou montando o QR Code. quando envio a NFC-e recebo a mensagem que "URL não disponível para o estado solicitado." minhas duvidas. O QR Code é informado no XML ? Estou em minas Gerais - Existe Webservice de homologação em MG para testes ? Se alguém puder mim dá umas dicas eu agradeço. Obrigado
×
×
  • 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.