Jump to content

_asseinfo

Membros
  • Content Count

    190
  • Joined

  • Last visited

Community Reputation

4 Neutral

About _asseinfo

  • Rank
    Membro

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Obrigado pela resposta, Juliana. A minha dúvida é como fazer isto com o ACBR. Já usamos o ACBR faz algum tempo aqui, o básico de vender itens e as configurações, eu já conheço. Mas gostaria de saber, de que maneira posso fazer isso utilizando o ACBR, caso seja possível. Também notei que os códigos são menores, assim como os nomes dos produtos neste exemplo de cupom. Mas minha dúvida, como citei acima, é como fazer isto com o ACBR. Entendo que é possível verificar quantos caracteres serão impressos e atuar em cima disso, variado a flag DescricaoGrande que tem no ACBREcf. E também entendo que isso me libera espaço para imprimir muitos caracteres que ele vai quebrar a linha. Só que muitos clientes são meio relaxados com os nomes de seus produtos e eles ficam enormes, acarretando em várias linha impressas por item, em um cupom. Novamente, também entendo que é possível lidar com isto manualmente, truncando a descrição do produto para que ele fique em duas linhas. Mas atendemos muitos ecfs diferentes, e eles podem ter algumas peculiaridades em relação aos tamanhos por linha, eu mesmo já passei por problemas por causa de algumas peculiaridades de ECFs diferentes. Por isto pergunto se existe alguma maneira de fazer isto utilizando o ACBR, sem ter que truncar manualmente a descrição dos produtos.
  2. Então, Daniel, não sei se me dei bem a entender. Sim, ele foi emitido por um ECF, porém note que em alguns casos ele utiliza somente uma linha, para colocar toda a informação e em outros casos ele utiliza duas linhas, de forma bem organizada. A minha dúvida é como fazer isto com o ACBR.
  3. Bom dia. Aqui na cidade, em SC, existe uma rede de super mercados, que é bem grande regionalmente, este dispõe os itens do cupom fiscal desta maneira. Já olhei o funcionamento da propriedade "DescricaoGrande", o que ela faz é permitir que as informações do produto sejam quebradas. Criando a possibilidade de uma descrição maior. Gostaria de saber se existe alguma configuração que possa ser feita, para o cupom sair desta forma, em duas linhas, não em múltiplas. Quero fugir de ter que ficar fazendo configurações para ecfs diferentes. Por exemplo: Se um ECF imprimir 44 colunas, outra imprimir 43 e outra ainda, imprimir 42. Eu acabaria tendo que ficar caçando isso, vocês conhecem alguma configuração que resolva isso?
  4. Opa, ainda se mantem esta situação? Pois estou com o mesmo problema em homologação e funciona, mas em produção dá erro, me parece que o WSDL está com erro na URL do serviço, confira na url de produção: http://nfe.sefaz.am.gov.br/services2/services/NfeAutorizacao4?wsdl <wsdl:service name="NfeAutorizacao4"> <wsdl:port name="NfeAutorizacao4Soap12" binding="tns:NfeAutorizacao4Soap12"> <soap12:address location="https://nfe.sefaz.am.gov.br/services2/services/NFeAutorizacao4"/> </wsdl:port> </wsdl:service> Já o de homologação está correto, confira na url de homologação: http://homnfe.sefaz.am.gov.br/services2/services/NfeAutorizacao4?wsdl <wsdl:service name="NfeAutorizacao4"> <wsdl:port name="NfeAutorizacao4Soap12" binding="tns:NfeAutorizacao4Soap12"> <soap12:address location="https://homnfe.sefaz.am.gov.br/services2/services/NfeAutorizacao4"/> </wsdl:port> </wsdl:service> Vocês estão usando o 3.10 ainda para autorizar notas em Amazonas?
  5. Senhores, estou com o mesmo problema também. Como já lancei o problema em outro tópico, vai aqui o link para não ser redundante.
  6. Senhores, boa tarde Atualizei o ACBR em 19/06/2018 e ao fazer o evento de cancelamento o XML formado fica dessa forma: <envEvento xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"> <idLote>1</idLote> <evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"> <infEvento Id="..."> <cOrgao>42</cOrgao> <tpAmb>2</tpAmb> <CNPJ>...</CNPJ> <chNFe>...</chNFe> <dhEvento>2018-06-25T15:53:05-03:00</dhEvento> <tpEvento>110111</tpEvento> <nSeqEvento>1</nSeqEvento> <verEvento>4.00</verEvento> <detEvento versao="4.00"> <descEvento>Cancelamento</descEvento> Dessa forma o evento não autoriza na SEFAZ (Estou em Santa Catarina). O mesmo acontece com qualquer outro evento (CC-e, Manifestação) Para aceitar eu precisei mudar o a versão para 1.00 em todos os lugares onde destaquei em negrito, conforme sugerido pelo basiliusvalentinus. Porém, inspecionando o código onde é gerado o XML temos o seguinte: (Arquivo pcnEnvEventoNFe.pas) function TEventoNFe.GerarXML: Boolean; var i, j: Integer; sDoc, sModelo: String; begin Gerador.ArquivoFormatoXML := ''; Gerador.wGrupo('envEvento ' + NAME_SPACE + ' versao="' + Versao + '"'); Gerador.wCampo(tcInt, 'HP03', 'idLote', 001, 015, 1, FidLote, DSC_IDLOTE); ... Gerador.wGrupo('evento ' + NAME_SPACE + ' versao="' + Versao + '"'); ... Gerador.wCampo(tcStr, 'HP16', 'verEvento', 001, 004, 1, Versao); // Evento.Items[i].InfEvento.versaoEvento); Gerador.wGrupo('detEvento versao="' + Versao + '"'); A variável Versao é alimentada no arquivo ACBrNFeWebServices.pas, no método TNFeEnvEvento.DefinirDadosMsg: EventoNFe.Versao := FPVersaoServico; A variável, FPVersaoServico por sua vez é alimentada pelo método TNFeWebService.DefinirURL, no mesmo arquivo: TACBrNFe(FPDFeOwner).LerServicoDeParams(FPLayout, Versao, FPURL, FPServico, FPSoapAction); FPVersaoServico := FloatToString(Versao, '.', '0.00'); E o método LerServicoDeParams vai buscar o valor para a variável local Versao a partir da versão da NF-e através da propriedade Configuracoes.Geral.VersaoDF que contém o valor ve400 (TACBrNFe.LerServicoDeParams no arquivo ACBrNFe.ini) Enfim, para que os eventos pudessem ser aceitos, eu modifiquei (em minha cópia local) lá no evento GerarXML do arquivo pcnEnvEventoNFe.pas colocando fixo 1.00 no lugar da variável Versao. Minha questão é: Seria esse o procedimento mais correto? Alguém já atentou para esse código? Se puderem me ajudar, agradeço.
  7. O código acima, eu utilizei aqui, no código do acbr, para fazer o teste de desempenho, aliás.
  8. Como é permitido somente arquivos de até 2Mb aqui, estou adicionando um link do Drive. https://drive.google.com/file/d/1liob3ntzgUSitKK6EPByo9WJn9U7Dzm0/view?usp=sharing Pelos meus testes, se paginar o replace com algo do tipo: function StringReplacePaginado(const texto, PadraoAntigo: string; PadraoNovo: string; flags: TReplaceFlags): string; const NUMERO_DE_CARACTERES = 131072; var NovoTexto: string; Linha: string; Linhas: Integer; i: Integer; begin Linhas := Length(Texto) div NUMERO_DE_CARACTERES + 1; NovoTexto := ''; for i := 0 to Linhas - 1 do begin Linha := Copy(Texto, 1 + (NUMERO_DE_CARACTERES * i), NUMERO_DE_CARACTERES); Linha := StringReplace(Linha, PadraoAntigo, PadraoNovo, flags); NovoTexto := NovoTexto + Linha; end; Result := NovoTexto; end; E utilizar dessa forma AStr := StringReplacePaginado(AStr, '<', '&lt;' , [rfReplaceAll]); Ele diminui de 34 minutos, no processo inteiro, para 30 segundos, demonstrando ser 68x mais rápido.
  9. Gente, estou tentando fazer o envio do arquivo de estoque do Bolco X, porém o arquivo está meio grande, já que é o que acontecerá em boa parte dos clientes. Ao utilizar o método Executar do ValidarBlocoX, ele demora mais de 30 minutos, para um arquivo de 4Mb. Comecei a inspecionar qual era o problema e descobri que a demora, é devido ao StringReplace que é utilizado para substituir < e > por &lt e &gt. Dei uma pesquisada na internet e inspecionei o próprio código do método StringReplace do SysUtils e o tempo aumenta exponencialmente com o aumento do tamanho do arquivo. Assim, fazendo que a substituição dos caracteres utilizada pelo ParseText do ACBrUtils seja muito lento para os casos dos arquivos de estoque do Bloco X. Como vocês costumam resolver este problema de demora? Ou simplesmente aceitam o tempo e deixam executar assim?
  10. Entrei em contato com a Central de Atendimento Fazendário da SEFAZ-SC e obtive a seguinte resposta: A versão 01.99.01 foi autorizado para uso fiscal apenas em Santa Catarina mediante Tratamento Tributário Diferenciado solicitado pelo fabricante BEMATECH. O CNIEE correto para esta versão é 032306 Em caso de dúvida(s) entre em contato conosco. Este e-mail se propõe a elaborar respostas de caráter meramente informativo, não produzindo os efeitos próprios do instituto denominado CONSULTA, definido pelos artigos 209 a 213 da Lei nº 3.938, de 26 de dezembro de 1966. Agradeço muito pela ajuda do Felipe E. Resende Mesquita
  11. Este foi o documento que recebemos do lacrador (em anexo). A impressora ainda está com eles, aguardando a nossa liberação. Para que você entenda, em Santa Catarina, temos que cadastrar o nº de fabricação e o nº de credenciamento la no [email protected] da SEFAZ-SC. Feito isso, a impressora é liberada para uso com o nosso aplicativo PAF-ECF. Grato.
  12. Sim, já entramos em contato. Por mais incrível que pareça, o lacrador diz não possuir esta informação. O suporte da Bematech disse que nem sabe o que é CNIEE.
  13. Então, já consultamos também essa tabela, nela consta, deste modelo, as versões 01.00.00, 01.00.01, 01.00.02, 01.00.03, mas não consta a que a empresa lacradora solicitou, que é a 01.99.01
  14. SAT que me refiro é o Sistema onde informamos a SEFAZ-SC quais ECF's são de nossa responsabilidade, não o SAT (Sistema Autenticador e Transmissor de Cupons Fiscais Eletrônicos) que São Paulo usa. E sim, essa impressora é fiscal. Os nomes são iguais mas são coisas diferentes.
  15. A empresa lacradora solicitou a liberação no SAT da impressora Bematech MP-4200 TH FI II versão 01.99.01. Porém não encontramos o CNIEE correspondente a esta versão. Em Santa Catarina precisamos desta informação para o relatório "REGISTROS DO PAF". Já pesquisamos no DOU, e em diversos outras fontes, sem sucesso. Alguém pode nos indicar onde encontramos, de alguma fonte oficial, o CNIEE desta versão 01.99.01 especificamente? Grato antecipadamente pela ajuda.
×
×
  • Create New...