Ir para conteúdo
  • Cadastre-se

leufmt

Membros
  • Total de ítens

    267
  • Registro em

  • Última visita

Tudo que leufmt postou

  1. function TFormMesa.Gera_hashqrcode(Emissao: TDateTime; TotalNota, TotalICMS: Real; Chave, CPFCNPJ, DigVal: String): String; var vTexto, vAmbiente, vdemi, vlnf, vlicms, vCPFCNPJ, vCidToken: String; begin Case ACBrNFe1.Configuracoes.WebServices.Ambiente of taHomologacao: begin vAmbiente := '2'; vCidToken := '&cIdToken=' + '000001' + Copy(TiraCaracterDocumento(Trim(Dtm.QueryEmpresaCNPJF.AsString)), 1, 8) + IntToStr(YearOf(Emissao)) + '0001'; end; taProducao: begin vAmbiente := '1'; vCidToken := '&cIdToken=' + Dtm.QueryEmpresaIdToken1.AsString + Dtm.QueryEmpresaCodToken1.AsString; end; end; vdemi := StringtoHex(Formata_DataUTC(Emissao, UFtoCUF(Trim(Dtm.QueryEmpresaEstado.AsString)))); vlnf := StringReplace(FormatFloat('###0.00', TotalNota), ',', '.', []); vlicms := StringReplace(FormatFloat('###0.00', TotalICMS), ',', '.', []); If TiraCaracterDocumento(Trim((CPFCNPJ))) <> '' then vCPFCNPJ := '&cDest=' + TiraCaracterDocumento(Trim((CPFCNPJ))) Else vCPFCNPJ := ''; vTexto := 'chNFe=' + Chave + '&nVersao=' + '100' + '&tpAmb=' + vAmbiente + vCPFCNPJ + '&dhEmi=' + vdemi + '&vNF=' + vlnf + '&vICMS=' + vlicms + '&digVal=' + StringtoHex(DigVal) + '&cIdToken=' + '000001' + vCidToken; Result := ACBrEAD1.CalcularHash(vTexto, dgstSHA1); end; function TFormMesa.Gera_chaveconsultaNFCe: String; var vRetorno, vAmbiente, vChave, vDataEmissao, vlnf, vlicms, vHashqrcode, vCPFCNPJ, vTokenURL: String; begin Case ACBrNFe1.Configuracoes.WebServices.Ambiente of taHomologacao: begin vAmbiente := '2'; // Pega endereço de consulta publica da nfce vRetorno := 'http://homologacao.sefaz.mt.gov.br/nfce/consultanfce?';//'http://www.hom.nfe.sefaz.mt.gov.br/portal/consultarNFCe.jsp'; vTokenURL := Dtm.QueryEmpresaIdToken1.AsString; end; taProducao: begin vAmbiente := '1'; // Pega endereço de consulta publica da nfce vRetorno := 'http://www.sefaz.mt.gov.br/nfce/consultanfce?';//'http://www.sefaz.mt.gov.br/nfe/portal/consultanfce'; vTokenURL := Dtm.QueryEmpresaIdToken1.AsString + Dtm.QueryEmpresaCodToken1.AsString; end; end; vChave := MQCupomChave.AsString; vDataEmissao := StringtoHex(Formata_DataUTC(MQCupomDataHora.AsDateTime, UFtoCUF(Trim(Dtm.QueryEmpresaEstado.AsString)))); vlnf := StringReplace(FormatFloat('###0.00', MQCupomValorTotal.AsFloat), ',', '.', []); vlicms := StringReplace(FormatFloat('###0.00', MQCupomValorICMS.AsFloat),',', '.', []); If TiraCaracterDocumento(Trim((MQCupomCNPJ_RG.AsString))) <> '' then vCPFCNPJ := '&cDest=' + TiraCaracterDocumento(Trim((MQCupomCNPJ_RG.AsString))) Else vCPFCNPJ := ''; vHashqrcode := Gera_hashqrcode(MQCupomDataHora.AsDateTime, MQCupomValorTotal.AsFloat, MQCupomValorICMS.AsFloat, vChave, MQCupomCNPJ_RG.AsString, MQCupomDigVal.AsString); vRetorno := vRetorno + 'chNFe=' + vChave + '&nVersao=' + '100' + '&tpAmb=' + vAmbiente + vCPFCNPJ + '&dhEmi=' + vDataEmissao + '&vNF=' + vlnf + '&vICMS=' + vlicms + '&digVal=' + StringtoHex(MQCupomDigVal.AsString) + '&cIdToken=' + vTokenURL + '&cHashQRCode=' + vHashqrcode; Result := vRetorno; end; vQRCode := Gera_chaveconsultaNFCe; Alguém pode me ajudar? Tem alguma coisa errada na geração do QRCode. Ou alguém tem alguma forma mais simples para fazer? Obrigado.
  2. Bom dia pessoa. Tenho algumas dúvidas que acho que vai ser fácil de responderem. 1 - No envio em contingência não há retorno da Data de Autorização? 2 - No cancelamento o Protocolo continua o mesmo ou altera? 3 - Estou usando o código abaixo para verificar se o cancelamento foi efetuado com sucesso, esta certo esta condição? If (ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 135) or (ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 155) then 4 - Quando o cancelamento tem sucesso estou recebendo cstat 135, mas quando consulto vem o 101, por que?(Fiquei confuso nessa)
  3. ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(vFile, false); ACBrNFe1.WebServices.Envia(MQConsultaCupomNumCFe.asInteger, True); qCup.Params.ParamByName('Old_codid').asInteger := MQConsultaCupomcodid.AsInteger; qCup.Params.ParamByName('DataRecebimento').AsDateTime := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto; qCup.Params.ParamByName('DataAutorizacao').AsDateTime := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto; qCup.Params.ParamByName('DigVal').AsString := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.digVal; qCup.Params.ParamByName('Protocolo').AsString := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt; Estou usando o código acima para enviar cupom que foi emitido em contingência. Só que esta acontecendo de as vezes o campo ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto ou o ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.digVal, virem vazios. Alguém pode me dizer se estar certo este meu código?
  4. Boa tarde pessoal. Qual é o comando para realizar a consulta e o retorno dos dados de um Cupom Fiscal Eletrônico?
  5. Me tirou algumas dúvidas. Obrigado pelo atenção Italo
  6. Quando for em contingência esse comando "ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto" vai ser o mesmo para receber a data de autorização?
  7. leufmt

    Comando BOLETO.GerarPDF

    O Comando BOLETO.GerarPDF gera o pdf em que lugar?
  8. leufmt

    ISS Retido

    Então é isso: Servico.Valores.IssRetido := stRetencao; If Servico.Valores.IssRetido = stNormal then begin vValorISS := (Servico.Valores.BaseCalculo * Servico.Valores.Aliquota) / 100; Servico.Valores.ValorIss := RoundTo5(vValorISS, -2); Servico.Valores.ValorIssRetido := 0.00; end Else begin vValorISS := Servico.Valores.BaseCalculo * Servico.Valores.Aliquota; Servico.Valores.ValorIss := 0.00; Servico.Valores.ValorIssRetido := RoundTo5(vValorISS, -2); end;
  9. leufmt

    ISS Retido

    Boa tarde galera. Tenho que fazer a nota de serviço com ISS retido. Alguém pode me ajudar com quais os campos (tags) tenho que prencher ou informar, e o que devo mostrar no danfe. Obrigado..
  10. Boa tarde Italo. Eu estou com a versão 5.02, mas quando tento abrir o arquivo ACBrNFeDANFeQRNFCe.pas vem o seguinte erro: Error creating form: Ancestor for 'TfqrDANFeQR' no found. O que deve ser isto?
  11. o danfe ACBrNFeDANFeQRNFCe é feito em qual versão do quick?
  12. Bom dia galera. Como faço para pegar o retorno dos dados de um cupom eletronico? Tipo assim, de de aprovado quero pegar alguns dados e grava em minha tabela. Como por exemplo: Chave Data de Recebimento Data de Autorizacao Recibo DigVal Protocolo NumCFe Serie Ambiente
  13. leufmt

    Rps Cuiabá

    Entendi Italo. Mais uma coisa que notei. Hoje foi tentando gerar uma única nota. E Deu o erro. Estou chegando a conclusão que o problema deva estar no servidor o ISSNET.
  14. leufmt

    Rps Cuiabá

    Bom. Até ai acho que entendi. Mas agora como vou pegar nesse meu código que vem logo abaixo: with NotasFiscais.Add.NFSe do begin (...) end; If ACBrNFSe.Enviar(Lote, False) then begin //Como vou pegar aqui o retorno de cada rps? Como por exemplo o Codigo de Verificacao? end;
  15. leufmt

    Rps Cuiabá

    Caro Italo, fiz uma analise para ver se estava havendo atraso na geração do NUMERORPS_NOT na minha consulta ao banco. Mas não esta havendo atraso. Por exemplo, o RPS 1846 que foi gerado para o envio da nota dá o erro que já foi informado, dai acesso o site da prefeitura e aquele rps que deu o erro esta lá a nota gerada. Como faço para enviar várias notas em um lote, pois pelo que tu disse antes parece que dá para fazer isto, talvez isto resolva meu problema? É o servido ISSNET
  16. leufmt

    Rps Cuiabá

    Pensei nisto. Mas não explica o porque que no registro que dá este erro ele se encontra autorizado no site da prefeitura. Se este registro não tivesse registrado na prefeitura eu entenderia.
  17. leufmt

    Rps Cuiabá

    Vem um novo valor a partir da consulta ao banco de dados: ADOQConsulta.SQL.Text := 'SELECT MAX(NUMERORPS_NOT) ULTIMO FROM NFSE_NOTA ' + 'WHERE (AMBIENTE_NOT = ' + QuotedStr(DMBase.ADOQParametroAMBIENTE_PAR.AsString) + ') AND (CODIGOPARAMETRO_NOT = ' + DMBase.ADOQParametroCODIGO_PAR.AsString + ')';
  18. leufmt

    Rps Cuiabá

    É atualizar a partir do momento que é gerada a nota, abaixo da linha "If ACBrNFSe.Enviar(Lote, False) then" tu vai ver o campo recebendo o valor atual "ADOQNotas.FieldByName('NUMERORPS_NOT').AsString := ACBrNFSe.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero;"
  19. leufmt

    Rps Cuiabá

    Segue no anexo como pedido. Codigo.txt
  20. leufmt

    Rps Cuiabá

    Caro Italo, segue abaixo o código, se tu puder ver se acha algo errado agradeço. OBS: No post abaixo.
  21. leufmt

    Rps Cuiabá

    Deixa eu tentar te explicar o que acontece Italo. No meu sistema o usuário manda vários registros de notas de uma vez, ele marca os registros que quer ser gerado a nota e o sistema entra em um while enviando. Mas tem momentos que em determinados registros dá o erro E010 informado no primeiro post. Não é problema do sistema ter gerado número de rps repetido, pois acesso o site da prefeitura e aquele registro que deu o erro lá esta a nota gerada no site. Ai o que tenho que fazer é lançar os dados da nota do site para o meu sistema para que assim ele de continuidade na sequencia do número de rps. Eu acredito que este problema esta no componente ou no servidor da prefeitura que é o issnet.
  22. leufmt

    Rps Cuiabá

    Cara, eu não tenho essa função
×
×
  • 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...