-
Total de ítens
465 -
Registro em
-
Última visita
-
Days Won
3
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por EliasCesar
-
-
Obrigado por reportar
Tópico fechado. -
Fiz a alteração para validar o arquivo Json. Se estiver inválido o arquivo será renomeado com a extensão '.err'
Disponível no SVN, Rev: 25435.
Caso o erro persista, verifique se a URL de consulta do componente ACBrNCMs está correta.
A URL padrão é:
https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json -
Verifique se existe algum arquivo chamado "ACBrNCM.json" na pasta da aplicação.
Se existir, apague o arquivo e tente efetuar o teste novamente.
Vou incluir uma validação no componente para verificar se o arquivo é um json válido.- 1
-
Boa tarde,
Enviei ao SVN uma possível correção do problema, disponível na Rev: 25423.
@Andre Azeredo Vc poderia por gentileza baixar os fontes e efetuar um teste para verificar se a impressão ficou ok? -
Olá,
A correção já foi enviada ao SVN, Rev: 25373.
Obrigado por reportar
-
A aba NCM foi reincluída no ACBrMonitorPlus. A próxima versão disponibilizada contará com esse recurso novamente.
Disponível no SVN, Rev: 25370.- 1
-
Tópico fechado, pois o problema já foi corrigido em:
-
No meu entendimento, é necessário informar a tag <med> em qualquer xml que possua medicamentos e produtos farmacêuticos.
-
Bom dia,
Já está disponível o recurso no SVN, Rev: 25344.
-- ACBrNCMs --
[+] Inclusão do evento 'OnGetJson', possibilitando que a aplicação informe um
arquivo Json antes do componente realizar o download.
[*] Inclusão das novas propriedades do objeto TACBrNCM no arquivo gerado
pela função TACBrNCMsList.SaveToFile.
Obrigado pela sugestão de melhoria @Vitor Cortinovis
- 2
- 1
-
Ok @Daniel Simoes, vou implementar dessa maneira.
TK-2600 -
Boa tarde,
A correção já está no SVN, Rev: 25305
-- ACBrNCMs --
[-] Ajuste para carregar corretamente os campos 'Data_Inicio' e 'Data_Fim' da lista
de NCMs em versões mais recentes do Delphi.
Obrigado por reportar @Mc Sistemas
- 1
-
Boa tarde,
A aba de NCM havia sido removida após o webservice antigo ser desativado. O componente foi reescrito utilizando um novo webservice, como vc pode ver em:
Foi aberto um TK para reincluir essa aba no ACBrMonitor.
TK-2583 -
Olá Valdir,
O GAP da impressora controlará apenas o fim da etiqueta na vertical.
A quantidade de caracteres em cada etiqueta realmente precisará ser controlada pela aplicação.
Outra opção seria diminuir o tamanho da fonte.- 1
-
Olá,
A procedure ACBrETQ.ImprimirBarras() possui os parâmetros "Largura Barra Larga" e "Largura Barra Fina". Tente diminuir esses valores.
Outro parâmetro que também pode influenciar na largura é o "TipoBarras"
-
Olá,
Cada bloco de etiquetas precisa ser iniciado e finalizado. Veja que vc colocou um "IniciarEtiqueta", mas após desenhar a linha(3 etiquetas) não informou o comando "FinalizarEtiqueta".
Talvez isso funcione:
FDMemEtiquetas.First; while not FDMemEtiquetas.Eof do begin IniciarEtiqueta; ImprimirTexto(orNormal, 1, 1, 2,15, 2, FDMemEtiquetasDESCRICAO.Value, 0, false); ImprimirTexto(orNormal, 2, 1, 2, 2, 2, 'R$'); ImprimirTexto(orNormal, 2, 1, 2, 2, 6,FormatFloat('#0.00', FDMemEtiquetasPMC.value)); ImprimirTexto(orNormal, 1, 1, 2,10, 2,FDMemEtiquetasId_produto.Value, 0,false); FDMemEtiquetas.Next; if (not FDMemEtiquetas.Eof) then begin ImprimirTexto(orNormal, 1, 1, 2,15, 38, FDMemEtiquetasDESCRICAO.Value, 0, false); ImprimirTexto(orNormal, 2, 1, 2, 2, 40, 'R$'); ImprimirTexto(orNormal, 2, 1, 2, 2, 42,FormatFloat('#0.00', FDMemEtiquetasPMC.value)); ImprimirTexto(orNormal, 1, 1, 2,10, 38,FDMemEtiquetasId_produto.Value, 0,false); FDMemEtiquetas.Next; end; if (not FDMemEtiquetas.Eof) then begin ImprimirTexto(orNormal, 1, 1, 2,15,72, FDMemEtiquetasDESCRICAO.Value, 0, false); ImprimirTexto(orNormal, 2, 1, 2, 2,74, 'R$'); ImprimirTexto(orNormal, 2, 1, 2, 2,79,FormatFloat('#0.00', FDMemEtiquetasPMC.value)); ImprimirTexto(orNormal, 1, 1, 2,10,72,FDMemEtiquetasId_produto.Value, 0,false); FDMemEtiquetas.Next; end; FinalizarEtiqueta(1, 600); end; Imprimir(1, 600); Desativar;
- 1
-
Foi incluído um novo parâmetro chamado 'xPag' na função "FormaPagamentoToDescricao" da pcnConversao.pas.
A declaração dessa função poderia ter esse parâmetro vazio como default ? Pois pode quebrar códigos que já usavam ela.
A sugestão seria algo como:function FormaPagamentoToDescricao(const t: TpcnFormaPagamento; const xPag: String = ''): string;
Verificado que a alteração foi devido ao caso:
Realmente no problema descrito no tópico, o parâmetro se torna necessário, porém podem existir outros momentos em que a função é usada sem a necessidade de indicação do xPag.- 1
-
Quem possuía esse comando de validar os arquivos era o webservice antigo do BlocoX. Porém foi desativado faz algum tempo.
Esse é o webservice atual:
http://webservices.sef.sc.gov.br/wsDfeSiv/BlocoX.asmx
Você pode verificar mais informações sobre isso nesses tópicos:- 1
-
Pelo erro, o certificado que você está usando não possui permissão de acesso ao recibo.
As permissões funcionam da seguinte forma:
- TransmitirArquivo: Apenas certificado digital do contribuinte;
- ConsultarPendenciasDesenvolvedor: Apenas certificado digital do desenvolvedor PAF-ECF;
- TODOS os outros comandos: Certificado digital do contribuinte ou do desenvolvedor PAF-ECF.- 1
-
-
Os serviços são acessíveis usando o certificado digital do contribuinte ou do desenvolvedor do PAF-ECF, com exceção do serviço TransmitirArquivo, que será acessível somente com o certificado digital do contribuinte, e do ConsultarPendenciasDesenvolvedor, com o certificado do desenvolvedor do PAF-ECF.
Caso tente efetuar as rotinas com outro certificado, realmente será retornado esse tipo de erro.- 1
-
15 horas atrás, Gilson Heleno disse:
Boa tarde! agradeço a dica. vou realizar os teste. Outro problema que esqueci de comentar é quando mando imprimir exemplo 7 etiquetas. Como utilizo 3 colunas então as duas ultima era pra sair em branco. Mas ele preenche as duas ultimas com informação do ultimo item. Tem idéia como posso resolver? Segue codigo para analise:
tb_etiqtemp.First;
AtivarACBrETQ;
with ACBrETQ do
begin
while not tb_etiqtemp.eof do
begin
// xtam:=Length(dm.tb_etiquetasCODIGO.Value);
IniciarEtiqueta;
ImprimirTexto(orNormal, '0', 20, 30, 2, 3, 'R$ '+ formatfloat('##,##0.00',tb_etiqtempPVENDA.Value));
ImprimirTexto(orNormal, '0', 20, 20, 6, 3, tb_etiqtempNOME.Value);
ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 3,tb_etiqtempCODIGO.Value, 8,becSIM);tb_etiqtemp.Next;
ImprimirTexto(orNormal, '0', 20, 30, 2, 37, 'R$ '+ formatfloat('##,##0.00',tb_etiqtempPVENDA.Value));
ImprimirTexto(orNormal, '0', 20, 20, 6, 37, tb_etiqtempNOME.Value);
ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 37,tb_etiqtempCODIGO.Value, 8,becSIM);
tb_etiqtemp.Next;
ImprimirTexto(orNormal, '0', 20, 30, 2, 72, 'R$ '+formatfloat('##,##0.00',tb_etiqtempPVENDA.Value));
ImprimirTexto(orNormal, '0', 20, 20, 6, 72, tb_etiqtempNOME.Value);
ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 72,tb_etiqtempCODIGO.Value, 8,becSIM);FinalizarEtiquetaComCopiasEAvanco;
tb_etiqtemp.Next;
end;
ImprimirEtiquetaComCopiasEAvanco;
Desativar;
end;
Para resolver esse problema você precisa colocar uma condição que verifica se chegou no fim da lista após cada comando 'Next'.
Exemplo:
while (not tb_etiqtemp.eof) do begin // xtam:=Length(dm.tb_etiquetasCODIGO.Value); IniciarEtiqueta; ImprimirTexto(orNormal, '0', 20, 30, 2, 3, 'R$ '+ formatfloat('##,##0.00',tb_etiqtempPVENDA.Value)); ImprimirTexto(orNormal, '0', 20, 20, 6, 3, tb_etiqtempNOME.Value); ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 3,tb_etiqtempCODIGO.Value, 8,becSIM); tb_etiqtemp.Next; if (not tb_etiqtemp.eof) then begin ImprimirTexto(orNormal, '0', 20, 30, 2, 37, 'R$ '+ formatfloat('##,##0.00',tb_etiqtempPVENDA.Value)); ImprimirTexto(orNormal, '0', 20, 20, 6, 37, tb_etiqtempNOME.Value); ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 37,tb_etiqtempCODIGO.Value, 8,becSIM); tb_etiqtemp.Next; end; if (not tb_etiqtemp.eof) then begin ImprimirTexto(orNormal, '0', 20, 30, 2, 72, 'R$ '+formatfloat('##,##0.00',tb_etiqtempPVENDA.Value)); ImprimirTexto(orNormal, '0', 20, 20, 6, 72, tb_etiqtempNOME.Value); ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 72,tb_etiqtempCODIGO.Value, 8,becSIM); tb_etiqtemp.Next; end; FinalizarEtiquetaComCopiasEAvanco; end;
- 1
-
Em 24/01/2020 at 17:41, Gilson Heleno disse:
Gostaria de saber se é possível imprimir codigos de barras de padrão diferente dependendo do tamanho do código do produto. Explico: No cadastro de produto tenho produtos com códigos de barra e produtos sem códigos de barra. Esses sem código de barras utiliza um código menor tipo um sequencial (ex: 1015). Quando estou imprimindo as etiquetas utilizo barCODE128. Pra os códigos menor que 13 digitos tipo 1015 dá certo, mas no caso de codigo de barras as barras não cabem na etiqueta pois utilizo 3 colunas. Por isso a dúvida se é possivel quando enviar o comando dependendo do tamanho do código envio com barCODE128 caso contrário barEAN13? Fiz um teste mas não deu certo conforme codigo abaixo:
IniciarEtiqueta;
xtam:=Length(dm.tb_etiquetasCODIGO.Value);
ImprimirTexto(orNormal, '0', 20, 30, 2, 3, 'R$ '+ formatfloat('##,##0.00',dm.tb_etiquetasPVENDA.Value));
ImprimirTexto(orNormal, '0', 20, 20, 6, 3, dm.tb_etiquetasNOME.Value);
if xtam<13 then ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 3,dm.tb_etiquetasCODIGO.Value, 8,becSIM)
else
ImprimirBarras(orNormal, barEAN13, 2, 4, 10, 3,dm.tb_etiquetasCODIGO.Value, 8,becSIM)
Agradeço a atenção.
Gilson Heleno - SPMICRO
Sim, é possível imprimir o tipo do código de barras de acordo com o tamanho. Aparentemente o seu código está correto, verifique se o conteúdo da variável 'xtam' é realmente um EAN13 válido.
Uma sugestão para garantir isso seria algo como:if (xtam = 13) and (EAN13Valido(dm.tb_etiquetasCODIGO.Value)) then ImprimirBarras(orNormal, barEAN13, 2, 4, 10, 3,dm.tb_etiquetasCODIGO.Value, 8, becSIM) else ImprimirBarras(orNormal, barCODE128, 2, 4, 10, 3,dm.tb_etiquetasCODIGO.Value, 8, becSIM);
(Obs: Para utilizar a função EAN13Valido() inclua a unit ACBrUtil.pas nas uses)
-
Em 23/01/2020 at 14:12, Danillo disse:
Boa tarde Elias Cezar,
Muito obirgado, seu exemplo de XML me ajudou bastante consegui avançar bem , você teria um exemplo de envio utilizando o metodo REPROCESSAR_ARQUIVO ?
Juliomar,
Agradeço tambem pelo apoio.
Att.:
Danillo Santiago
Olá Danilo,
Só vi sua resposta agora...
Segue anexo o exemplo do comando ReprocessarArquivo.
Espero ter ajudado.- 1
-
Você pode verificar os exemplos de utilização dos comandos com o ACBrBlocoXSign.
Ele fica em: '...\trunk2\Projetos\ACBrBlocoXSign\'
Anexei um modelo do comando ConsultarProcessamentoArquivo gerado pelo próprio ACBrBlocoXSign.- 2
Sugestão de ajuste unit ACBrNFeDANFEFRDM
em ACBrNFe
Postado
Alteração enviada ao SVN
Disponível na Rev: 25652
Agradecemos pela contribuição