Ir para conteúdo
  • Cadastre-se

Pedrourbano

Membros
  • Total de ítens

    18
  • Registro em

  • Última visita

Tudo que Pedrourbano postou

  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...
  15. Boa noite pessoal, alguém poderia me explicar por que os tipos TpcnCstPis e TpcnCstCofins não enumeram o pis05 e cof05 ( operação tributável por substituição tributária ) ? Estou usando a tabela de PIS e COFINS baixadas no site do SPED FISCAL.
  16. Caros amigos, em se tratando de histórioco de informações fiscais, vale a pena persistir praticamente todas as informações sugeridas pelo manual do contribuinte Versão 4.0.1-NT2009.006 de Dezembro 2009 tais como segue na listagem abaixo uma representação dos ítens de uma nota fiscal: IDE_ID, PROD_CPROD, PROD_CEAN, PROD_XPROD, PROD_NCM, PROD_EXTIPI, PROD_CFOP, PROD_UCOM, PROD_QCOM, PROD_VUNCOM, PROD_VPROD, PROD_CEANTRIB, PROD_UTRIB, PROD_QTRIB, PROD_VUNTRIB, PROD_VFRETE, PROD_VSEG, PROD_VDESC, PROD_VOUTRO, PROD_INDTOT, PROD_INFAD, ICMS_CST, ICMS_ORIG, ICMS_MODBC, ICMS_VBC, ICMS_PICMS, ICMS_VICMS, ICMS_MODBCST, ICMS_PMVAST, ICMS_PREDBCST, ICMS_VBCST, ICMS_PICMSST, ICMS_VICMSST, ICMS_PREDBC, IPI_CST, IPI_CLENQ, IPI_CNPJPROD, IPI_CSELO, IPI_QSELO, IPI_CENQ, IPI_VBC, IPI_QUNID, IPI_VUNID, IPI_PIPI, IPI_VIPI, II_VBC, II_VDESPADU, II_VII, II_VIOF, PIS_CST, PIS_VBC, PIS_PPIS, PIS_QBCPROD, PIS_VALIQPROD, PIS_VPIS, PISST_VBC, PISST_PPIS, PISST_QBCPROD, PISST_VALIQPROD, PISST_VPIS, COFINS_CST, COFINS_VBC, COFINS_PCOFINS, COFINS_QBCPROD, COFINS_VALIQPROD, COFINS_VCOFINS, COFINSST_VBC, COFINSST_PCOFINS, COFINSST_QBCPROD, COFINSST_VALIQPROD, COFINSST_VCOFINS Estou com dúvida se eu repito algumas informações que já estão cadastradas junto com os produtos ou mantenho este histórico. O problema é quando o usuário errou alguma informação no cadastro de produtos e ja enviou a nota. O sistema ficará com um histórico errado. Vocês gravam o máximo de informação nos ítens de saídas? Alguns bancos de dados de programas como o compufour e smallsoft dentre outros parecem que guardam o mínimo possível, mas e o histórico? Sugiro que os moderadores criem um local para a galera discutir propostas de modelagens para resolver os problemas...
  17. Caro Hideraldo, pela parte que me toca, também ficava tentando entender como é que algumas empresas "ADIVINHAVAM" toda a regra de negócio que envolve o cálculo de imposto mas tenho certeza que muitos de nossos amigos aprendem a regra de negócio no cliente com situações que vão aparecendo e por aí vai... Se você der uma olhada no manual de integração do contribuinte Versão 4.0.1-NT2009.006 de Dezembro 2009 especificamente nas páginas159 e 160 você verá que poderemos modelar tabelas em banco de dados que guardem flags que podem ser utilizados na hora de calcular o imposto tais como: * Incide ICMS? * Incide ICMSST? * Aplica Redução * Calcula MVA? Se estiver errado me corrijam, mas muitos de nós que temos estes cálculos programados na interface (o que é um contra-exemplo de boas práticas de programação) ficamos até com medo de alterar alguma linha por causa da dificuldade em dar manutenção, muitas vezes esqueçemos quais eram as regras, etc. Atualmente estou realizando alguns cálculos de ICMS, IPI, PIS e COFINS baseados nestas tabelas com flags e melhor ainda, utilizando o poder do banco de dados de fazer este processamento em forma de procedures, o que desonera o front-end e garante que as informações serão gravadas com consistência. Se você achar interessante vamos trocar idéias e pensar em uma modelagem de banco de dados onde ficaram armazenadas junto com as tabelas de CST estes flags que serão utilizados para calcular o imposto. No meu caso eu tenho um procedimento que chama CALCULA_IMPOSTO_NFE (Nota fiscal de entrada) e CALCULA_IMPOSTO_NFS (Nota fiscal de saída) que se vira para ratear o frete + seguro + outras, calcula o preço de custo de cada mercadoria além de aplicar quando necessário os cálculos de ICMS, IPI, PIS e COFINS. Abraços.
×
×
  • 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.