Ir para conteúdo
  • Cadastre-se

Larry

Membros
  • Total de ítens

    120
  • Registro em

  • Última visita

Posts postados por Larry

  1. 1 hora atrás, leandroaoa disse:

    no seu caso deve ficar assim:

    vtroco := 5,00 pois o valor da nota é menor que o pagamento e fazer um controle interno desse valor, nao tem outra solução a nao ser controle interno seu

    pra fazer o que voce quer faca o seguinte informa o valor da nota na forma de pagamento e esse valor voce salva em ouro lugar seria mais ou menos isso

    Obrigado Leandro, tinha feito isso, só não queria informar um troco que não existe caso do cliente final analisar o xml. Um belo dia alguém pode contestar que esqueceram de dar o troco...
    Vou colocar uma informação nos dados adicionais descrevendo o credito.

  2. Boa tarde,

     

    Estou com um caso com alguns clientes que ao fazer uma venda é pago um valor maior que o total da venda e essa diferença fica como crédito para uma compra futura.

    Por exemplo: o cliente final compra um produto de R$10,00 e paga R$15,00 , ficando com R$5,00 de crédito para um compra futura.

    No xml se eu informar vNF=10.00 e vPag=15.00 (dinheiro) da essa rejeição.

    Tentei também colocar vNF=15.00, vPag=10.00 (dinheiro) e outro vPag=5.00 (outra forma pagamento qualquer) mas da a mesma rejeição.

    Se eu informar um vTroco=5.00 a nota passa mas se o cliente final analisar o xml vai encontrar um troco que nunca existiu.

    Obs: nota fiscal do Rio Grande do Sul.

    Tem alguma forma de informa esse pagamento de R$15,00?

  3. Boa tarde,

     

    Sempre utilizei o envio de nfe e nfce da forma:

     

    try

      ACBrNFe1.Enviar(1,False,False);

      *** fluxo 1

    except

      *** fluxo 2

    end;

     

    Ao enviar a nfe normalmente segue o fluxo1.

    Mas se eu mudar para ACBrNFe1.Enviar(1,False,True) vou direto para o fluxo 2 (exceção). O ACBrNFe1.WebServices.Enviar.cStat retorna 103.

    É normal isso?

  4. 6 horas atrás, Julyana Villela disse:

    Estou precisando fazer integração com o inter. Vi que tem a api, mas estou emperrada na geração do certificado.

    Alguém pode dar alguma dica?

    O que eu coloco no domínio? Preciso ter um domínio para isso?

    Obrigada

    Julyana

    Não precisa ter domínio não.

    O campo "Common Name" é opcional e você pode colocar qualquer coisa.

  5. Terminei o código para o button13 do teste que anexei (Consulta Lista de Boletos Inter) que ainda não estava pronto:

     

    procedure TForm1.Button13Click(Sender: TObject);
    var JsonStreamRetorno,JsonStreamEnvio: TStringStream;
        lista1:tstringlist;
        valor:real;
        texto:string;
        Parametros:string;
    begin
    Memo1.Clear;

    lista1:=tstringlist.create;

    JsonStreamRetorno := TStringStream.Create('');
    lista1.text:='';//memo3.text;

    JsonStreamEnvio   := TStringStream.Create(lista1.text);

    IdHttp1.Request.CustomHeaders.Clear;
    IdHTTP1.Request.CustomHeaders.Add('Content-Type: application/json');
    IdHTTP1.Request.CustomHeaders.Add('x-inter-conta-corrente: '+conta_corrente);

    Parametros:='';
    Parametros:=Parametros+'?filtrarPor=TODOS';
    Parametros:=Parametros+'&dataInicial=2020-01-01';
    Parametros:=Parametros+'&dataFinal=2020-08-14';
    Parametros:=Parametros+'&ordenarPor=SEUNUMERO';

    try
      IdHTTP1.Get('https://apis.bancointer.com.br:8443/openbanking/v1/certificado/boletos'+Parametros , JsonStreamRetorno);
    except
      on E:EIdHTTPProtocolException do
        memo1.Lines.add(IdHTTP1.ResponseText+#13#10+e.ErrorMessage)
      else
        showexception(exceptobject, exceptaddr);
    end;
    memo1.Lines.Add('Código de retorno: '+inttostr(IdHTTP1.ResponseCode));
    memo1.Lines.Add('');

    if JsonStreamRetorno.DataString<>'' then
      Memo1.Lines.add(JsonStreamRetorno.DataString);

    if IdHTTP1.ResponseCode<>200 then
      showmessage('Transação não pode ser inicada ('+inttostr(IdHTTP1.ResponseCode)+').');
    end;
     

    obs: esse foi um teste inicial, por isso tem algumas variaveis declaradas que não tem uso.

    obs: lembrando que de acordo com o manual do Inter os  boletos lançados no dia de hoje não aparecem na listagem, somente os anteriores. Já na consulta individual aparece.

    • Curtir 3
  6. 9 minutos atrás, Fenix disse:

    Foi o que pensei, vai ter que usar o Indy, estou vendo que não vai ter para onde fugir, vou ter que adaptar minha classe de consumo rest. 😪

    Valeu por contribuir

    Ja fiz coisa muito parecida usando TRESTClient, TRESTRequest e TRESTResponse para outra api.

    Segue um trecho do código:

     

    RESTClient1.BaseURL:='url';

    RESTRequest1.Method:=TRESTRequestMethod.rmPOST;

    RESTRequest1.Body.ClearBody;
    RESTRequest1.Body.Add('Content-Type:application/json');
    RESTRequest1.Body.Add('Authorization: 13245');
    RESTRequest1.Body.Add('Accept:application/json');
    RESTRequest1.Body.Add('{');
    RESTRequest1.Body.Add('  "sendSmsRequest": {');
    .......

    try
      RESTRequest1.Execute;
      jValue:=RESTResponse1.JSONValue;
    except
      on E:erestexception do
        memo1.Lines.add(e.ToString)
      else
        mostra_erro;
    end;

    .....
    jValue:=RESTResponse1.JSONValue;

    Memo1.Lines.add('ResponseCode: '+inttostr(RESTResponse1.StatusCode));

    if jValue.ToString<>'' then
      memo1.Lines.Add(jValue.ToString);
     

    • Curtir 1
  7. Primeiro tem que criar os arquivo do certificado.

    No exemplo que vou postar tem que colocar no formcreate o numero da conta e o caminho de 3 dos arquivos criados.

    No memo3 tem que substituir alguns campos com os dados corretos:

     

    1) Crie o aplicativo dentro do banco Inter

    a) Digite o seguinte comando no console (evite acentos):
    openssl req -new -newkey rsa:2048 -nodes -keyout nomearquivo.key -out nomearquivo.csr

    b) Nos campos solicitados, insira as informações:

    Country Name (código do país): as duas letras que representam o país internacionalmente. Ex: BR é Brasil
    State or Province Name (nome completo do estado): ex. Goias
    Locality Name (nome completo da cidade): ex. Goiania
    Organization Name (a razão social completa da sua empresa): ex. SuaEmpresa
    Organizational Unit Name (número de aplicação): copie a chave exclusiva gerada pelo Inter e cole-a no campo. Este é o "Número de aplicação" e é formado por letras, números e separado por hífens.
    Common Name (nome comum - campo opcional): o nome de domínio totalmente qualificado, ou URL que você deseja proteger. Exemplo: SEUDOMINIO.COM.BR
    E-mail Address (endereço de e-mail): insira seu e-mail
    A Challenge Password (uma senha forte): crie uma senha forte para este SSL

    c) Abra a CSR em um editor de texto e copie todo o texto gerado.
    d) Cole o texto gerado no campo "Assinatura do certificado (CSR)" e clique em "Confirmar".

    2) Espere receber o e-mail do Inter avisando que sua aplicação foi Aprovada. Apos aprovação acesse suas aplicações no site do Inter e clique na 
    seta que aparece do lado esquerdo no dome da aplicação. Clique no icone da nuvem para baixa o certificado (.crt). 

    3) Faça a seguinte conversão com o arquivo baixado:
    openssl x509 -inform PEM -in nomearquivo.crt > nomearquivo-publicchave.pem

    4) Com o arquivo .KEY gerado anteriormente no passo 1
    openssl rsa -in nomearquivo.key -text > nomearquivo-privatechave.pem
     

    BoletoInterAcbr.rar

    54 minutos atrás, Juliomar Marchetti disse:

    Não quer contribuir com o ACBr e tentar escrever usando os padrões ou até mesmo postando aqui como fez assim estará ajudando a comunidade

    Desenvolvi tudo hoje...

    Ainda tem muito a fazer para uma implementação, mas como não conheço a fundo os moldes dos fontes do Acbr acho que alguém pode fazer bem melhor.

    43 minutos atrás, Fenix disse:

    Legal, depois posta como implementou o consumo com o certificado.
    Eu não vou usar o pdf original deles, tem muita propaganda, vou pegar os dados do boleto e gerar a impressão seguindo o padrão dos layouts que uso do acbr

    ja tinha pensado o mesmo kkk

    • Curtir 6
    • Obrigado 1
  8. Boa tarde,

     

    Desde ontem estou com vários cliente recebendo a mensagem de consumo indevido ao emitir a nf-e.

    Faço a consulta ao status de serviço apenas ao emitir a primeira nfe. E após a emissão não faço consulta do status da nfe.

    Alguém sabe o que poderia ser?

  9. 2 horas atrás, Daniel Simoes disse:

    O Parâmetro ApenasTagsAplicacao := True, instrui o componente a Gerar apenas as Tags que são Obrigatórias para a aplicação...

    Alias, porque você está gerando o XML, se você já tem o mesmo ??

     

    É para gerar o xml em um computador e enviar para outro computador imprimir o sat.

  10. Em 10/12/2019 at 11:44, Cristhian Massini disse:

    Pode ser que algo deu errado antes de Gravar, zerando o ICMS...

    consegue postar o xml que foi gravado antes de dar o LoadFromFile?

    Bom dia,

     

    Segue os arquivos anexado.

    O arquivo "arqcfe.xml" contem um xml com a tag ICMS preenchida e após os comandos abaixo o arquivo "novocfe.xml" é criado com a tag ICMS vazia:

     

    ACBrSAT1.CFe.Clear;
    //ACBrSAT1.InicializaCFe;
    ACBrSAT1.CFe.LoadFromFile('c:\teste\arqcfe.xml');
    ACBrSAT1.CFe.GerarXML(True);
    ACBrSAT1.CFe.SaveToFile('c:\teste\novocfe.xml');
     

    Observação: se a linha do InicializaCFe for descomentada a tag do ICMS é gerada com os dados originais preenchidos.

    arqcfe.xml novocfe.xml

  11. 13 horas atrás, Daniel Simoes disse:

    Desculpe, mas não consegui compreender o seu passo a passo...

    Eu salvo o xml em disco ou no banco de dados antes de enviar e posteriormente carrego esse xml para enviar ao sat.

    Só que ao carregar o xml se eu não utilizar a função InicializaCFe,  quando executo a função GerarXML a tag do ICMS fica vazia.

  12. Bom dia,

     

    Percebi um problema na seguinte situação:

    - Se eu gerar o xml e em seguida rodar um ACBrSAT1.CFe.GerarXML(True) ocorre tudo bem

    - Porem se antes do "GerarXML" eu fizer um ACBrSAT1.CFe.SaveToFile, depois um ACBrSAT1.CFe.Clear e depois um ACBrSAT1.CFe.LoadFromFile a tag ICMS esta preenchida, mas ao rodar o GerarXML a tag ICMS fica vazia.

     

    A propriedade Config.Emit_cRegTrib foi preenchida corretamente.

    E se antes do LoadFromFile e rodar um ACBrSAT1.InicializaCFe funciona normalmente. Então é por causa do InicializaCFe mesmo?

     

  13. Em 06/11/2019 at 11:01, Paulo Hildebrand Neto disse:

    bom dia,

     

    Alguém sabe me dizer como está este projeto.

     

    abraços,

    Boa dia, nada pelo jeito, segue informação da pagina deles:

     

    Importante: Para ter acesso a API Informações de Produtos a empresa precisa ser associada à GS1 Brasil ou ter sido indicada por alguma associação parceira.

    Caso tenha dúvidas, entre em contato com [email protected]

     

    • Curtir 1
  14. Tive o mesmo problema:

    Após imprimir o cupom sat usando o ACBrSATExtratoFortes, se eu imprimir um relatório logo em seguida usando o quickreport funciona normalmente.

    Mas se eu imprimir um cupom sat usando o ACBrSATExtratoFortes e logo em seguida imprimir um relatório direto na porta (writeln) fica tudo pequeno.

    Resolvi o problema fazendo um quickreport1.prepare num relatório em branco após a impressão do cupom sat.

  15. 10 horas atrás, Gabriel Franciscon disse:

    Opa,

    Quando o DESTINATÁRIO da nota realiza o processo de manifestação o EMITENTE (apenas o emitente) da nota recebe um XML contendo evento criado. Podendo assim o EMITENTE controlar se o destinatário da nota fiscal realizou alguma manifestação.

    Um dica legal é: avisar o emitente caso algum destinatário realize um evento de manifestação com: Desconhecimento ou Operação Não Realizada. Pois nesses 2 casos alguma coisa deu errada.

    Neste caso o emitente vai receber um destes eventos: teManifDestConfirmacao, teManifDestCiencia, teManifDestDesconhecimento, teManifDestOperNaoRealizada?

  16. Bom dia,

     

    A efetuar o recebimento das DFE usando o método DistribuicaoDFePorUltNSU, recebo além das notas e resumos, os eventos e resumos de eventos.

    Gostaria de saber se o evento com "ManifDestCiencia" em docZip.Items.procEvento.tpEvento se refere as notas fiscais emitidas pela empresa que esta efetuando a consulta e que já foram manifestadas pelo destinatário (clientes que receberam a nota).

  17. 54 minutos atrás, Larry disse:

    Como foi mudado o pST para pegar de pICMSST ou invés de pICMS, então não seria o pFCPST ao invés do pFCP a ser somado caso exista?

    Acabei de olhar o link e já mudaram para pFCPST.

×
×
  • 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.