Ir para conteúdo
  • Cadastre-se

vca_rj

Membros
  • Total de ítens

    168
  • Registro em

  • Última visita

Tudo que vca_rj postou

  1. vca_rj

    Dúvida Sobre Pv

    Olá pessoal! Estou desenvolvendo dois aplicativos o Frente e o Retaguarda. Sou obrigado a colocar para funcionar a PV no Frente, mesmo tendo PV no Retaguarda? A pergunta pode parecer estranha. Posso fazer PV no Frente quando ligado ao ECF? Caso a resposta seja sim, poderiam me dar um exemplo de como configurar quando usar a PV no Frente ligado ao ECF. Ou seja, crio um menu para venda e outro para PV e o operador de caixa escolhe? Ou preciso criar algum tipo de verificação para identificar quando pode e quando não pode usar a PV? Agradeço desde já qualquer ajuda.
  2. Olá passei um aperto nesse aspecto. Mas conversando com alguns colegas cheguei a conclusão: Estou usando da seguinte forma: Obs.: No cadastro de produtos criei uma opção para informar se o produto faz parte do programa Farmácia Popular e se "SIM" informar a "Apresentação" que é um campo onde informa a quantidade comercializada pelo MS. Dessa forma não preciso criar uma tabela de preços à parte. A criação dessa tabela seria inviável, pois para fazer a venda pelo FPop. é preciso buscar a informação no Servidor do MS, dados que podem mudar conforme a decisão deles. 1. Faço uma pré venda normal em uma tela específica que eu criei para o Farmácia Popular. Ao finalizar essa pré venda, SOLICITO a "Pré Autorização" que irá verificar possíveis erros, os dados do solicitante e os medicamentos que está sendo solicitado e nos retornar se pode ou não ser vendido. 2. Passando pela Pré Autorização, mando gravar os TODOS os dados NECESSÁRIOS no DB como se fosse uma pré venda normal, apenas identificando que a pré venda trata-se de uma pré venda FarmPop "e os dados retornados pela solicitação". (Criei um campo no BD onde ficam as PV para informar isso). 3. Lá no caixa, existe a opção de importar pré venda onde é aberto um grid com todas as pré vendas em aberto. As que são do programa/convênio FarmPop. ficam na cor verde. A rotina é a mesma da do fechamento de uma pré venda normal. Como foi Aprovado a Solicitação, assim que seleciono a PV FarmaPop Segue a rotina abaixo: Se PV_tipo = 'fpopular' EXECUTA Pre Autorizacao Abre Cupom Fiscal Vende itens da pré-venda selecionada Grava pagamento Farmácia Popular Se PV_tipo = 'fpopular' Efetuar Pagamento FPopular(Valor_Total_MS, Cliente_CPFCNPJ, Cliente_Nome, Data); Abre tela de pagamento Fecha Cupom Imprime Cupom Vinculado (Retornado no momento que e EXECUTADO a Pré Autorização) Espero ter ajudado.
  3. Obrigado pessoal, acho que já entendi. No R03 campo 07 entra o codigo da alíquota conforma informado na tabela e no campo 08 entra o valor (totalizador) da respectiva alíquota. Por favor, alguém me corrija se eu estiver errado. Darei como resolvido no final da tarde, se não haver respostas.
  4. Continuando com o mesmo tópico, mas com uma dúvida, pois as demais consegui resolver: No Registro Tipo R03 tem um campo 08 - Valor Acumulado (Valor acumulado no totalizador, relativo à respectiva Redução Z, com duas casas decimais.). Qual informação eu coloco aqui? São todos os totalizadores? Agradeço desde já qualquer ajuda
  5. Muito obrigado, resolvido.
  6. Não consegui não, pois se o arquivo auxiliar estiver corrompido e eu tentar abrir ele, o componente gera o exeption com a mensagem de erro. Por favor, veja o que eu estou fazendo de errado, sei que deve esta muito ocupado, é que passei o dia de ontem tentando fazer funcionar e não consegui. Estou executando a function abaixo, no onShow, antes de ativar o ecf, pois se eu colocar depois de ativar e o arquivo estiver corrompido, por exemplo, é gerado o exption pelo componente. function VerificacoesIniciaisPAFECF: Boolean; begin Result := True; // Verificar se existe Arquivo Auxiliar if not FileExists(getPathArquivoAuxiliar) then begin Application.MessageBox(' Arquivo Auxíliar não encontrado!'+#13+ 'As funcionalidades que envolvem o ECF não estarão disponíveis.','Atenção',MB_ICONWARNING + MB_OK); Result := False; end else begin try frm_principal.ACBrAAC.NomeArquivoAux := getPathArquivoAuxiliar; frm_principal.ACBrAAC.AbrirArquivo; except raise; Result := False; end; end; // Verifica se Arquivo Auxiliar está inválido ou corrompido if frm_principal.ACBrAAC.ArquivoInvalido then begin Application.MessageBox(PChar('Arquivo: ' + frm_principal.ACBrAAC.NomeArquivoAux + ' inválido ou corrompido!'),'Atenção',MB_ICONWARNING + MB_OK); Result := False; end else begin try // Atualiza arquivo Executaveis.txt AtualizarArquivoExecutaveisTXT; //é uma procedure except Result := False; end; end; end;
  7. Consegui identificar o erro. Corrija-me se eu estiver errado: preciso abrir o arquivo auxiliar antes. 1. Verifico se o Arquivo Auxiliar Existe; -> Se existir, dou o comando para abrir; 2. Verifico se o Arquivo Auxiliar é válido; 3. Atualizo arquivo Executaveis.txt (arquivo que contém a lista dos executáveis e seus respectivos MD5). Funcionou dessa forma. (Obrigado)
  8. Olá Isaque... Estou utilizando o comando que você me passou, mas está sempre retornando TRUE, mesmo o arquivo estando correto! Quando eu provoco um erro no arquivo auxiliar, excluindo alguma informação, é mostrado a mensagem abaixo em seguida o componente me retorna um erro, "Arquivo Auxiliar inválido". Até ai tudo bem. Mas quando coloco o arquivo sem problemas, é mostrado somente a mensagem abaixo, quando não era para mostrar nada. Estou fazendo da seguinte forma: 1. Verifico se o Arquivo Auxiliar Existe; 2. Verifico se o Arquivo Auxiliar é válido; //Esá parando aqui 3. Atualizo arquivo Executaveis.txt (arquivo que contém a lista dos executáveis e seus respectivos MD5). 4. Ativar ECF; //Se tudo estiver OK. if ACBrAAC.ArquivoInvalido then begin Application.MessageBox(PChar('Arquivo: ' + ACBrAAC.NomeArquivoAux + ' inválido ou corrompido!','Atenção',MB_ICONWARNING + MB_OK); DesabilitarFuncoesECF := True; end;
  9. Olá... Estou sem saber onde faço o tratamento da exceção "Arquivo Inválido", no caso do arquivo auxiliar estiver corrompido. Pois não tem nenhum evento no componente AAC para isso, como o "VerificaRecomporValorGT", por exemplo. Dei uma olhada nos post's anteriores e encontrei somente falando que haviam criado uma exception, mas não sei como utiliza-la para atender o Requisito XXIV - item 8 (ER 2.02). Agradeço desde já qualquer ajuda.
  10. Obrigado Isaque. Deu certo, quando ao outro problema, fiquei fazendo testes até entender o que eu deveria fazer. Esta tudo OK.
  11. Olá... Dei uma olhada aqui no fórum e encontrei alguns tópicos a respeito da criação dos arquivos: Auxiliar e Lista dos Autenticados. Criei um aplicativo para fazer os testes, este aplicativo será o meu aplicativo configurador do PDV. Nele, estou tentando utilizar o AAC para criar o arquivo auxiliar, e deu tudo certo até agora. Vi que para criar o arquivo .txt que possui a relação dos arquivos executáveis e seus MD5 é utilizado o componente ACBrPAF ligado ao ACBrAAC. Vi isso no post . Quando tento seguir o exemplo do post acima, apresenta um erro (ArquivoAuxiliar.txt inválido) ao executar o comando: ACBrPAF.SaveFileTXT_N('Executaveis.txt'); O que estou fazendo de errado? O que devo fazer para criar corretamente o ArquivoAuxiliar e o Arquivo que contém a lista dos executáveis e seus MD5? AGRADEÇO DESDE JÁ QUALQUER AJUDA... Segue abaixo o código completo que estou utilizando para isso: try if FileExists(getPathArquivoAuxiliar) then DeleteFile(GetPathArquivoAuxiliar); AssignFile(F, GetPathArquivoAuxiliar); Rewrite(F); closefile(F); // setar o diretório onde vai ser salvo o arquivo ACBrPAF.Path := ExtractFilePath(ParamStr(0)); ACBrAAC.NomeArquivoAux := GetPathArquivoAuxiliar; ACBrAAC.IdentPAF.Empresa.RazaoSocial := edtRazaoSocial.Text; ACBrAAC.IdentPAF.Empresa.CNPJ := edtCNPJ.Text; ACBrAAC.IdentPAF.Empresa.IE := edtInscEstadual.Text; ACBrAAC.IdentPAF.Empresa.IM := edtInscMunicipal.Text; ACBrAAC.IdentPAF.Empresa.Cep := edtCEP.Text; ACBrAAC.IdentPAF.Empresa.Cidade := edtCidade.Text; ACBrAAC.IdentPAF.Empresa.Uf := edtUF.Text; ACBrAAC.IdentPAF.Empresa.Telefone := edtTelefone.Text; ACBrAAC.IdentPAF.Empresa.Email := edtEmail.Text; ACBrAAC.IdentPAF.NumeroLaudo := edtLaudo.Text; ACBrAAC.IdentPAF.VersaoER := '2.01'; ACBrAAC.IdentPAF.Paf.Nome := edtNomePAF.Text; ACBrAAC.IdentPAF.Paf.Versao := edtVersaoPAF.Text; ACBrAAC.IdentPAF.Paf.PrincipalExe.Nome := edtExecutavel.Text; ACBrAAC.IdentPAF.Paf.PrincipalExe.MD5 := edtExecutavelMD5.Text; ACBrAAC.IdentPAF.Paf.Linguagem := edtLinguagem.Text; ACBrAAC.IdentPAF.Paf.BancoDados := edtBancoDados.Text; ACBrAAC.IdentPAF.Paf.SistemaOperacional := edtSistemaOperacional.Text; //funcionalidades ACBrAAC.IdentPAF.Paf.TipoFuncionamento := TACBrPAFTipoFuncionamento(cbxTipoFuncionamento.ItemIndex); ACBrAAC.IdentPAF.Paf.TipoDesenvolvimento := TACBrPAFTipoDesenvolvimento(cbxTipoDesenvolvimento.ItemIndex); ACBrAAC.IdentPAF.Paf.IntegracaoPAFECF := TACBrPAFTipoIntegracao(cbxTipoIntegracao.ItemIndex); // lista dos arquivo executaveis e seus respectivos MD5 with ACBrAAC.IdentPAF.OutrosArquivos.New do //Aqui só está pegando e processando o ultimo nome (easyconfigurador.exe) begin Nome := 'easyecf.exe'; Nome := 'easyconfigurador.exe'; end; // Salvar o arquivo de autenticados ACBrPAF.SaveFileTXT_N('Executaveis.txt'); //Aqui apresenta o erro: ArquivoAuxiliar.txt inválido. ACBrAAC.IdentPAF.ArquivoListaAutenticados.Nome := 'Executaveis.txt'; ACBrAAC.IdentPAF.ArquivoListaAutenticados.MD5 := ACBrEAD.MD5FromFile(ExtractFilePath(ParamStr(0)) + 'Executaveis.txt'); //parametros de nao concomitancia ... // aplicações especiais ... //posto ... // transporte de passageiros ... //criterios por uf ... // ECFS Autorizados para uso ... ACBrAAC.SalvarArquivo; MessageDlg('Arquivo auxiliar salvo com sucesso!', mtWarning, [mbOK], 0); CarregarArquivoAuxiliar; except on E: Exception do begin ShowMessage('Ocorreu o seguinte erro:' + sLineBreak + E.Message); end; end;
  12. Obrigado, mesmo.
  13. EMBarbosa, Desculpe se ofendi, não foi minha intenção. Sou marinheiro de primeira viagem no PAF-ECF e muitas vezes me sinto um cego no meio de um tiroteio. E quem me socorre são vocês aqui no fórum. Mais uma vez me desculpe, e agradeço sua resposta.
  14. Quando eu estava fazendo a verificação manual do Num.Serie e do GT eu criei uma rotina para isso, e a cada evento especifico do ACBrECF ele era executado. Eu alterei o Num.Serie para verificar se esta funcionando com o ACBrAAC, e não aconteceu nada. Então eu não estou entendendo quando você me diz que é só ligar ele ao ACBrECF. Inclusive no exemplo não vem mostrando muita coisa, somente como alimentar e recuperar os dados! Como por exemplo, o que deve ser executado para ele fazer a verificação no momento da inicialização da aplicação? Tem algum comando para ativar o ACBrAAC? Só ligar ao componente ACBeECF não está funcionando!
  15. Olá pessoal! Quero implementar o componente ACBrAAC para atender os Requisitos e estou meio perdido. Existe dois eventos "VerificaReconporNumSerie" e "VerificaReconporValorGT". Como devo utilizar-los? No exemplo não tem explicando. Como faço para ele verificar e corrigir se for o caso o Número do Série e o Valor GT?
  16. Olá, não sei se ajuda, mas para utilizar via USB a velocidade da porta é 115200. Testa aí.
  17. Me desculpe pela violação das regras. Não havia lido. Obrigado pela ajuda
  18. Ok. Aproveitando o post, ao alimentar o componente ACBrAAC estou gravando a lista dos arquivos autenticados, o nome dos demais arquivos que executam funções a que se refere a alínea “a” do item 1 do Requisito XI e os respectivos códigos MD-5, da seguinte forma: for ct := 0 to ListaMD5.Items.Count-1 do begin ACBrAAC.IdentPAF.OutrosArquivos.New.Nome := COPY(ListaMD5.Items[ct],1,POS(' ',ListaMD5.Items[ct])-1); ACBrAAC.IdentPAF.OutrosArquivos.New.MD5 := COPY(ListaMD5.Items[ct],POS(' ',ListaMD5.Items[ct])+1,LENGTH(ListaMD5.Items[ct])); end; Onde ListaMD5 é um ListBox com o nome e MD5 dos arquivos. O problema é que não consigo recuperar esses dados do componente. Poderia me orientar onde e como eu alimento o componente ACBrAAC referente ao nome e md5 dos arquivos da lista?
  19. É só eu alimentar o componente ACBrAAC e passá-lo como parâmetro como no exemplo? CBrECF1.PafMF_RelParametrosConfiguracao(ACBrECF1.AAC.IdentPAF.Paf)
  20. Vou olhar.. vou deixar o post aberto por enquanto.
  21. Olá pessoal! Estou revisando meu aplicativo e colocando-o nas normas exigidas. Estou vendo que algumas coisas mudaram no menu fiscal e estou sem entender os itens 15 e 17 do requisito VII: 15. Parâmetros de Configuração: para emitir Relatório Gerencial pelo ECF contendo a configuração programada no PAF-ECF em execução, do Perfil de Requisitos, a que se refere o art. 4º deste ato, adotado pela unidade federada. --> Tenho que criar um menu "Parâmetros de Configuração"???? E o que isso faz? 7. “Registros do PAF-ECF”: para gerar arquivo eletrônico contendo as informações previstas no leiaute estabelecido no Anexo IV, devendo o programa aplicativo informar o local da gravação e assiná-lo digitalmente por meio do Registro tipo EAD especificado no requisito XXXI, com possibilidade de seleção: a) para as informações relativas ao estoque: “ESTOQUE TOTAL” para gerar registros relativos a todas as mercadorias cadastradas na Tabela de Mercadorias e Serviços prevista no Requisito XIII e “ESTOQUE PARCIAL” para gerar registros relativos somente a uma ou mais mercadorias informadas pelo código ou pela descrição. para as demais informações: por período de data. --> Tenho que criar um menu "Registros do PAF-ECF"? E a opção estoque??? Agradeço desde já qualquer ajuda...
  22. Encontrei o caminho... Obrigado
  23. Olá pessoal! Estou alimentando o componente ACBrAAc e não sei se estou fazendo correto, vejam: ACBrAAC.IdentPAF.Paf.Nome := edtNomePAF.Text; ACBrAAC.IdentPAF.NumeroLaudo := edtLaudo.Text; ACBrAAC.IdentPAF.Paf.Versao := edtVersaoPAF.Text; ACBrAAC.IdentPAF.Paf.PrincipalExe.Nome := edtExecutavel.Text; ACBrAAC.IdentPAF.Paf.PrincipalExe.MD5 := edtMD5Executavel.Text; for ct := 0 to ListaMD5.Items.Count - 1 do begin ACBrAAC.IdentPAF.ArquivoListaAutenticados.Nome := COPY(ListaMD5.Items[ct],1,POS(' ',ListaMD5.Items[ct])-1); ACBrAAC.IdentPAF.ArquivoListaAutenticados.MD5 := COPY(ListaMD5.Items[ct],POS(' ',ListaMD5.Items[ct])+1,LENGTH(ListaMD5.Items[ct])); end; ACBrAAC.IdentPAF.OutrosArquivos.New.Nome := 'ListaMD5.txt'; ACBrAAC.IdentPAF.OutrosArquivos.New.MD5 := edtMD5ListaMD5.Text; Nas duas últimas linhas, estou gravando o nome do arquivo que contém a lista dos arquivos autenticados e em seguida o campo que contém o MD5 desse arquivo, que será utilizado no cupom fiscal. Estou gravando isso no lugar certo??? Agradeço desde já qualquer ajuda...
  24. Olá Pessoal! Gostaria somente de tirar uma dúvida. Ao gerar os arquivos que necessitam ser assinados com EAD, o componente PAF + EAD faz a assinatura desses arquivos automaticamente ou tenho que implementar a assinatura deles??? Agradeço desde já qualquer ajuda...
  25. Olá pessoal! Desculpe minha ignorância, mas pra que serve "Calcular chave pública"? Tem alguma finalidade no PAF?
×
×
  • 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.

The popup will be closed in 10 segundos...