Ir para conteúdo
  • Cadastre-se

Pedrourbano

Membros
  • Total de ítens

    18
  • Registro em

  • Última visita

Contact Methods

  • Website URL
    http://www.eagletecnologia.com

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Pedrourbano's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

1

Reputação

  1. Caros colegas, boa tarde, estou com um pequeno problema e gostaria de compartilhar com vocês porque pode ser que alguém vai passar ou já passou por isso. Atualmente estamos modelando o nosso PAF-ECF e antes de colocar a mão na massa estamos realizando algumas atividades a com a finalidade de projetar o sistema antes de começar o desenvolvimento. Durante a prototipação das telas que farão parte do sistema nos deparamos com o problema que envolve a resolução que o cliente pode adotar em seus terminais. Por padrão a tela principal será feita com a resolução de 800x600 e não estamos conseguindo redimensionar a tela e os componentes proporcionalmente a uma resolução maior. Gostaria de saber se existe uma solução diferente desta aqui apresentada: . . . const ScreenWidth: Longint = 800; ScreenHeight: Longint = 600; begin Scaled := True; if (Screen.Width <> ScreenWidth) then begin Self.Height := Longint(Self.Height) * Longint(Screen.Height) div ScreenHeight; Self.Width := Longint(Self.Width) * Longint(Screen.Width) div ScreenWidth; ScaleBy(Self.Height, ScreenHeight); end; end; . . .
  2. Edgar, para saber se a operadora deixou de pagar é muito simples, se você tirar um relatório de recebimentos no período que antecede um pagamento da operadora e outro em seu sistema e as vendas no cartão terão que pelo menos aproximar do valor creditado pela operadora. Mas mais uma vez enfatizo, que o problema tem mais a ver com a maneira que eles disponibilizam o saldo.
  3. Caro Edgar, é sabido que quando um cliente paga uma conta utilizando cartão de crédito, perante o estabelecimento, o mesmo não se encontra em débito. Agora o negócio é com a operadora de cartão. Também sabemos que o extrato da operadora de cartão já vem descontando um valor x pelo serviço. A solução que estamos pensando em utilizar é baixar automaticamente as vendas no cartão em uma conta corrente especial. No dia que o cliente consultar o extrato bancário referente à operadora de cartões, o mesmo faz uma transferência da conta especial para a conta correspondente ao banco onde cai o dinheiro do cartão. Logo após o cliente lança uma conta a pagar debitando na conta do banco o valor dos encargos cobrados. Na verdade estou aberto a críticas sobre este modelo e vamos achar juntos uma solução... Abraços
  4. Valeu Daniel, mas resolvi utilziar o ACBR mesmo para gerar o Sintegra já que podemos trabalhar juntos em melhorias e problemas que venham ocorrer visto que isoladamente corremos o risco de passar por problemas que já tem solução. Obrigado.
  5. Boa tarde pessoal, fui muito feliz na integração do ACBRNF-e com meu sistema e agora quero fazer o mesmo com o Sintegra. Atualmente o sintegra do nosso sistema é processado por Stored Procedures no banco de dados (diga-se de passagem com um desempenho muito bom). Mas estou vendo que a comunidade livre não brinca em serviço e todos colaboram com melhorias e novas propostas. Estou querendo acabar com o processo de geração do sintegra pelo banco e gerar utilizando o componente. Mas me respondam uma pergunta. Até quando o sintegra vai prevalecer? Vale a pena investir no sintegra ou no Sped? Desde já agradeço a atenção.
  6. Por um acaso o formato do Danfe tem que ser homologado de alguma forma? Como se fosse um atestado emitido pelas AFs que sua empresa segue o padrão?
  7. Companheiros, estou a liberar a atualização para os meus clientes com a versão 2.0 da NF-e. Queria confirmar com vocês, afinal, o que vai para o cliente? * A pasta Schemas? * As DLLs (capicom.dll, msxml5.dll, msxml5r.dll) ? * Destas, quais tem que ser registradas? * Existe mais algum detalhe que tenho que fazer ao gerar o SETUP para distribuir o software com NF-e?
  8. A discussão é boa para podermos chegarmos a um senso comum. Infelizmente a gente está sujeito a ter que na medida que for acontecendo as situações, o nosso processo de cálculo ser aprimorado. Obrigado a todos.
  9. Queria deixar a idéia para os companheiros e me solidarizar com raosistemas e perguntar se não há uma possibilidade remota da classe que gera a nfe começar a fazer os cálculos baseado nos campos básicos a serem passados pela mesma. Creio que em muitos casos a galera passa algumas informações para o componente até mesmo sem saber o porquê. O manual de integração me ajudou muito a deduzir alguns cálculos, mas imagine se pudessemos nos unir para modelar ou dar idéias em rotinas que estariam dentro do componente para gerar os cálculos (o que seria mais consistente do que cada empresa calcular de uma maneira diferente). Abraços.
  10. Caro Rodnei, eu estava cancelando notas fiscais utilziando a chave da NF-e, o protocolo e a justificativa. Quando carrego o XML para o componente ele me dá o seguinte erro: EConvertError with message "" is not a valid integer value. O mais engraçado é que se eu exportar XML para o Emissor da Sefaz, ele importa o mesno e o valida sem problemas. O que posso está fazendo de errado uma vez que eu importo o XML para cancelamento da seguinte maneira: function TNFEletronica.cancelarNotaFiscal(XML: string): Boolean; begin result := False; try ACBrNFe.NotasFiscais.Clear; ACBrNFe.NotasFiscais.LoadFromStream( TStringStream.Create(XML) ); //Este XML veio do banco de dados ACBrNFe.WebServices.Cancelamento.Justificativa := 'Preenchimento incorreto de nf-e'; Result := ACBrNFe.WebServices.Cancelamento.Executar; messageInformation( ACBrNFe.WebServices.Cancelamento.xMotivo ); except on E: EACBrNFeException do messageWarning( E.Message ); end; end; Att.
  11. Caro Carlos Alberto, primeiramente, qual banco você usa. No meu caso eu uso o Firebird 2.1 e persisto o XML da NFe no banco por dois motivos. Se o seu sistema funcionar em rede, os xml's ficaram fragmentados pela empresa e em caso de formatação das máquinas ou demais danos os mesmos podem ser perdidos. Neu caso eu uso um campo blob e logo apos o envio da nota set XML para um MEMO e a minha função que gera SQL persiste esta informação. O fato de gravar o XML adiantou a minha vida por que o usuário poderá utilizá-lo de qualquer estação em que estiver logado e simplesmente o carrego para imprimir danfe, cancelar, exportar, etc. Isto é o que eu faço, mas como eu faço pode não ser útil para você por que talves os componentes que você usa para persistir em banco pode ser diferentes dos meus, a geração do sql etc. Espero ter dado uma luz.
  12. Obrigado pela ajuda galera...
  13. Pedrourbano

    DLL para imprimir DANFE

    Pessoal, boa tarde. É sabido que existe os componentes que podem ser usados para imprimir DANFE utilizando o ACBR, mas gostaria de saber se existe alguma dll que eu chamo não importa se é para XML de entrada ou saída e o mesmo imprime o danfe, gera pdf etc. Eu tenho necessidade de uma dll para que alguns clientes simplesmente visualizem notas que lhes são enviadas ou para demais necessidades. Há alguma possibilidade de existir alguma dll para imprimir danfe ou terei que instalar o rave ou qr para proceder com a visualização / impressão?
  14. Pedrourbano

    Mega Função ?

    Bom dia companheiros, desculpem de este assunto não pertencer a este tópico, mas queria compartilhar com os colegas uma questão que envolve o tamanho da função que passa parâmetros para o componente. A função GeraNFe do demo mostra corretamente como passar os parâmetros e ajuda bastante para entender como integraremos nossos sistemas com o componente. Porém gostaria de saber se podemos ver alguma maneira de modularizar mais o código para ficar mais fácil na hora da manutenção. Por exemplo. A função GeraNFe poderia chamar dentro dela; carregaConfiguracoes(); setIde(); setEmit(); setDest(); . . . setXPTO().... Outro exemplo; O case dentro da função ACBrNFe1StatusChange: case ACBrNFe1.Status of stIdle : begin if ( frmStatus <> nil ) then frmStatus.Hide; end; stNFeStatusServico : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Verificando Status do servico...'; frmStatus.Show; frmStatus.BringToFront; end; stNFeRecepcao : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Enviando dados da NFe...'; frmStatus.Show; frmStatus.BringToFront; end; stNfeRetRecepcao : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Recebendo dados da NFe...'; frmStatus.Show; frmStatus.BringToFront; end; stNfeConsulta : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Consultando NFe...'; frmStatus.Show; frmStatus.BringToFront; end; stNfeCancelamento : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Enviando cancelamento de NFe...'; frmStatus.Show; frmStatus.BringToFront; end; stNfeInutilizacao : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Enviando pedido de Inutilização...'; frmStatus.Show; frmStatus.BringToFront; end; stNFeRecibo : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Consultando Recibo de Lote...'; frmStatus.Show; frmStatus.BringToFront; end; stNFeCadastro : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Consultando Cadastro...'; frmStatus.Show; frmStatus.BringToFront; end; stNFeEnvDPEC : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Enviando DPEC...'; frmStatus.Show; frmStatus.BringToFront; end; stNFeConsultaDPEC : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Consultando DPEC...'; frmStatus.Show; frmStatus.BringToFront; end; stNFeEmail : begin if ( frmStatus = nil ) then frmStatus := TfrmStatus.Create(Application); frmStatus.lblStatus.Caption := 'Enviando Email...'; frmStatus.Show; frmStatus.BringToFront; end; end; Application.ProcessMessages; Poderia ser trocado por: frmStatus.lblStatus.Caption := Status[ACBrNFe.Status]; Uma ves que fosse declarado uma const na unit Status : array [ TStatusACBrNFe ] of string = ('Processando...', 'Verificando Status do Serviço...', 'Enviando dados da NFe...', 'Recebendo dados da NFe...', 'Consultando NFe...', 'Enviando Cancelamento de NFe...', 'Enviando Pedido de Inutilização', 'Consultando Recibo...', 'Consultando Cadastro...', 'Enviando Email...' ,'Enviando DPEC...', 'Consultando DPEC...'); Se for válida minhas considerações vamos discutir uma maneira de dividir para conquisar...
×
×
  • 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.