
vca_rj
Membros-
Total de ítens
168 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que vca_rj postou
-
E o que acontece com as pré vendas que originou a nova??? Emite o cupom delas e depois cancela?
-
Correção Na Função Buscarecf No Acbrcniee
vca_rj replied to vca_rj's tópico in Dúvidas Gerais sobre o ACBr
É só manter, e teremos um código 100% eficiente, pois da forma atual ele só retira os espaços das variáveis passada pelo ECF. Daí aconteceu de alguns valores da tabela CNIEE serem diferentes. Poderíamos deixar dessa forma, respeitando o parâmetro RemoverEspacos: ... Result := nil; for I := 0 to Cadastros.Count - 1 do begin Marca := AnsiUpperCase(AMarca); Modelo := AnsiUpperCase(AModelo); VersaoSB := AnsiUpperCase(ACBrUtil.OnlyNumber(AVersaoSB)); MarcaAtual := AnsiUpperCase(Cadastros[I].DescrMarca); ModeloAtual := AnsiUpperCase(Cadastros[I].DescrModelo); VersaoAtual := AnsiUpperCase(ACBrUtil.OnlyNumber(Cadastros[I].Versao)); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then begin Result := Cadastros[I]; Exit; end; //Se não foi encontrado faz uma nova busca retirando os espaços if RemoverEspacos then begin Marca := StringReplace(Marca, ' ', '', [rfReplaceAll]); Modelo := StringReplace(Modelo, ' ', '', [rfReplaceAll]); VersaoSB := StringReplace(VersaoSB, ' ', '', [rfReplaceAll]); MarcaAtual := StringReplace(MarcaAtual, ' ', '', [rfReplaceAll]); ModeloAtual := StringReplace(ModeloAtual, ' ', '', [rfReplaceAll]); VersaoAtual := StringReplace(VersaoAtual, ' ', '', [rfReplaceAll]); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then begin Result := Cadastros[I]; Exit; end; end; end; -
Correção Na Função Buscarecf No Acbrcniee
vca_rj replied to vca_rj's tópico in Dúvidas Gerais sobre o ACBr
Desculpe Daniel, não quero ser chato, mas onde está a incompatibilidade? Pois não gostaria de ficar com os fontes diferentes do ACBrCNIEE! Existe outra forma de fazer a busca do CNIEE eliminando os espaços das strings das variáveis? -
Correção Na Função Buscarecf No Acbrcniee
vca_rj replied to vca_rj's tópico in Dúvidas Gerais sobre o ACBr
Não. No tópico anterior, a alteração feita foi para as variáveis de entrada na função, passada pelo ECF, somente. A alteração que precisei fazer é que além de retirar os espaços das vaiáveis passadas pelo ECF, foi preciso retirar também das variáveis retornadas da tabela CNIEE. Assim, se você der uma olhada no código que eu postei, verá que está sendo feita duas consultas, uma com com as variáveis em seu estado normal e outra retirando os espaços das strings das variáveis. O código anterior (após a alteração solicitada no post anterior): E dentro da função "TACBrCNIEE.BuscarECF", coloquei o seguinte código: ... Marca := AnsiUpperCase(AMarca); Modelo := AnsiUpperCase(AModelo); VersaoSB := AnsiUpperCase(ACBrUtil.OnlyNumber(AVersaoSB)); Result := nil; for I := 0 to Cadastros.Count - 1 do begin MarcaAtual := AnsiUpperCase(Cadastros[I].DescrMarca); ModeloAtual := AnsiUpperCase(Cadastros[I].DescrModelo); VersaoAtual := AnsiUpperCase(ACBrUtil.OnlyNumber(Cadastros[I].Versao)); //Retirar Espaços MarcaAtual := StringReplace(MarcaAtual,' ','', [rfReplaceAll]); ModeloAtual := StringReplace(ModeloAtual,' ','', [rfReplaceAll]); VersaoAtual := StringReplace(VersaoAtual,' ','', [rfReplaceAll]); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then Código com alteração da qual estou falando: //faz a busca sem alterar os valores das variáveis (sem retirar os espaços) Marca := AnsiUpperCase(AMarca); Modelo := AnsiUpperCase(AModelo); VersaoSB := AnsiUpperCase(ACBrUtil.OnlyNumber(AVersaoSB)); MarcaAtual := AnsiUpperCase(Cadastros[I].DescrMarca); ModeloAtual := AnsiUpperCase(Cadastros[I].DescrModelo); VersaoAtual := AnsiUpperCase(ACBrUtil.OnlyNumber(Cadastros[I].Versao)); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then begin Result := Cadastros[I]; Exit; end; //Se não foi encontrado na busca acima // faz uma nova busca retirando os espaços Marca := StringReplace(Marca, ' ', '', [rfReplaceAll]); Modelo := StringReplace(Modelo, ' ', '', [rfReplaceAll]); VersaoSB := StringReplace(VersaoSB, ' ', '', [rfReplaceAll]); MarcaAtual := StringReplace(MarcaAtual, ' ', '', [rfReplaceAll]); ModeloAtual := StringReplace(ModeloAtual, ' ', '', [rfReplaceAll]); VersaoAtual := StringReplace(VersaoAtual, ' ', '', [rfReplaceAll]); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then begin Result := Cadastros[I]; Exit; end; -
Correção Na Função Buscarecf No Acbrcniee
vca_rj replied to vca_rj's tópico in Dúvidas Gerais sobre o ACBr
Isso EMBarbosa Essa nova modificação simplifica o funcionamento da função sem a necessidade do usuário informar se quer ou não fazer a busca retirando os espaços. -
Correção Na Função Buscarecf No Acbrcniee
vca_rj replied to vca_rj's tópico in Dúvidas Gerais sobre o ACBr
Coloquei em meu configurador a função BuscaECF do CNIEE para me retornar o tipo da ECF e o CNIEE. Quando eu testei com a ECF de teste (Daruma MACH 2) o modelo informado na tabela CNIEE é "MACH 2" e a ECF estava me retornando "MACH2". Essa foi a primeira alteração que pedi para vocês, que aderiram a essa alteração. Ontem precisei fazer um teste com o Simulador da Epson T81. Dessa vez o Simulador esta me retornando o modelo "TM-T81 FBII" e na tabela está "TM-T81FBII". Então eu modifiquei para que fosse feita duas verificações: uma de forma normal sem retirar os espaços e a outra retirando os espaços dos valores enviados para função, tanto das variáveis alimentadas por nós como também das variáveis alimentadas pela tabela CNIEE. Dessa forma elimina as divergências dos valores entre ECF e Tabela CNIEE por conta dos espaços. -
Correção Na Função Buscarecf No Acbrcniee
um tópico no fórum postou vca_rj Dúvidas Gerais sobre o ACBr
Olá pessoal! Um tempo atrás pedi para que pudessem alterar o fonte do BuscarECF no CNIEE, porque minha ECF de testes (Daruma MACH2) estava retornado o modelo sem espaços. Mas agora tive um outro problema ao tentar usar o simulador da EpsonT81. Então eu fiz uma pequena alteração no fonte para poder resolver o problema. Assim não precisaremos nos preocupar em informar para retirar ou não os espaços das strings das variáveis para realizar a busca. Rodei aqui e funcionou perfeitamente, e não teve problema nenhum com relação a compatibilidade. Abraços a toda equipe desenvolvedora do ACBr. Espero ter ajudado. function TACBrCNIEE.BuscarECF(const AMarca, AModelo, AVersaoSB: String): TACBrCNIEERegistro; var I: Integer; Marca, Modelo, VersaoSB: String; MarcaAtual, ModeloAtual, VersaoAtual: String; begin // abrir a tabela se estiver fechada if Cadastros.Count <= 0 then begin if not Self.AbrirTabela then raise EACBrCNIEE.Create('Não foi possível abrir a tabela de CNIEE.'); end; Result := nil; for I := 0 to Cadastros.Count - 1 do begin Marca := AnsiUpperCase(AMarca); Modelo := AnsiUpperCase(AModelo); VersaoSB := AnsiUpperCase(ACBrUtil.OnlyNumber(AVersaoSB)); MarcaAtual := AnsiUpperCase(Cadastros[I].DescrMarca); ModeloAtual := AnsiUpperCase(Cadastros[I].DescrModelo); VersaoAtual := AnsiUpperCase(ACBrUtil.OnlyNumber(Cadastros[I].Versao)); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then begin Result := Cadastros[I]; Exit; end; //Se não foi encontrado faz uma nova busca retirando os espaços Marca := StringReplace(Marca, ' ', '', [rfReplaceAll]); Modelo := StringReplace(Modelo, ' ', '', [rfReplaceAll]); VersaoSB := StringReplace(VersaoSB, ' ', '', [rfReplaceAll]); MarcaAtual := StringReplace(MarcaAtual, ' ', '', [rfReplaceAll]); ModeloAtual := StringReplace(ModeloAtual, ' ', '', [rfReplaceAll]); VersaoAtual := StringReplace(VersaoAtual, ' ', '', [rfReplaceAll]); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then begin Result := Cadastros[I]; Exit; end; end; end; -
ACBR com Delphi7 e Delphi 2010 Mesma Máquina
vca_rj replied to Gilson-Prodabit-'s tópico in Dúvidas Gerais sobre o ACBr
Resolveu meu problema http://isaquesp.blogspot.com.br/2011/09/varias-versoes-do-delphi-instaladas-sem.html -
Obrigado pelo esclarecimento.
-
Olá pessoal! Estou com a ideia de homologar somente o meu frente. Então estou na dúvida se posso colocar outras opções no Menu Fiscal, como por exemplo a geração do Sintegra e do SPED. Agradeço desde já qualquer ajuda....
-
Opá pessoal, descobri o meu erro. Estava obtendo o valor da Redução Z, quando na verdade o correto é pegar da Ultima Redução Z.
-
Olá pessoal! Estou com um probleminha. Quando emito a Redução Z estou gravando os dados necessários para gerar os arquivos exigidos. Para eu pegar os totalizadores e as suas respectivas alíquotas estou fazendo da seguinte forma: //INICIO for i := 0 to RZ.TodasAliquotas.Count - 1 do begin totalizador := totalizador + '|' + FormatFloat('00', i+1 ) + RZ.TodasAliquotas.Tipo + IntToStrZero(Round(RZ.TodasAliquotas.Aliquota*100),4) + ';' + FormatFloat('0.00',RZ.TodasAliquotas.Total); end; totalizador := totalizador + '|F1;' + FormatFloat('0.00',frm_principal.ACBrECF.TotalSubstituicaoTributaria); totalizador := totalizador + '|I1;' + FormatFloat('0.00',frm_principal.ACBrECF.TotalIsencao); totalizador := totalizador + '|N1;' + FormatFloat('0.00',frm_principal.ACBrECF.TotalNaoTributado); totalizador := totalizador + '|FS1;' + FormatFloat('0.00',frm_principal.ACBrECF.TotalSubstituicaoTributariaISSQN); totalizador := totalizador + '|IS1;' + FormatFloat('0.00',frm_principal.ACBrECF.TotalIsencaoISSQN); totalizador := totalizador + '|NS1;' + FormatFloat('0.00',frm_principal.ACBrECF.TotalNaoTributadoISSQN); O problema é que o totalizador F1, veio zerado e na Redução Z está mostrando F1 = 36,22. Existe outra forma para obter os totalizadores, ou infelizmente terei de obter pelos itens do cupom (pelo cadastro do produto)? Agradeço desde já qualquer ajuda...
-
Obrigado Régys
-
No momento em que eu faço a venda de um produto eu guardo o codigo do totalizador parcial (xxTnnnn) na tabela de cupomItens para facilitar o preenchimento do R05. Quando for uma dessas alíquotas Eu armazeno manualmente acrescentando o valor (NN -> N1, FF -> F1, etc)?
-
Olá pessoal! Quando mando listar todas as alíquotas no ECFTeste é retornado a seguinte lista: Aliquota: 01 - 25 Tipo: T -> 0,00 Aliquota: 02 - 18 Tipo: T -> 0,00 Aliquota: 03 - 12 Tipo: T -> 0,00 Aliquota: 04 - 7 Tipo: T -> 0,00 Aliquota: 05 - 5 Tipo: T -> 0,00 Aliquota: 06 - 17 Tipo: T -> 0,00 Até ai, tudo bem. Mas tem aquelas alíquotas In, Fn, Nn, ..., que não aparece nessa lista acima. (Estou usando ECF Daruma MACH2). Fiz uma venda para testar uma delas no ECFTeste, testei o II, apareceu no cupom I1. A pergunta que não quer calar: Como faço para buscar essas alíquotas no ECF??? Agradeço desde já qualquer ajuda.
-
Olá Régys! O código foi adicionado ao projeto? Estou perguntando para saber se posso baixar via svn, sem me preocupar com a alteração no meu software. Abraços...
-
Obrigado pelo esclarecimento Régys.
-
Olá pessoal. Estou com uma dúvida, acho que é até boba, mas é melhor tirar essa dúvida do que fazer besteira. No R06 tem um campo "DENOMINAÇÂO" que é o simbolo referente à denominação do documento fiscal. No AtoCotepe é informado uma tabela que possui os símbolos, mas o que eu não vi foi o símbolo para o cancelamento de Cupom Fiscal. O registro de cancelamento de cupom fiscal, acredito, deve entrar no R06, porque possui símbolo do cancelamento não fiscal! Alguém poderia me tirar essa dúvida? Para esse caso, qual símbolo devo usar? Agradeço desde já qualquer ajuda.
-
Segue o fonte. Por favor, me avise sobre o que decidiu. Abraços. ACBrCNIEE.pas
-
Olá pessoal! Gostaria que vocês dessem uma olhada na função "TACBrCNIEE.BuscarECF". Bem, estou usando um ECF, Daruma MACH 2. Quando utilizo o "ACBrECF.SubModeloECF" para buscar o Modelo, é retornado "MACH2" e não "MACH 2", fazendo com que não seja encontrado na tabela. Para resolver isso, optei em retirar os espaços. No meu código eu utilizo assim: Marca := StringReplace(edtMarca.Text,' ','', [rfReplaceAll]); Modelo := StringReplace(edtModelo.Text, ' ','', [rfReplaceAll]); VersaoSB := StringReplace(edtVersaoSB.Text,' ','', [rfReplaceAll]); ... ECF := ACBrCNIEE.BuscarECF(Marca, Modelo, VersaoSB); E dentro da função "TACBrCNIEE.BuscarECF", coloquei o seguinte código: ... Marca := AnsiUpperCase(AMarca); Modelo := AnsiUpperCase(AModelo); VersaoSB := AnsiUpperCase(ACBrUtil.OnlyNumber(AVersaoSB)); Result := nil; for I := 0 to Cadastros.Count - 1 do begin MarcaAtual := AnsiUpperCase(Cadastros.DescrMarca); ModeloAtual := AnsiUpperCase(Cadastros.DescrModelo); VersaoAtual := AnsiUpperCase(ACBrUtil.OnlyNumber(Cadastros.Versao)); //Retirar Espaços MarcaAtual := StringReplace(MarcaAtual,' ','', [rfReplaceAll]); ModeloAtual := StringReplace(ModeloAtual,' ','', [rfReplaceAll]); VersaoAtual := StringReplace(VersaoAtual,' ','', [rfReplaceAll]); if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then ... Resolveu o meu problema. Vejam se é possível inserir isso no fonte. Abraços...
-
Pronto. Era isso mesmo. Obrigado Isaque.
-
Olá Pessoal... Estou fazendo os testes no menu fiscal e ao tentar gerar o arquivo LMFC Ato Cotepe não faz nada, e não gera o arquivo. Ao tentar pelo ACBrTeste, aparece a seguinte mensagem: Erro ao carregar a função: eCarregarBitmapPromocional_ECF_Daruma de: DarumaFrameWork.dll Estou usando uma ECF Daruma MACH2 e já coloquei os DLLs da pasta daruma, que vem no ACBr, lá no system32 e nada. Agradeço desde já qualquer ajuda.
-
Obrigado Clebe, fico agradecido pela sua ajuda.
-
Obrigado Cleber, só para esclarecer. //Roteiro de Análise Funcional de Programa Aplicativo Fiscal (PAF-ECF) 1.8 REQUISITO V TESTES (Aplicáveis no caso de programa aplicativo dotado de função que possibilite o registro de item somente na tela do monitor sem impressão de documento que descreva os itens registrados, não podendo esta função estar disponível no ponto de venda, exceto quando se tratar de mesclagem). O trecho acima é que esta me confundindo. O que estou entendendo é que não pode haver função de pré venda no caixa, pois, função que possibilite o registro de item somente na tela do monitor sem impressão de documento que descreva os itens registrados, entendo isso como pré venda, em seguida: não podendo esta função estar disponível no ponto de venda. Daí a minha dúvida em poder ou não ter um menu "Pré Venda" no Frente.