-
Total de ítens
204 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Joas Vilas Boas Fernandes postou
-
Leiaute válido a partir de 1º de janeiro de 2021
um tópico no fórum postou Joas Vilas Boas Fernandes ACBrSPEDFiscal
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 -
Integração com a Api da Domínio
um tópico no fórum postou Joas Vilas Boas Fernandes Object Pascal - Delphi & Lazarus
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." } } -
Ambiente Homologaçao BLOCO X SC
Joas Vilas Boas Fernandes replied to Joas Vilas Boas Fernandes's tópico in ACBrSPEDECF
Voltou ao normal. -
Ambiente Homologaçao BLOCO X SC
Joas Vilas Boas Fernandes replied to Joas Vilas Boas Fernandes's tópico in ACBrSPEDECF
vou fazer isso agora depois das 13:00 que atendem. -
Bom dia! Estou tentando acessar o ambiente de homologação de SC e parece estar fora. Alguém sabe se mudou alguma coisa?.
-
Validação do registro C180
Joas Vilas Boas Fernandes replied to Joas Vilas Boas Fernandes's tópico in ACBrSPEDFiscal
Favor ignorar post anterior. -
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
-
Registros do PAF-ECF (Anexo IV)
Joas Vilas Boas Fernandes replied to Joas Vilas Boas Fernandes's tópico in ACBrSintegra/ACBrPAF
ok. Fechou entao. -
Registros do PAF-ECF (Anexo IV)
Joas Vilas Boas Fernandes replied to Joas Vilas Boas Fernandes's tópico in ACBrSintegra/ACBrPAF
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. -
Registros do PAF-ECF (Anexo IV)
Joas Vilas Boas Fernandes replied to Joas Vilas Boas Fernandes's tópico in ACBrSintegra/ACBrPAF
ok. Parece que o homologador não entende assim. Mas obrigado mesmo assim. -
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
-
Registros do PAF-ECF (Anexo IV)
um tópico no fórum postou Joas Vilas Boas Fernandes ACBrSintegra/ACBrPAF
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?. -
Como Gerar espelho MFD Epson tm900FI
um tópico no fórum postou Joas Vilas Boas Fernandes ACBrSintegra/ACBrPAF
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? -
ECF Epson TM-T900F não fazendo quebra de linha
Joas Vilas Boas Fernandes replied to douglas_k's tópico in ACBrSerial
Muito Obrigado. -
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?