dantemartins
Membros-
Total de ítens
139 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que dantemartins postou
-
Qual seria a melhor forma de testar se já é possível mandar outro comando a impressora? Testar o estado seria satisfatório? Testar algumas vezes pra ter certeza ?
-
Devo entender que o meu problema é que estou chamando uma segunda vez a mesma função e não deveria faze-lo... é isso? Eu entendi que, para obter os valores da ultima redução Z deve-se chamar "DadosUltimaReducaoZ" e não "DadosReducaoZ" como estou fazendo, mais meu objetivo era ter uma leitura com os dados antes da redução e depois uma leitura depois, a que traz os dados zerados mesmo, como uma prova em TXT que o comando foi executado com sucesso. Dada a forma da ultima resposta eu poderia pensar que o fato de eu chamar uma segunda vez "DadosReducaoZ" estaria provocando o problema que eu estou tendo, mais se fosse isso, não explicaria a intermitencia do problema, pois não é sempre que acontece.
-
O meu problema é que chamo ACBrECF1.DadosReducaoZ para pegar os dados necessários para SINTEGRA e SPED, chamo uma rotina que insere numa tabela (firebird) e aproveito pra salvar num txt, chamo ACBrECF1.ReducaoZ e a impressora emite a Red Z de boa, na sequencia eu leio novamente ACBrECF1.DadosReducaoZ e gravo no txt, meio que como uma prova de que foi executada msm. Isso tudo ta dentro de um bloco try/except, se sair sem erros é chamado o commit pra gravar as informações no DB. Não da erro algum, nada aparece no log (txt) nem na tela da aplicação. Pro operador parece ter dado tudo certo, mais os dados não foram comitados no DB e a segunda parte do log, ou seja, a segunda vez que chamo ACBrECF1.DadosReducaoZ e gravo no txt simplesmente não aparece. Como já disse em post anterior, parece que durente o processo de execução da Red Z a procedure que a chamou é abortada... Uma informação que fiquei sabendo esses dias é que o Cliente usa um "adaptador usb" pra ligar a Impressora Fiscal e um PINPAD (TEF) na mesma porta... De longe fica muito difícil debugar, sou de Curitiba/PR e o Cliente está em Goiás
-
Acontece assim: 1 - No arquivo de log aparece as informações do primeiro ACBrECF1.DadosReducaoZ, portanto o metodo foi executado corretamente. 2 - É chamado o metodo ACBrECF1.ReducaoZ, pois o comando é executado na Impressora Fiscal. 3 - As veses grava e as vezes não no log a segunda chamada a ACBrECF1.DadosReducaoZ. É como se abortasse a execução da procedure logo após a chamada a ACBrECF1.ReducaoZ (vezes sim, vezes não).
-
Está dentro de um try/except.... não da erro algum, só não executa o restante da procedure... sinistro...
-
Acho que você não entendeu. O problema é que não é gravada a segunda parte, é como se após comandada a redução Z fosse abortada a procedure. E pior, não é sempre, pois tem vezes que tem as duas partes do log (antes e depois da red z).
-
Escrevi uma rotina pra logar as Reduções Z da seguinte forma: AssignFile(LogRedZ, ExtractFilePath(Application.ExeName) + '\Log\RedZ-' + FormatDateTime('yyyymmdd',gdtMovimento) + '.log'); Rewrite(LogRedZ); WriteLn(LogRedZ, ' <<>>>>>>> Dados da Redução ANTES da REDUÇÃO Z ser comandada <<<<<<<>>'); ACBrECF1.Ativar; Write(LogRedZ, ACBrECF1.DadosReducaoZ); WriteLn(LogRedZ, ''); WriteLn(LogRedZ, ''); WriteLn(LogRedZ, ' <<>>>>>>> Dados da Redução DEPOIS da REDUÇÃO Z ser comandada <<<<<<<>>'); ACBrECF1.ReducaoZ; Write(LogRedZ, ACBrECF1.DadosReducaoZ); CloseFile(LogRedZ); ACBrECF1.Desativar; Apenas em alguns logs aparece o "DEPOIS", e a Red. Z na impressora é feita normalmente...
-
Para usar essa propriedade "ExibirResumoCanhoto_Texto" tenho que carregar um unico XML no ACBrNFe e definir o texto do resumo para que ele saia impresso, correto? Se eu carregar 20 XML no componente não tenho como personalizar a informação pra cada DANFE, o texto definido para a primeira vai sair em todas. É assim mesmo? Nesse caso acho que o resumo deveria fazer parte da Classe TNFe ao invés de ser na DANFE, oque vcs acham ?
-
Não posso ajudar a resolver o problema, apenas dizer que vc não está só... em 2 clientes meus acontece o mesmo, e é no Win XP mesmo...
-
O problema esta no seguinte trecho do arquivo ACBrDANFEReveCBRetrato.pas, linha 98. vEnd:='Recebemos de '+Emit.XNome+' os produtos constantes da Nota Fiscal indicada ao lado'; if FontNameUsed = 'Courier New' then begin if Length(vEnd)>96 then begin vEnd:='Recebemos de '+Emit.XNome; PrintCenter(vEnd,PosX+(aWidthOutros/2)); NewLine; vEnd:='os produtos constantes da Nota Fiscal indicada ao lado'; PrintCenter(vEnd,PosX+(aWidthOutros/2)); end else begin PrintCenter(vEnd,PosX+(aWidthOutros/2)); NewLine; if ExibirResumoCanhoto then /<<<<<<<< begin if NotaUtil.EstaVazio(ExibirResumoCanhoto_Texto) then PrintCenter('Emissão: '+NotaUtil.FormatDate(DateToStr(Ide.DEmi))+' Dest/Reme: '+Dest.XNome+' Valor Total: '+NotaUtil.FormatFloat(Total.ICMSTot.VNF),PosX+(aWidthOutros/2)) else PrintCenter(ExibirResumoCanhoto_Texto,PosX+(aWidthOutros/2)); end; end; end
-
Problema é que o componente DANFERaveCB (retrato, não vi no paisagem) só imprime o resumo do canhoto no caso da frase "Emissão: 00/00/0000 Dest/Remet: XXXXXXXX XXXXXX XXXXXXXXXXX Valor Total: 0.000,00" não exceder 96 de comprimento. Se a Razão Social do emissor for muito longa, não vai imprimir... Isso é um bug ou uma proteção para o leiaute da DANFE.
-
Aliquota de ICMS aparecendo na DANFE Simples Nacional
um tópico no fórum postou dantemartins ACBrNFe
Na troca de NFe 1.10 pra 2.0 fiz uma modificação radical no sistema da empresa por conta dos novos campos para o Simples Nacional. Descobrimos na troca que muitos Clientes estavam usando de forma irregular as configurações de impostos sendo que eram optantes pelo Simples Nacional. Estou com um Cliente reclamando que não está imprimindo as aliquotas de ICMS na DANFE. Não sei se entendi errado, mais um optante pelo Simples Nacional não calcula, destaca ou recolhe ICMS da mesma forma que uma empresa com CRT = 3. Com excessão dos CSOSN 101, 201 e 900, nenhuma das TAG's de ICMS do simples nacional tem campo para aliquota de ICMS, que no caso é uma aliquota para Credito de ICMS para o Destinatário da NFe (é isso mesmo né?). Como antes de mudar pra 2.0 na base tinha cadastro das aliquotas, as mesmas eram passadas para o ACBrNFe e impressas na DANFE. Quando estou preenchendo os fields da NFe não valido se é necessário/permitido usar o campo Imposto.ICMS.pICMS e como na base do Cliente está preenchido, está sendo passado para o componente e consequentemente sendo impresso na DANFE. Como não é gravado na XML, não da problema na receita, mais caso tente reimprimir um DANFE, não vai sair como na primeira vez, pois a informação virá do XML não da base do sistema. Depois de toda essa história vem a pergunta: Está errado aparecer a aliquota do ICMS no DANFE para optante do Simples Nacional ? -
Ajuda com calculo complexo
dantemartins replied to dantemartins's tópico in Dúvidas Gerais sobre o ACBr
Não. Trata-se de um produto 060 (trib na fonte). Pra dentro do estado não é calculado nada. Qdo fatura pra fora do estado vira 010, ai tem que calcular icms proprio e ST. A BC do ST é obtida acrecentando o MVA ao valor da mercadoria. Os dados que tenho para fazer o calculo são os que informei no primeiro post. -
Ajuda com calculo complexo
dantemartins replied to dantemartins's tópico in Dúvidas Gerais sobre o ACBr
Gente, postei essa duvida aqui no forum pois imagino que muitos tem ou dão manutenção em sistemas que provavelmente teriam essa situação... To achando que por hora vou ter que reproduzir oq o "Atingir Meta" faz, ou seja, iterando com valores decrecentes até que chegue num valor igual ou proximo... -
Estou com uma equação pra resolver e não estou encontrando a solução... Me parece que existe uma maneira de chegar ao resultado usando matemática, só que não estou sabendo fazer. Preciso chegar ao preço da mercadoria sem os impostos, partindo do preço final. Dados do calculo (valores conhecidos): Valor Final: R$ 8,00 Aliq. ICMS proprio: 12% Aliq. ICMS ST: 18% MVA: 40% (margem de valor agregado) Usando o Calc (excel da Document Foundation) cheguei ao valor usando o "Atingir Meta", mais preciso implementar isso em meu sistema. O valor encontrado foi R$ 7,0671. R$ 7,0671 * 12% = R$ 0,8481 R$ 7,0671 * 140% = R$ 9,8939 * 18% = R$ 1,7809 R$ 1,7809 - R$ 0,8481 = R$ 0,9329 R$ 7,0671 + R$ 0,9329 = R$ 8,00 O operador digita o falor final no pedido e preciso calcular todos os valores beseado nos 4 paramentros informados. Alguem tem a solução pronta ou é bom em cálculo? To tentando aqui mais sem sucesso até agora. Vlw
-
Que bom pra você! Resolveu mais não explicou... não tentei isso... No meu caso sem usar a thread funcionava, dentro da thread dava pau.
-
Estou mandando assim: ACBrECF1.Suprimento(edVlrSuprimento.Value, 'SUPRIMENTO', 'SUPRIMENTO', edNmForma.Text); Onde "edVlrSuprimento" é um JvCalcEdit e sua property "Value" é do tipo "Extended" e "edNmForma" é um Edit e sua property "Text" está com a string "DINHEIRO", na hora que envio o comando.
-
Finalmente eu pude assistir ao teste com o ECFTeste e a pessoa do suporte não estava fazendo corretamente, até por falta minha, pois ela testava com o valor "150,00", e segundo nosso colega EMBarbosa, se colocar quebrado ele não iria funcionar. Todos os testes funcionaram, mais ainda segue a duvida com relação a não estar funcionando na minha aplicação. Esse teste me leva a pensar na formatação do numero... Segue o log (editado para diminuir, removido os zeros dos RX) -- 08:56:43 18/2/2011 Ativar TX -> [STX][4][0][28][19]/[0] 08:56:43 RX <- [0][0][0][0] -- 08:56:43 TX -> [STX][5][0][28]#)h[0] 08:56:44 RX <- [1][1][0][0][0][0][0] -- 08:56:44 TX -> [STX][5][0][28]#<{[0] 08:56:44 RX <- BEMATECH MP-2100 TH FI ECF-IF [0][0][0][0] -- 08:56:44 TX -> [STX][5][0][28]#(g[0] 08:56:44 RX <- BE050975600000040663[0][0][0][0] -- 08:56:44 Estado TX -> [STX][5][0][28]#[17]P[0] 08:56:44 RX <- [0][0][0][0][0] -- 08:56:44 TX -> [STX][5][0][28]#A[128][0] 08:56:44 RX <- [0][0][0][0][0] -- 08:56:44 TX -> [STX][5][0][28]#[ESC]Z[0] 08:56:44 RX <- [0][0][0][0][0][0][0] -- 08:56:44 Estado TX -> [STX][5][0][28]#[17]P[0] 08:56:44 RX <- [0][0][0][0][0] -- 08:56:44 TX -> [STX][5][0][28]#A[128][0] 08:56:45 RX <- [0][0][0][0][0] -- 08:56:45 TX -> [STX][5][0][28]#[ESC]Z[0] 08:56:45 RX <- [0][0][0][0][0][0][0] -- 08:57:10 Suprimento( 150, TESTE DE SUPRIMENTO, SUPRIMENTO, DINHEIRO ) TX -> [STX][5][0][28]#!`[0] 08:57:12 RX <- [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) -- 08:57:12 TX -> [STX][5][0][28]#/n[0] 08:57:12 RX <- [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] -- 08:57:12 TX -> [STX][4][0][28]Ws[0] 08:57:13 RX <- [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]v4PD[0][0][0][0] -- 08:57:13 TX -> [STX][5][0][28]# _[0] 08:57:15 RX <- [0]Dinheiro DINHEIRO/CHEQUE [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0]Valor Recebido Troco [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] -- 08:57:15 TX -> [STX]$[0][28][25]SU00000000015000Dinheiro [181][7] 08:57:17 RX <- [0][0][0][0] -- 08:57:17 Estado TX -> [STX][5][0][28]#[17]P[0] 08:57:18 RX <- [0][0][0][0][0] -- 08:57:18 TX -> [STX][5][0][28]#A[128][0] 08:57:18 RX <- [0][0][0][0] -- 08:57:18 TX -> [STX][5][0][28]#[ESC]Z[0] 08:57:18 RX <- [24][STX][17][0][0][0][0] -- 08:57:18 TX -> [STX][5][0][28]#[23]V[0] 08:57:18 RX <- [24][STX][17][7]Y7[0][0][0][0] -- 08:57:52 CarregaFormasPagamento TX -> [STX][5][0][28]# _[0] 08:57:55 RX <- [0]Dinheiro DINHEIRO/CHEQUE [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0]Valor Recebido Troco [0][0][0][0][0][0][1]P[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0][0][0][0][0][0][0][0][0][0][1]P[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1]P[0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1]P[0][0][0][0][0][0][0][0][0][0][0][0][0][1][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] -- 08:58:09 CarregaComprovantesNaoFiscais TX -> [STX][5][0][28]#!`[0] 08:58:11 RX <- [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] -- 08:58:11 TX -> [STX][5][0][28]#/n[0] 08:58:11 RX <- [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1][0][0][0][0] -- 08:58:11 TX -> [STX][4][0][28]Ws[0] 08:58:12 RX <- [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] (removido zeros aqui) [0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][1]P[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]v4PD[0][0][0][0] Isso da alguma pista a alguem?
-
Eu estou tendo um problema na forma como estou trabalhando e gostaria de saber se alguem trata isso de alguma forma. Meus Clientes emitem muitas notas por dia, portanto, para envio à sefaz monto lotes de 40 em 40 notas (sei que da pra por até 50). Só depois de carregar as 40 é que posso utilizar o "Valida", ai se tiver alguma nota com problema no meio, todo o lote é invalidado. Gostaria de poder validar nota a nota antes de inclui-la no lote. Algum faz assim? Como está fazendo?
-
Acho que encontrei um erro na unit ACBrTEFDClass.pas linha 2049, dando erro de compilação. Fiz assim pra corrigir: TACBrTEFD(Owner).DoExibeMsg( opmOK, Resp.TextoEspecialOperador )
-
O log do ECFTeste está na integra.
-
Eu to achando que eu que to fazendo errado, não acredito que seja problema no componente. Estou fazendo um aplicativo que lê arquivos no formato TXT do emissor gratuito da receita e grava num DB, assim que aparecem os registros no DB ele monta lotes de X notas e envia pra receita e faz o processo todo... se autorizou imprime, se criticou fica o motivo registrado, etc... Durante o processo de importação e envio de notas, digamos assim que o sistema fica "travado". Como o volume de notas é grande e sistema apesar de funcionando fica inoperável enquanto não terminar as rotinas. Pensei eu: "E se eu colocar isso em Threads ?" Tentei mais assim que o ACBrNFe tenta assinar os XML, ou seja, assim que ele tenta acessar o certificado da pau de "CLASSE NÃO REGISTRADA", como se não hovesse instalado a capicom, mais está instalado e funcionando, pois sem a thread tudo funciona... Imagino que ou to fazendo errado ou não é possível o componente acessar a capicom de dentro de uma thread. Desisto? Ou alguem me ensina a fazer certo?
-
Problema intermitente com gravação do XML tag protNFe versao
um tópico no fórum postou dantemartins ACBrNFe
Tem acontecido algumas vezes, mais ta dando dor de cabeça, pois tenho que concertar o XML na mão... Qdo vai "de primeira" aparentemente nunca da erro, mais qdo acontece de não pegar o retorno na mesma hora ai faz uma consulta de situação da NFe e tbm em cancelamentos, tem acontecido da parte final da XML, a parte onde é "appendado" a autorização de uso ou Cancelamento homologado, acontece de TODOS os espaços serem removidos, provocando erro no carregamento da mesma. Exemplificando uma situação: Foi mandado um lote de notas num momento em que a receita acabou não respondendo a consulta a tempo, ai o componente não atualizou os XML no HD. É feita um consulta da situação da NFe pra verificar se ela foi autorizada, o retorno vem certinho (arquivo "-sit.xml"), só que algumas vezes qdo o conteúdo é adicionado ao final do XML da NFe, todos os espaços são removidos. Ao carregar a XML no ACBrNFe ele mostra como se a nota não tivesse sido autorizada, pois ele não consegue ler a parte da autorização. Se abrir no firefox ele aponta o local onde esta o erro e é exatamente na tag que fica como . O motivo () também está todo "grudado", mais ali não da erro, mais mesmo assim ta errado. O mesmo acontece com cancelamentos. Socorro!!!!!! -
No emulador funciona normal, o problema é lá no cliente com a impressora de verdade. Os passos feitos foram os normais: Setei marca (ecfBematech) e COM (COM1) da ECF, Cliquei no botão ativar. Conectou normal (e isso ta no log). Fui no menu Não Fiscal, escolhi suprimento, digitei "100" para valor, "SANGRIA" para descrição e "DINHEIRO" para forma. Depois disso nada aconteceu... nem na impressora, nem no arquivo de log, nem na tela do PC, nada... simplesmente "nada".
-
Tentei novamente agora com o ECFTeste.exe (demo do componente) e parece que a resposta foi a mesma... ou seja: sem resposta. Da a impressão que nada é passado pra impressora, pois nada é impresso, nada aparece no log e nem da mensagem de erro... segue o log do teste: -- 09:07:49 10/2/2011 Ativar TX -> [STX][4][0][28][19]/[0] 09:07:49 RX <- [0][0][0][0] -- 09:07:49 TX -> [STX][5][0][28]#)h[0] 09:07:49 RX <- [1][1][0][0][0][0][0] -- 09:07:49 TX -> [STX][5][0][28]#<{[0] 09:07:49 RX <- BEMATECH MP-2100 TH FI ECF-IF [0][0][0][0] -- 09:07:49 TX -> [STX][5][0][28]#(g[0] 09:07:50 RX <- BE050975600000040663[0][0][0][0] -- 09:07:50 Estado TX -> [STX][5][0][28]#[17]P[0] 09:07:50 RX <- [0][0][0][0][0] -- 09:07:50 TX -> [STX][5][0][28]#A[128][0] 09:07:50 RX <- [0][0][0][0][0] -- 09:07:50 TX -> [STX][5][0][28]#[ESC]Z[0] 09:07:50 RX <- [0][0][0][0][0][0][0] -- 09:07:50 Estado TX -> [STX][5][0][28]#[17]P[0] 09:07:50 RX <- [0][0][0][0][0] -- 09:07:50 TX -> [STX][5][0][28]#A[128][0] 09:07:50 RX <- [0][0][0][0][0] -- 09:07:50 TX -> [STX][5][0][28]#[ESC]Z[0] 09:07:50 RX <- [0][0][0][0][0][0][0] Alguem faz a minima idéia do que pode ser ? Usando a DLL da Bematech funcionava. A chamada era assim: sValor := StringReplace(FormatFloat('0.00', edVlrSuprimento.Value), '.', DecimalSeparator, [rfReplaceAll])); Bematech_FI_Suprimento(PChar(sValor), PChar(edNmForma.Text), 'suprimento');
