Ir para conteúdo
  • Cadastre-se

André Melim

Membros
  • Total de ítens

    42
  • Registro em

  • Última visita

Tudo que André Melim postou

  1. Eu ja imaginava que nao teria mesmo como baixar xml de nfc-e pela chave. To cobrando o pessoal la da plataforma de vendas ao qual o nosso sistema vai puxar as vendas para eles mandarem alem da chave da nota, tambem mandarem o xml da mesma, afinal de contas na minha cabeça isso é OBRIGAÇÃO deles, grato.
  2. Caros amigos, tem uma situação aqui onde eu vou 'importar' vendas de um outro sistema para o nosso. Nesse caso vai vir os dados da venda porém apenas com a chave da NFC-e (não tem o XML). Aí eu vou precisar de um método para fazer o download desse xml através da chave da NFC-e pois não posso ficar sem o xml do docto fiscal no nosso sistema. Existe um método para se fazer isso? Grato pela atenção
  3. Sim, realmente tem esse metodo de dar um 'get' em um produto especifico (desde que conhecida a 'ID' desse produto), porém imagina a seguinte situação... eu tenho que trazer os produtos la da plataforma (podem ter um ou varios) e ficar num loop testando se esse 'ID' do produto existe aqui na minha base de dados (caso nao exista vou inserir o produto)... entao nesse caso essa funcionalidade de dar um 'get' somente em 1 produto especifico acaba nao resolvendo pra mim... mas pelo que to percebendo eles nao pensaram muito bem nessa questao de ter uma opcao de fitro no 'get' de produtos para nao trazer tudo de uma vez... (ou traz todos os produtos ou apenas 1 especifico) ... o que eu gostaria é que tivesse um filtro por exemplo para eu selecionar somente os produtos cadastrados na plataforma la deles pois ai eu iria 'puxar' somente esses produtos para verificar/cadastrar aqui na minha base de dados... mas valeu mano, obrigado ai pela sua atenção... #gratidao
  4. A documentação la da plataforma é toda online (usa credenciais usuário/senha) para acesso. Eu coloquei em anexo a parte da documentação ref. ao 'get' de 'produtos'. Não sei se vai ajudar em algo, se quiser dar uma olhada, ta ai. Documento1.pdf
  5. Sim, tem a documentação dela ref. aos comandos. Porém olhando la na documentação, creio eu, que nesse caso dos produtos não vai ter jeito de filtrar pois o link para se dar um 'get' é ... ---> https://api.poscontrole.com.br/v2/products (não tem parâmetros) No caso ja das vendas (sales) é diferente .... ---> https://api.poscontrole.com.br/v2/sales?datetimeini={datetimeini}&datetimeend={datetimeend} (tem os parametros 'datetimeini' e 'datetimeend') Pelo que me disseram a única possibilidade de filtrar algo que se retorna num comando 'get' seria na própria 'url' da solicitação ter o(s) parâmetro(s). Como não sou muito experiente no assunto de utilizar o componente para efetuar os 'get' e 'post' achei talvez teria alguma forma de filtrar isso em algum evento do componente para nao retornar um json gigante (que vai ser o meu caso aqui).
  6. Olá amigos, Eu estou com uma duvida aqui no componente do Delphi "TIdHTTP". Ocorre que eu tenho um sistema que faz integração com uma plataforma de tal maneira que eu vou mandar o meu cadastro de produtos (40.000 produtos) para essa plataforma (via 'Post') e também vou ter que obter (via "Get") os produtos que foram cadastrados la direto na plataforma (1.000 produtos). Ocorre que quando eu executar o 'Get' dos produtos la da plataforma eu queria trazer um json ja previamente filtrado contendo somente os produtos que foram cadastrados na plataforma e nao todos pois senão o json vai ficar gigante e dar ate estouro de tamanho na variavel que armazena ele dentro da aplicacao. Eu ja sei o campo que identifica esses produtos mas nao sei se tem como gerar um json do get previamente filtrado. Alguém tem alguma ideia que possa resolver isso?
  7. Olá amigos, Ocorre no nosso sistema duas situações, onde a na primeira o usuário vai la na tela das vendas efetuadas e clica para gerar a nfs-e da venda efetuada, isso ja esta implementado, funciona tudo beleza. Agora temos uma situação nova aqui onde o cliente que usa o sistema trabalha com mensalidades que ele cobra dos clientes dele. O que ele deseja é que o sistema identifique as mensalidades que formam pagas (parcela.paga = 'S') e gere as nfs-e dessas parcelas pagas automaticamente num processo que rodaria em segundo plano (tipo num Timer, por exemplo), ou seja, não vai ter interação do usuário com as parcelas para gerar as nfs-e dessas parcelas, vai ficar tudo no 'automático'. Eu ja fiz la o processo que seleciona as parcelas pagas e fica num loop gerando e enviando as nfs-e para os emails dos clientes das parcelas, porém eu notei que quando executa o comando abaixo o sistema mostra uma notificação bem pequena no centro da tela provavelmente informando que o email esta sendo enviado, essa notificação é bem pequena e aparece e ja some bem rápido, tanto que não da nem pra ler direito o que está escrito nela. Porém como o processo vai ficar rodando em segundo plano (obs = são muitas parcelas) sem interação do usuario e logicamente o usuario vai estar usando o sistema para fazer outras coisas logicamente aquela telinha de notificação de envio de email aparecendo a cada nfs-e que for gerada vai ficar atrapalhando o trabalho do usuário nas coisas que ele estiver fazendo. Então eu pergunto, tem alguma coisa que eu possa setar no componente que digamos 'silencie' essas notificações? ACBrNFSeX1.NotasFiscais[0].EnviarEmail <--- esse comando aqui
  8. Ola amigos, em nosso sistema já temos a NFS-e rodando para algumas cidades. Eu não sou muito conhecedor dos processos que envolvem a NFS-e, devo confessar, até onde eu sei temos vários provedores no Brasil e sei que um provedor pode atender mais de uma cidade. La na parte dos parâmetros do sistema eu vi la que tem a opção para o usuário escolher qual o provedor que ele vai usar ('Padrao Nacional','Abaco','Coplan',etc). Foi me passado para eu implementar a NFS-e para um cliente da cidade de Belo Horizonte - MG. Queria saber se vocês podem me dar um orientação no sentido de quais comandos la do componente do ACBR ref. NFS-e eu teria que alterar para fazer funcionar os processos da NFS-e para esse cliente de Belo Horizonte - MG. Obrigado pela atenção.
  9. Fiz o teste conforme o sugerido por vocês no que se refere a diminuir a quantidade dos 'Enumerados' e aconteceu o que eu temia... Alterando enumerados ja existentes vai dar erro em outras units como a do Banco do Brasil, por exemplo, como segue no print em anexo. Portanto, chega-se a conclusão que os enumerados a mais acabam preservando a codificação ja existente de dar conflitos em outras units, então sugiro que mantenham a minha idéia inicial mesmo. O que vocês me dizem?
  10. Acredito que poderia ser assim também, se for essa realmente a solução a ser adotada favor me informar aqui para que eu possa alterar la no meu sistema para se adequar a esse formato que voce sugeriu, grato.
  11. Conforme solicitado segue em anexo o arquivo do layout do banco Credisis, o manual completo. LAYOUT CNAB 240 - REMESSA_RETORNO.pdf
  12. Certo, assim que eu conseguir o manual completo eu já te passo, grato.
  13. Prezados senhores, Estou enviando uma sugestão para alteração no componente do ACBr que faz a geração do arquivo de remessa (banco Credisis). As alterações são nas untis 'ACBrBoletoConversao.pas' e 'ACBrBancoCredisis.pas'. A situação é que o cliente do sistema nos solicitou uma alteração para contemplar todas as possíveis situações para o campo 'Código para Protesto/Negativação' (posição 221 do arquivo de remessa) para o banco Credisis: 1 - Protestar Dias Corridos - Através do Cartório; 2 - Protestar Dias Úteis - Através do Cartório; 3 - Não Protestar - Através do Cartório; 4 - Negativar Dias Corridos - Através do SERASA; 5 - Negativar Dias Úteis - Através do SERASA; 6 - Não Negativar - Através do SERASA; ACBrBoletoConversao.pas - Antes da alteração {Definir se o titulo será protestado, não protestado ou negativado } TACBrCodigoNegativacao = (cnNenhum, cnProtestarCorrido, cnProtestarUteis, cnNaoProtestar, cnNegativar, cnNaoNegativar, cnCancelamento); - Depois da alteração <<< {Definir se o titulo será protestado, não protestado ou negativado } TACBrCodigoNegativacao = (cnNenhum, cnProtestarCorrido, cnProtestarUteis, cnNaoProtestar, cnNegativarDiasCorridosSerasa, cnNegativarDiasUteisSerasa, cnNaoNegativarSerasa, cnNegativar, cnNaoNegativar, cnCancelamento); ACBrBancoCredisis.pas - Antes da alteração function TACBrBancoCredisis.GerarRegistroTransacao240(ACBrTitulo : TACBrTitulo): String; ... if (DataProtesto > 0) then begin case TipoDiasProtesto of diCorridos : ProtestoBaixa := '1'; diUteis : ProtestoBaixa := '2'; end; end else ProtestoBaixa:= '3'; - Depois da alteração <<< function TACBrBancoCredisis.GerarRegistroTransacao240(ACBrTitulo : TACBrTitulo): String; ... case CodigoNegativacao of cnProtestarCorrido : ProtestoBaixa := '1'; cnProtestarUteis : ProtestoBaixa := '2'; cnNaoProtestar : ProtestoBaixa := '3'; cnNegativarDiasCorridosSerasa : ProtestoBaixa := '4'; cnNegativarDiasUteisSerasa : ProtestoBaixa := '5'; cnNaoNegativarSerasa : ProtestoBaixa := '6'; else begin if (DataProtesto > 0) then begin case TipoDiasProtesto of diCorridos : ProtestoBaixa := '1'; diUteis : ProtestoBaixa := '2'; end; end else ProtestoBaixa:= '3'; end; end; ANEXOS.rar
  14. Estou com problema na geração do arquivo de remessa para o banco Credisis no caso de um cliente que deseja usar outros codigos para o campo 'Código para Protesto/Negativação' (C026 - posicao 221 - Segmento P). Ocorre que la no preenchimento desse campo do arquivo de remessa o ACBrBoleto trata apenas os codigos 1,2 e 3. Como fazer para que o ACBrBoleto possa preencher esse campo com as demais ocorrencias (4,5 ou 6)? Eu dei uma olhada no codigo do ACBrBoleto e ele tem la a propriedade 'CodigoNegativacao', tava pensando em uma alteração na unit 'ACBrBancoCredisis' no sentido de testar se existe um valor definido la que seja diferente de 'Nenhum', caso exista esse valor usar o que esta definido la para preencher essa posicao 221 pois me parece que nessa propriedade tem la as 6 opcoes possiveis para o código para protesto/negativação. O que voces me dizem?
  15. Alguem ai conseguiu fazer funcionar o Pix com o Sicredi ou ta bugada essa funcionalidade no proprio componente do ACBR mesmo?
  16. Ja tentei setar esse campo 'Ide.indIEToma' com os valores de 'inContribuinte', 'inIsento' e 'inNaoContribuinte' mas nenhum deles deu certo.
  17. Olá amigos, estou com problemas na emissão de um CT-e aqui. Esta retornando a mensagem 'Rejeicao: IE deve ser informada para tomador Contribuinte' e o cStat ta retornando '481'. Ocorre que o tomador de serviço (toma4) é isento. Ja tentamos deixar o campo ref. a Inscrição Estadual dele em branco e também com o texto 'ISENTO' mas nao funcionou também. Na parte relacionada ao 'toma4' no manual do CT-e pelo que vi nao tem nenhuma tag para informar se é isento ou nao, a nao ser pelo próprio conteúdo do campo da IE. O que eu poderia estar fazendo para resolver este problema? Segue em anexo o XML do CT-e. CTeTemp.xml
  18. Olá amigos. Implementei e ja validei a venda por Pix no sistema aqui da nossa empresa para o Sicoob e Banco do Brasil e funcionou de boa. Agora estou tentando validar a venda por Pix para o banco Sicredi. Notei que para o banco Sicredi esta ocorrendo um problema (ver imagem em anexo). Na imagem podemos ver o erro que ocorre ao executar o comando 'DMPix.ACBrPixCD1.PSP.epCob.CriarCobrancaImediata'. Notei que esse erro acontece tambem la no programa de exemplo do ACBRPixCD. Eu procurei colocar no sistema aqui da nossa empresa os mesmos comando utilizados la no programa de exemplo do ACBR para nao ter problemas. Não sei se pode ser algum problema com as credenciais que o cliente (que vai usar o sistema na loja dele) nos disponibilizou ou se foi alguma falha aqui na minha codificação. Alguém tem alguma ideia do que pode ser esse erro ai?
  19. Olá pessoal, temos no nosso sistema a funcionalidade de capturar o peso através do componente 'ACBrBal'. Ocorre que um cliente solicitou para a gente implementar a funcionalidade num outro sistema aqui da empresa. E agora que implementamos nos deparamos com a dificuldade em testar a funcionalidade já que a nossa software house obviamente nao possui balança para testes. Eu vi que tem dois aplicativos do ACBr que servem para testar (emular) a comunicação com uma balança ('EmuladorBalanca' e 'BalancaTeste'). Eu estava tentando fazer o teste usando esses dois aplicativos mas não consegui obter sucesso. Segue em anexo o print dos dois aplicativos como eu configurei e logo abaixo as portas COM que aparecem no Gerenciador de Dispositivos do Windows aqui (Windows 10).
  20. Funcionou de boa. Só faltava mesmo o código IBGE da cidade, agora com o ACBrCEP eu consegui obter esse código. Valeu muito obrigado.
  21. Esse 'ACBrConsultaCNPJ' aparentemente vai resolver meu problema aqui, blz. Só uma coisa, o componente eu vi la que tem o Nome da Cidade e a UF mas parece que nao tem o código IBGE da cidade e na verdade eu preciso desse código para preencher corretamente aqui o cadastro do cliente. Alguém sabe me dizer se o componente tem esse código IBGE da cidade?
  22. Olá pessoal, eu tenho uma funcionalidade no sistema (feito no Delphi 10) que consiste em consultar os dados do CPF ou CPNJ junto a Receita Federal. Na versão atual do sistema estamos utilizando um TWebBrowser pelo que entendi estamos passando o CPF/CNPJ como parametro para consultar e a URL é essa ... "http://servicos.receita.fazenda.gov.br/Servicos/cnpjreva/Cnpjreva_Comprovante.asp". Não está funcionando, então gostaria de perguntar a vocês se esse tipo de consulta funciona no componente ACBrConsultaCNPJ ou se vocês podem me fornecer algum código fonte no Delphi que esteja funcionado e que resolva esse problema.
  23. Valeu. Creio que com essa implementação o problema deve ser resolvido. Muito obrigado amigo.
  24. No caso eu faço essa consulta la e vou considerar como qrcode pago se a propriedade "Cobranca.status" estiver como "CONCLUIDA" igual la no programa de exemplo do ACBRPixCD?
×
×
  • 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.