Ir para conteúdo
  • Cadastre-se

Joas Vilas Boas Fernandes

Membros
  • Total de ítens

    204
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Joas Vilas Boas Fernandes postou

  1. Fiz recentemente a implementação dos registros C181 e C186. No registro C186 tem uma propriedade errada. fVL_UNIT_ICMS_OP_CONV_CONV_ENTRADA. O correto fVL_UNIT_ICMS_OP_CONV_ENTRADA. ACBrEFDBloco_C.pas
  2. Segue os arquivos pra validação. ACBrSpedFiscal.pas ACBrEFDBloco_C_Class.pas ACBrEFDBloco_C.pas ACBrEFDBlocos.pas
  3. Existe o evento de Ciência, Confirmação, Desconhecimento e Não Realizada. Para realizar a Confirmação é necessário a realizar a ciência. Uma vez realizado a ciência ainda pode ser cancelada. Ja quando for confirmado não poderá ser cancelado, desconhecida ou não realizada.
  4. Pessoal da Thompson disse que estão mudando alguma coisa, ficaram de enviar email com a nova documentação. Podem fechar o tópico. Obrigado.
  5. Bom dia, segue link da documentaçao: https://developerportal.thomsonreuters.com/onvio-br-accounting-api/swagger_openapi_document/invoiceintegrationresource/100?from=api&id=9306#/Batch/createBatch
  6. Olá, Estou fazendo a integração com a API da Domínio pelo Delphi 10, porém estou encontrando algumas dificuldades em enviar um arquivo XML para a API. O arquivo XML deve ser enviado no body do método junto com a query. Estou tentando fazer a chamada tanto pelo componente Indy 10.5.5 quanto pelo ICS 8.62, e estou obtendo respectivamente os seguintes erros: ------------- Indy: Mensagem de Erro - HTTP/1.1 400 procedure TForm1.btnEnviarNotaClick(Sender: TObject); Var Params: TIdMultipartFormDataStream; Response: TStringStream; Arquivo: TIdMultipartFormDataStream; ServerResponse: String; begin Params := TIdMultiPartFormDataStream.Create; Params.AddFile('file[]', 'C:\notafiscal.xml', 'application/xml'); Params.AddFormField('query', '{"boxe/File":true}'); IdHTTP.Request.CustomHeaders.Clear; IdHTTP.Request.CustomHeaders.Values['Accept'] := '*/*'; IdHTTP.Request.CustomHeaders.Values['Content-Type'] := 'multipart/form-data; boundary=' + Params.Boundary; IdHTTP.Request.CustomHeaders.Values['Authorization'] := 'Bearer ' + Token; IdHTTP.Request.CustomHeaders.Values['ContentType'] := 'application/json'; IdHTTP.Request.CustomHeaders.Values['User-Agent'] := 'PostmanRuntime/7.26.5'; IdHTTP.Request.CustomHeaders.Values['Connection'] := 'Keep-Alive'; ServerResponse := IdHTTP.Post(edtURL.Text, Params); mmResultAut.Lines.Add('Response: ' + ServerResponse); end; ------------- ICS: Response: {"error":{"code":500,"errors":[],"message":"HTTP 400 Bad Request"}} procedure TForm1.Button7Click(Sender: TObject); var Params: TIdMultipartFormDataStream; Memory: TMemoryStream; ServerResponse: String; json : TJSONObject; iStatCode : Integer; Header, Footer, RandBoundary: UTF8String; begin try try SslHttpRest1.ContentTypePost := 'multipart/form-data'; SslHttpRest1.Accept := '*/*'; SslHttpRest1.Connection := 'keep-Alive'; SslHttpRest1.ServerAuth := httpAuthBearer; SslHttpRest1.AuthBearerToken := Token; Params := TIdMultiPartFormDataStream.Create; Params.AddFile('file[]', 'C:\notafiscal.xml', 'application/xml'); Params.AddFormField('query', '{"boxe/File":true}'); SslHttpRest1.ContentTypePost:= 'multipart/form-data; boundary=' + Params.Boundary; SslHttpRest1.RestRequest(httpPOST, edtURL.Text); ServerResponse := SslHttpRest1.ResponseOctet; mmResultAut.Lines.Add('Response: ' + ServerResponse); except on B: EIdHTTPProtocolException do mmResultAut.Lines.Add('Erro: ' + B.ErrorMessage); on E: Exception do mmResultAut.Lines.Add('Erro: ' + E.Message); end; finally end; end; --------------- Na aplicação Postman que eles enviaram funciona normalmente: { "lastStatusOn": "2020-10-15T12:45:40.501", "apiVersion": "v1", "boxeFile": false, "filesExpanded": [], "id": "643DA8F543AF4598AD47DFE62A1C9033", "status": { "code": "S1", "message": "Aguardando processamento. Por favor aguarde o arquivo ser processado." } }
  7. Bom dia! Estou tentando acessar o ambiente de homologação de SC e parece estar fora. Alguém sabe se mudou alguma coisa?.
  8. na Procedure TBloco_C.WriteRegistroC180(RegC170: TRegistroC170) tenho uma sugestão de validação: procedure TBloco_C.WriteRegistroC180(RegC170: TRegistroC170); .... if RegC170.RegistroC180.Count > 0 then begin if (RegC100.IND_OPER in [tpSaidaPrestacao]) then Check(False, 'O RegistroC180, não deve ser gerado em movimentações de saída, conforme ATO COTEPE 09/08'); if (RegC100.IND_OPER in [tpEntradaAquisicao]) and (FBloco_0.Registro0000.IND_PERFIL in [pfPerfilC]) then Check(False, 'O RegistroC180, não deve ser gerado em movimentações de entrada no %s, conforme ATO COTEPE 09/08', ['PerfilC']); end; ---- So gerar o registro para entrada no perfil A e B. ACBrEFDBloco_C_Class.pas
  9. Ele quer que quando fizer a redução do primeiro ECF no fechamento do dia gere o arquivo com as informações da redução Z daquele ECF especifico mas as informações do estoque de forma automática. a partir do segundo ECF gere o arquivo com as informações da redução Z daquele ECF especifico mas sem as informações do estoque. Ate aqui ok. Mas quando ele pede gerar Registros do PAF-ECF pelo MENU FISCAL quer que traga todos as informações das reduções geradas de todos os ECFs independente de qual ECF esteja vinculado ao PDV. Lendo a documentação e perguntas e resposta acho que faz sentido ja que esse registro deve sempre pegar do BD. Na especificação diz que ao comandar a redução deve armazenar no BD.
  10. ok. Parece que o homologador não entende assim. Mas obrigado mesmo assim.
  11. Ja tentou comparar o valor "qr.fieldbyname(certificado).asString" com LerCertificado('local do arquivo certificado') se é a mesma coisa? porque fiz um teste aqui e funcionou. segue a funçao: function LerCertificado(pCaminho: string): AnsiString; var vFile: TFileStream; begin vFile := TFileStream.Create(pCaminho, fmOpenRead); try Result := EncodeBase64(ReadStrFromStream(vFile, vFile.Size)); finally vFile.Free; end; end; Fonte: https://www.jonathanschmitt.com.br/2019/04/como-gravar-o-conteudo-do-certificado-a1-bd.html
  12. Bom dia, Estou com uma duvida referente a geração do arquivo Registros do PAF-ECF (Item 17 do REQUISITO VII). Letra a) informações relativas ao estoque: “ESTOQUE TOTAL" ou “ESTOQUE PARCIAL”. OK Letra b) para as demais informações: por período de data. Minha dúvida é: devo gerar as informações por ECF ou devo gerar o arquivos de quandos ECF tiver cadastrado?.
  13. Falei com pessoal da Edson que me disponibilizaram DLL atualizada. Deu boa
  14. Boa noite, Estou tentando gerar um arquivo espelho MFD na impressora epson tm900fi. Demora um tempo, gera o arquivos mas aparece que não tem dados para gerar o arquivos. Alguém já passou por isso?
  15. Ontem fiz confusão, e acabei perguntando no post errado, se era possível usar o ACBrECF com a impressora fiscal TM900F - na porta USB, no que foi prontamente respondido pelo Daniel. Fazendo outros testes, apontei no modelo " ecfEscECF" e a porta emulada no Epson TM Virtual Port e consegui usar normalmente. Alguma restrição quanto a isso?
×
×
  • 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...