Ir para conteúdo
  • Cadastre-se

Atenas Soluções Softwares

Membros Pro
  • Total de ítens

    580
  • Registro em

  • Última visita

  • Days Won

    8

Tudo que Atenas Soluções Softwares postou

  1. Jeferson , instale o PVA (Programa Validador) da RF para estar importando o seu arquivo gerado pelo seu sistema , só assim vc trata os erros de validação na certeza , acompanhe tbm a atualização de versões do Manual de Integração . Download do PVA : http://www1.receita.fazenda.gov.br/sistemas/sped-fiscal/download.htm
  2. Fabio , como o colega Jéter ja respondeu , vc encontra em \ACBr\Exemplos\ACBrBoleto (Jeter ,grato pela ajuda !) , só complementando , o ACBr tem Demos de todos os componentes na pasta Exemplos , vc primeiro estuda e testa com os Demos , ja existe muitas duvidas ja respondidas aqui no forum mas caso tenha alguma duvida que não encontre pode perguntar ! Boa sorte !
  3. Fabio , eu utilizo para o Banco do Brasil i é tranquilo viu ! , vc vai precisar alguns dados do Banco como Carteira etc... tudo referente ao registro desse Boleto no Banco ! em relação a sua pergunta sobre layout ... o componente ja faz tudo , vc só informa as config para alimentar o componente , utilize o Demo do ACBrBoleto !!!
  4. O Markapolo , nunca apertei a sua mão , quem sabe um dia , mas quero vc como meu amigo cara , estamos todos buscando o mesmo objetivo , somos parceiros , vc não imagina a alegria que eu tenho quando consigo poder ajudar e ser tbm beneficiado com qualquer coisa aqui no forum , é gratificante , ja esqueci todas essas bobagens de mau entendido ta . Edite sim ! , estamos juntos meu irmão . Forte abraço e fica com Deus ai !
  5. Markapolo , me perdoe se te ofendi com algo que escrevi e te irei com isso , jamais foi essa a intenção , não coloquei a sua ou experiencia de ninguem a prova de nada , sei que todos aqui tem suas qualidades como desenvolvedores , apenas quiz dizer que acho que devemos comentar quando ja estivermos testado a ferramenta ( Como é que eu vou ajudar num assunto que eu não testei ) , mas se isso satisfaz o seu ego fique a vontade . O forum não promove um ranking de quem tem mais ou menos , maiores ou menores Clientes , se nossos Software é mais inteligente que do outro , não é essa a proposta do forum , sempre vai existir alguém acima de nós em todos os aspectos da vida , nunca somos o topo de nada . Mas me perdoe se te ofendi com a expressão .
  6. Markapollo bom dia , A Manifestação é feita uma vez por semana em média pelos Clientes , não é ? O Cliente não fica fazendo Manifestação todo dia toda hora como se emiti NFe e demais Doc's , se ele fizer uma vez por semana a Manifestação são = 04 NSU = Zero no mês , Sera que esses 04 NSU's = Zero no mes ! , isso pode bloquear o WS ?? Porque o NSU Zero entra somente uma vez no laço o resto é o Ultimo NSU mesmo !
  7. Alex , é bem particular mesmo de cada um de nós desenvolvedores este processo de como cada um fez ou esta fazendo seus programas , mas é legal isso tudo porque otimizamos cada vez mais nossos Programas nesses debates !!! Mas te digo que uma coisa é a teoria dos Manuais e NT's e outra é o dia dia na pratica do usuario final !!! Tenho alguns clientes que vem utilizando a Manifestação em Produção , e venho acompanhando a evolução disso tudo . Quanto a questão que segue , oque acontece no pedido das NFs para Manifestação , é que na primeira passada do laço quando o NSU iniciado tanto em Zero ou mesmo informando o último NSU , não traz/aparece nf nenhuma !!! , para se retornar a primeira nota o laço normalmente ja rodou dezenas de vezes , ja pegou dezenas de números de últimos NSU's para mostrar a primeira Nota , entende ? pra vc ter idéia nos testes que venho acompanhando , para se retornar uma média de 12 NFs no final do processo , ja teve vez do laço da rotina rodar umas 130 vezes ou mais , isso em Produção Tá ! então acredito que no momento o último NSU não é importante no inicio do laço , particulamente falando ! Uma outra coisa que incomoda o usuário é a demora do procedimento se a Internet do Cliente for ruim !
  8. Italo , obrigado pela dica do Salvar !!! Alex , oque identifica o formato de pesquisa se vai listar Todas as NFs ou não ! , não é a tag NSU e sim a tag IndNFe , veja : 0 : IndNFe := '0' ; // 0 = Todas as NF-e 1 : IndNFe := '1' ; // 1 = Somente as NF-e que ainda não tiveram manifestação do destinatário // (Desconhecimento da operação, Operação não Realizada ou Confirmação da Operação) 2 : IndNFe := '2' ; // 2 = Idem anterior, incluindo as NF-e que também não tiveram a Ciência da Operação No caso , o interessante é utilizar IndNFe = 1 ou 2 ! certo ? e o NSU = 0 , no primeiro looping do laço !
  9. Certo Italo , mas no caso desabilitei o Salvar de Configuracoes\Arquivos mas ai o componente não salva mais nenhum arquivo na pasta Mensal Ano/Mes 201301 , entende ? no caso não teria que desconsiderar somente os xml's "temp" , e os demais validos da pasta mensal permanecer ? O Outro Salvar de Configuracoes\Geral , o meu ja estava False !!
  10. Italo e demais colegas , boa tarde ! Já tenho varios clientes utilizando em produção com o cógido acima que mencionei , e esta bacana funcionando direitinho , só um detalhe que gostaria de mencionar , o retorno é bem demorado das NFe's , até coloquei até uma mensagem de aviso de demora antes do usuario iniciar o processo ! Uma outra dica que deixo para os colegas que ainda não o fizeram é : (1º- Italo , não vi nada interno no componente que faça isso e na verdade não sei se é obrigatório deixar salvo os xml's de pedido de NFe destinadas ! , acredito que não é legal tbm ter interno no componente isso ! certo ? ) é que cada laço/pedido de nova consulta é salvo um arquivo xml deste pedido , certo ? a cada vez que o usuario realiza um pedido das NFe's destinadas , são gerados dezenas os até mesmo centenas de arquivos na pasta de eventos do sistema !! No meu caso utilizei uma rotina para estar deletando estes arquivos (Somente os de Pedido de NFe's Detinadas , viu galera !) da pasta Evento do meu programa ! Vou deixar para quem quizer a rotina que utilizo para deletar os arquivos em questão , qualquer dica é bem vinda !!! : procedure TFrmPrincipal.Deleta_Arquivos_XML_Temp ( Patch : String ) ; var SearchRec : TSearchRec ; Result : Integer ; Arquivo : String ; Competencia : String ; begin // Deletando Arquivos do Path Geral do Cnpj do Emitente ativo Arquivo := Patch + '\*.xml' ; Result := FindFirst( Arquivo , faAnyFile, SearchRec) ; while result = 0 do begin if pos('-con-nfe-dest.',SearchRec.Name) > 0 then DeleteFile( Patch + '\' + SearchRec.Name) ; if pos('-nfe-dest.',SearchRec.Name) > 0 then DeleteFile( Patch + '\' + SearchRec.Name) ; if pos('-eve.',SearchRec.Name) > 0 then DeleteFile( Patch + '\' + SearchRec.Name) ; if pos('-ped-evento.',SearchRec.Name) > 0 then DeleteFile( Patch + '\' + SearchRec.Name) ; Result := FindNext(SearchRec) ; end; // Fim Deletando Arquivos do Path Geral do Cnpj do Emitente ativo Competencia := FormatDateTime('yyyy', Now) + FormatDateTime('mm', Now) ; // Deletando Arquivos do Path Mensal/Competencia do Cnpj do Emitente Ativo Arquivo := Patch + '\' + Competencia + '\Evento\*.xml' ; Result := FindFirst( Arquivo , faAnyFile, SearchRec) ; while Result = 0 do begin if pos('-con-nfe-dest.',SearchRec.Name) > 0 then begin Arquivo := Patch + '\' + Competencia + '\Evento\' + SearchRec.Name ; DeleteFile( Arquivo ) ; end ; if pos('-nfe-dest.',SearchRec.Name) > 0 then begin Arquivo := Patch + '\' + Competencia + '\Evento\' + SearchRec.Name ; DeleteFile( Arquivo ) ; end ; if pos('-eve.',SearchRec.Name) > 0 then begin Arquivo := Patch + '\' + Competencia + '\Evento\' + SearchRec.Name ; DeleteFile( Arquivo ) ; end ; if pos('-ped-evento.',SearchRec.Name) > 0 then begin Arquivo := Patch + '\' + Competencia + '\Evento\' + SearchRec.Name ; DeleteFile( Arquivo ) ; end ; Result := FindNext(SearchRec) ; end; // Fim Deletando Arquivos do Path Mensal/Competencia do Cnpj do Emitente ativo end;
  11. Uma outra dica para ajudar tbm alem da do Regis , vc pode tbm utilizar a impressao direta tbm , assim : 1 - Instale normalmente o Driver da impressora (Isso serve para qualquer impressora , não só Bematech !) . 2 - Compartilhe ela com o nome desejado . rotina no delphi : var print : textfile ; begin AssignFile ( print , '\\nome_computador_local\nome_compartilhado_impressora' ) ; // A impressão é no proprio computador onde esta instalado a impressora ou na rede tbm se quizer !!! Rewrite (print); WriteLn (print , 'Linha impressa 1'); WriteLn (print , 'Linha impressa 2'); WriteLn (print , 'Linha impressa 3'); CloseFile (print); end ; obs : existem Comandos WriteLn para acionamento de guilhotina , acionamento de gaveta , etc... funciona tudo ! Abraço !
  12. Sergio , esta errado sim , ja coloquei a rotina completa pra vc no outro link que vc perguntou a mesma coisa , é só vc implemantar a sua AC baseando-se naquela rotina : acesse :
  13. Sergio , eu utilizo este laço listando as NFe's Destinadas no NextGrid , veja rotina completa : procedure TFrm_Manifestacao_Destinatario.btn_Consulta_NFe_DestinadasClick( Sender: TObject); var CNPJ , IndNFe , IndEmi , ultNSU , Tem_Doctos : string; ok : boolean ; i , a : integer ; begin Grid_NFe.ClearRows ; CNPJ := FrmPrincipal.Cnpj_Autenticacao_Certificado_Digital ; case cbx_Indicador_NFe_Consultada.ItemIndex of 0 : IndNFe := '0' ; // 0 = Todas as NF-e 1 : IndNFe := '1' ; // 1 = Somente as NF-e que ainda não tiveram manifestação do destinatário // (Desconhecimento da operação, Operação não Realizada ou Confirmação da Operação) 2 : IndNFe := '2' ; // 2 = Idem anterior, incluindo as NF-e que também não tiveram a Ciência da Operação end ; case cbx_Indicador_Emissor.ItemIndex of 0 : IndEmi := '0' ; // 0 = Todos os Emitentes / Remetentes 1 : IndEmi := '1' ; // 1 = Somente as NF-e emitidas por emissores / remetentes que não tenham a mesma // raiz do CNPJ do destinatário (para excluir as notas fiscais de transferência entre filiais).*) end ; ultNSU := '0' ; Tem_Doctos := 'S' ; while Tem_Doctos = 'S' do begin Tem_Doctos := 'N' ; FrmPrincipal.ACBrNFe1.NotasFiscais.Clear ; FrmPrincipal.ACBrNFe1.EventoNFe.Evento.Clear ; FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Clear ; try FrmPrincipal.ACBrNFe1.ConsultaNFeDest(CNPJ, StrToIndicadorNFe(ok,indNFe), StrToIndicadorEmissor(ok,IndEmi), UltNSu) ; except end ; case FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.indCont of icNaoPossuiMaisDocumentos : Tem_Doctos := 'N' ; icPossuiMaisDocumentos : Tem_Doctos := 'S' ; end; ultNSU := FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ultNSU ; // Retorno de NFe Destinadas for i := 0 to FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Count -1 do begin if Trim(FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.chNFe) <> '' then begin Grid_NFe.AddCells([ 'False' , '' , FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.xNome , FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.chNFe , FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.CNPJCPF , VarToStr(FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.vNF) , FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.IE , DateToStr(FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.dEmi) , VarToStr(FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.tpNF) , VarToStr(FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.cSitNFe) , VarToStr(FrmPrincipal.AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.cSitConf) ]); end ; end ; // Retorno de NFe Destinadas Grid_NFe.ApplyEditing ; FrmPrincipal.ACBrNFe1.NotasFiscais.Clear ; FrmPrincipal.ACBrNFe1.EventoNFe.Evento.Clear ; end ; for i := 0 to Grid_NFe.RowCount -1 do begin if Grid_NFe.CellByName['NFe_C_Sit_Conf',i].AsInteger = 0 then begin for a := 0 to Grid_NFe.Columns.Count -1 do Grid_NFe.Cell[a,i].Color := clAqua ; end ; if Grid_NFe.CellByName['NFe_C_Sit_Conf',i].AsInteger = 1 then begin for a := 0 to Grid_NFe.Columns.Count -1 do Grid_NFe.Cell[a,i].Color := clLime ; end ; if Grid_NFe.CellByName['NFe_C_Sit_Conf',i].AsInteger = 2 then begin for a := 0 to Grid_NFe.Columns.Count -1 do Grid_NFe.Cell[a,i].Color := clFuchsia ; end ; if Grid_NFe.CellByName['NFe_C_Sit_Conf',i].AsInteger = 3 then begin for a := 0 to Grid_NFe.Columns.Count -1 do Grid_NFe.Cell[a,i].Color := clYellow ; end ; if Grid_NFe.CellByName['NFe_C_Sit_Conf',i].AsInteger = 4 then begin for a := 0 to Grid_NFe.Columns.Count -1 do Grid_NFe.Cell[a,i].Color := clBlue ; end ; end ; end;
  14. Paulinho , visto que parece que nunca ninguem do forum ja utilizou emulador de balança como eu tbm nunca utilizei , vai então uma dica de tentativa se vc ja não tentou assim : 1º - Vc vai criar um cabo no padrão daquele que eu coloquei acima . 2º - Vc vai precisar de 2 portas seriais no seu computador. (Exemplo COM1 e COM2) . 3º - Conecte o cabo serial (Exemplo : na COM1 e COM2 do seu computador) . 4º - Existe um emulador de balança na pasta \Projetos\EmuladorBalanca\Delphi , vc vai executa-lo em exemplo na COM1 e deixa-lo executando . 5º - Execute o Demo do ACBrBal e ative ele na COM2 , ja que o Emulador esta ativado na COM1 , assim vão ficar sincronizados o (Emulador na COM1 e ACBrBal na COM2 atravéz do cabo que vc fez) . Obs : Ative o ACBrBal com o Modelo Filizola , teste as diversas configurações de velocidade de porta , 2400... Os Emuladores do ECF Sweda mais antigos eram assim , não sei o atual mas vc utilizava assim , tinha que se fazer um cabo serial e o Emulador executava em uma porta e a AC em outra porta , assim o cabo sincronizava a AC ao Emulador , entende ? Boa sorte , espero que funcione !
  15. Marcelão , atualizei ontem o componente e descobri porque no meu sistema ele não da este pau , vou explicar : Tenho alguns Clientes que utilizam mais de um Certificado no mesmo Sistema , ou seja , filiais , Certo ? No caso utilizo um cadastro do emitente e cadastro o Numero de Série do Certificado Digital porque todas as vezes que vai fazer algo no Sistema , CCe , CAn , NFe ... etc... o usuario tem que selecionar o Certificado do emitente que vai executar que esta no BD , só que consegue mostrar somente os Emitentes que o sistema consegue enchergar o Certificado ativo na maquina , vou colocar uma imagem e o trecho de código que alimento no grid todas as vezes que vai fazer algo no sistema : Trecho de código que lista os certificados dando o get pra ver se o Certificado esta ativo (OnShow do Form) : Lista com Try Except !!! procedure TFrmSelecao_Certificado_Emitente.FormShow(Sender: TObject); var QryEmitentes : TQuery ; Dt_Validade : String ; begin GridEmitentes.ClearRows ; QryEmitentes := TQuery.Create(self); QryEmitentes.DatabaseName := 'ComplusNFe' ; QryEmitentes.Close ; QryEmitentes.SQL.Clear ; QryEmitentes.SQL.Add('Select * From CADASTRO_EMITENTES') ; QryEmitentes.Prepare ; QryEmitentes.Open ; while not QryEmitentes.Eof do begin try FrmPrincipal.ACBrNFe1.Configuracoes.Certificados.NumeroSerie := Trim(QryEmitentes.FieldByName('NUM_SERIE_CERT_DIGITAL').AsString) ; FrmPrincipal.ACBrNFe1.Configuracoes.Certificados.GetCertificado ; Dt_Validade := DateToStr(FrmPrincipal.ACBrNFe1.Configuracoes.Certificados.DataVenc); GridEmitentes.AddCells([ QryEmitentes.FieldByName('CNPJ').AsString , QryEmitentes.FieldByName('RAZAO_SOCIAL').AsString , QryEmitentes.FieldByName('NUM_SERIE_CERT_DIGITAL').AsString , Dt_Validade ]); except end ; QryEmitentes.Next ; end ; GridEmitentes.ApplyEditing ; QryEmitentes.Free ; if GridEmitentes.RowCount > 0 then GridEmitentes.SelectFirstRow ; end; Consegui ser claro ?
  16. É sim Juliomar , i outra , como ele esta sem balança fisica , tem que ver como é feito esta Emulação , como disse , para balança nunca utilizei Simuladores , somente o Dispositivo fisico mesmo , pedimos aos colegas que utilizaram Simuladores dar uma força pro amigo de como se configura isso tudo "Para Simulador" pra poder utilzar com o ACBrBal !!!
  17. Entendi Xara , na verdade não atualizei ainda a versão no mes de Dezembro , estarei atualizando por esses dias e posto o feedback aqui !
  18. Juliomar boa tarde , oque acontece é que ele esta recebendo no Demo do ACBrBal de retorno da função LePeso o erro acima indicado = não implementada em: Não definida. , para Filizola não tem dado este erro , entende ? ele disse que não esta utilizando uma balança fisica , neste caso ele estaria utilizando um Simulador da Filizola , mas no momento oque se entende é que ele quer primeiro fazer funcionar o Demo e depois sim implementar a AC dele .
  19. Vc esta utilizando Simulador pra testar , não é ? Nunca utilizei simulador para testar Balança , por conhecidencia esta semana informatizamos um Mercadinho com 3 PDV's , eram os 3 PDV's com a Filizola CS-15 Bat. , e foi Tranquilo , a unica coisa que se teve que alterar em relação as Configurações Defaut do Demo foi o BaudRate que ficou = 2400 o resto ficou tudo igual , até liguei na Filizola e pedi a configuração dos DB9 , antes só tinhamos clientes com BP-15 , acredito que o cabo serial era o mesmo , mas por vias duvidas , né ? Estou postando o esquema de montagem do cabo serial , pode ser útil pros colegas que precisarem de bate pronto , Filizola CS-15 Bat. !
  20. Paulinho , vc ja testou com o Demo do ACBrBal ? Com qual Marca e Modelo de balança vc esta testando ?
  21. Isso mesmo , utilizo um timer só pro modo (Automatico) onde aguardo um tempinho pra disparar o código de leitura , sei que no ACBrBal existe o MonitorBalanca mas nunca utilizei por isso mesmo ele fica pegando o peso quando eu não quero que pegue na AC !
  22. Cleber , na minha AC tenho os 2 formatos (Automatico e Manual) mas prefiro deixar manual porque no automatico gera mais um timer na AC que fica lendo a porta da balança a todo tempo gerando código desnecessario na AC , correto ? mas é questão de pura opção mesmo , tenho clientes que quer manual outros automatico ! configuramos o sistema de acordo com o gosto do Cliente e os mesmos estão felizes assim , kkk ! ...Cleber , do dedo colocado na balança não é problema , porque vc só mostra o peso quando o mesmo esta estavel e não em modo oscilante , ou seja , existe uma fração de segundos onde vc pega o peso e realmente mostra , entende ?
  23. Ricardo , se me permite uma dica : 1 - Essa rotina LerConfiguracao dos parametros do seu ini ou banco de dados , coloque-a no OnShow do formulario onde encontra-se o ACBrNFe , porque seu aplicativo a cada impressão de danfe faz chamadas todas as vezes que se imprime um Danfe duplicando a rotina desnecessariamente , essa rotina é carregada nescessariamente somente uma vez ao componente quando o aplicativo ou formulario se inicia ! 2 - Não atualizei meus fontes por esses dias , vc usa Capicom ? se sim , tenta assim para ver se resolve o problema do Certificado : ACBrNFe1.Configuracoes.Certificados.NumeroSerie := edtNumSerie.Text; ACBrNFe1.Configuracoes.Certificados.GetCertificado ; ...acredito que os caras não mudaram isso , se não resolver , veja se o Certificado aparece na guia Pessoal de Conteudo do Internet Explorer !
  24. Paulinho , existem duas formas de vc implementar isso : 1 - Modo Automatico , quando alguem coloca algo na balança , a mesma ja retorna o peso no campo do seu programa , o usuario digita o código do produto ! 2 - Modo Manual como vc disse !! , eu particularmente utilizo manual , o usuario tecla uma determinada tecla e chama o peso , do mesmo jeito que o automatico só que tem que chamar o método . ...vc pode ter as duas formas parametrizando sua AC ! exemplo de como fica o resultado na sua AC após a leitura do peso pelo ACBrBal , exemplo de 2 kilos : 2,000X ...o usuario digita o código e tecla Enter ! obs: O 'X' multiplicador vc implementa anexando após o retorno do peso do ACBrBal !
×
×
  • 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.