wmrodrigo
Membros-
Total de ítens
10 -
Registro em
-
Última visita
wmrodrigo's Achievements
-
Saudações, Na última sexta-feira, 18/10/2019, identificamos um problema ao imprimir documentos fiscais confirmados do tipo CT-e OS. Fiz as devidas atualizações do ACBr no dia de hoje 21/10/2019 para me certificar que estava com a versão mais recente, porém o problema persiste. Após análise do problema "RLCTe: Erro durante preparação do relatório EListError(List index out of bounds (0))", realizamos a seguinte alteração no arquivo "ACBrTrunk\Fontes\ACBrDFe\ACBrCTe\DACTE\Fortes\ACBrCTeDACTeRLRetrato.pas", linha 780. { Código versionado } if (fpCTe.infCTeNorm.infDoc.infNFe.Count > 0) or (fpCTe.infCTeNorm.docAnt.emiDocAnt.Items[0].idDocAnt.Count > 0) then begin rllTituloCNPJ1.Caption := 'CHAVE DO DF-e'; rllTituloCNPJ2.Caption := 'CHAVE DO DF-e'; rllTituloSerie1.Caption := ''; rllTituloSerie2.Caption := ''; end; { Código alterado } if (fpCTe.infCTeNorm.infDoc.infNFe.Count > 0) or (fpCTe.infCTeNorm.docAnt.emiDocAnt.Count > 0) then begin rllTituloCNPJ1.Caption := 'CHAVE DO DF-e'; rllTituloCNPJ2.Caption := 'CHAVE DO DF-e'; rllTituloSerie1.Caption := ''; rllTituloSerie2.Caption := ''; end; Segue em anexo o arquivo modificado para análise. ACBrCTeDACTeRLRetrato.pas Grato pela atenção, []'s!
- 1 reply
-
- 1
-
Saudações, Segue arquivo com municípios incluídos. []'s! Cidades.ini
-
Saudações, No corrente mês, realizamos implantações da NFS-e em alguns municípios que não contém informações no arquivo "Cidades.ini". Foi realizada inclusão manual destes e estão funcionando corretamente. Creio que, disponibilizar/incluir essas informações, facilitará posteriores implementações. Segue abaixo a lista de municípios e respectivas informações para serem acrescidas ao Cidades.ini. [4302204] Nome=Boa vista do Buricá UF=RS Provedor=ABase [4319158] Nome=São Miguel das Missões UF=RS Provedor=ABase [4322103] Nome=Tucunduva UF=RS Provedor=ABase [4322301] Nome=Tuparendi UF=RS Provedor=ABase [4315057] Nome=Porto Mauá UF=RS Provedor=ABase [4315404] Nome=Redentora UF=RS Provedor=ABase [4313805] Nome=Palmitinho UF=RS Provedor=IPM [4306072] Nome=Cristal do Sul UF=RS Provedor=IPM [4317202] Nome=Santa Rosa UF=RS Provedor=IPM [4314456] Nome=Pinhal UF=RS Provedor=Digifred [4310504] Nome=Iraí UF=RS Provedor=Digifred [4307500] Nome=Espumoso UF=RS Provedor=Digifred [4323507] Nome=Vista Alegre UF=RS Provedor=Betha Grato pela atenção, []'s!
-
Bom dia Italo, Sim funcionou corretamente após atualizar os arquivos "ini" no diretório específico do sistema que contém os arquivos. Muito obrigado pela atenção! []'s!
-
Boa Tarde Italo, Peço escusas por não ter me atentado a verificar a existência de postagens sobre o assunto. Muito obrigado pela ajuda e pela atenção []'s!
-
Segue arquivo modificado. Linha 4283 à 4285 ACBrNFSeWebServices.pas
-
Saudações, Ao realizar o cancelamento de uma NFS-e para o provedor "Digifred" de Frederico Westphalen - RS, ocorre erro após a assinatura do XML. Após assinar o XML, o componente tenta carregar o XML assinado e nesse momento ocorre o erro. Alterei o raise EACBrDFeException do arquivo "ACBrDFeXsMsXmlCapicom" linha 115 para exibir o "parseError.reason" e neste consta que a tag "CancelarNfseEnvio" não havia sido fechada corretamente. Verifiquei que, no arquivo "ACBrNFSeWebServices", o procedimento "DefinirDadosMsg" passou por melhorias, porém, parte do código que ajustava a constante "FdocElemento" para o provedor "Digifred" foi removido. Na versão 16575 tinha-se o seguinte: case FProvedor of proISSe, proBetha: FdocElemento := 'Pedido'; proDBSeller: FdocElemento := FPrefixo3 + 'Pedido></' + FTagGrupo + '></CancelarNfse'; proBHISS, proPublica, proBethav2, proDigifred, proISSJoinville, proFiorilli, proSystemPro: FdocElemento := FPrefixo3 + 'Pedido></' + FTagGrupo; proGinfes, proISSDSF, proEquiplano, proInfisc, proInfiscv11, proSP, proThema, proNotaBlu: FdocElemento := FTagGrupo; // proISSNet: FdocElemento := FPrefixo3 + 'Pedido></p1:' + FTagGrupo; proSMARAPD: FdocElemento := 'nfd'; proIPM: FdocElemento := 'nfse'; else FdocElemento := FPrefixo3 + 'Pedido'; end; O case citado acima, concatenava algumas informações para o provedor "Digifred", o que não acontece na versão 16736. Código adicionado para solucionar o problema: case FProvedor of proDigifred: FdocElemento := FdocElemento + '></' + FTagGrupo; end; Para solucionar o problema e liberar o cliente, adicionei o código acima, porém, contempla apenas o provedor "Digifred". Não possuo clientes que utilizam os demais provedores para realizar testes e prover uma solução mais completa. O ACBr foi atualizado hoje 21/03/2019 10:00 e esta na versão 16736. Grato pela atenção []'s!
-
Bom dia, Após realização de alguns testes foi identificado problema na impressão das informações dos campos Uso Exclusivo do Emissor do CT-e (ObsCont) e Reservado ao Fisco (ObsFisco). Ao incluir mais de 4 registros a qualquer um dos campos ocorrem inconsistências na impressão com o componente FortesReport. O campo Uso Exclusivo do Emissor do CT-e (ObsCont) corta a informação do quinto registro e não exibe os registros do sexto ao décimo, e, o campo Reservado ao Fisco (ObsFisco), exibe uma linha em branco antes de imprimir as informações cadastradas pelo usuário e, não exibe os registros do quarto ao décimo. Os fontes do ACBr foram atualizados no dia de hoje 07/12/2018 às 10h30. Para solucionar o descrito, realizei algumas modificações no arquivo acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/DACTE/Fortes/ACBrCTeDACTeRLRetrato.pas e no arquivo acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/DACTE/Fortes/ACBrCTeDACTeRLRetrato.dfm (ambos em anexo). ACBrCTeDACTeRLRetrato.dfm object rlb_16_DadosExcEmitente: TRLBand Left = 26 Top = 1985 Width = 742 Height = 70 AutoSize = True BandType = btHeader Color = clWhite ParentColor = False BeforePrint = rlb_16_DadosExcEmitenteBeforePrint object RLDraw71: TRLDraw Left = 0 Top = 1 Width = 741 Height = 67 Brush.Style = bsClear end object RLLabel165: TRLLabel Left = 566 Top = 4 Width = 102 Height = 12 Caption = 'RESERVADO AO FISCO' Color = clWhite Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -9 Font.Name = 'Times New Roman' Font.Style = [] ParentColor = False ParentFont = False Transparent = False end object RLLabel7: TRLLabel Left = 142 Top = 4 Width = 171 Height = 12 Caption = 'USO EXCLUSIVO DO EMISSOR DO CT-E' Color = clWhite Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -9 Font.Name = 'Times New Roman' Font.Style = [] ParentColor = False ParentFont = False Transparent = False end object rlmObsExcEmitente: TRLMemo Left = 5 Top = 17 Width = 492 Height = 49 AutoSize = True Behavior = [beSiteExpander] Color = clWhite Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -9 Font.Name = 'Times New Roman' Font.Style = [] IntegralHeight = True Lines.Strings = ( 'OBS LINHA 1' 'OBS LINHA 2') ParentColor = False ParentFont = False end object RLDraw27: TRLDraw Left = 1 Top = 15 Width = 740 Height = 1 HelpContext = 1 Brush.Style = bsClear DrawKind = dkLine end object RLDraw3: TRLDraw Left = 500 Top = 1 Width = 1 Height = 67 Angle = 90.000000000000000000 Brush.Style = bsClear DrawKind = dkLine end object rlmObsFisco: TRLMemo Left = 509 Top = 17 Width = 228 Height = 49 AutoSize = True Behavior = [beSiteExpander] Color = clWhite Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -9 Font.Name = 'Times New Roman' Font.Style = [] IntegralHeight = True Lines.Strings = ( 'OBS LINHA 1' 'OBS LINHA 2') ParentColor = False ParentFont = False end end ACBrCTeDACTeRLRetrato.pas (linha 2333) procedure TfrmDACTeRLRetrato.rlb_16_DadosExcEmitenteBeforePrint(Sender: TObject; var PrintIt: boolean); var i, vHeight: integer; begin inherited; PrintIt := RLCTe.PageNumber = 1; rlmObsExcEmitente.Lines.BeginUpdate; rlmObsExcEmitente.Lines.Clear; rlmObsFisco.Lines.BeginUpdate; rlmObsFisco.Lines.Clear; for i := 0 to (fpCTe.Compl.ObsCont.Count - 1) do with fpCTe.Compl.ObsCont.Items[i] do begin rlmObsExcEmitente.Lines.Add(StringReplace(xCampo, '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase]) + ': ' + StringReplace(xTexto, '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase])); end; rlmObsExcEmitente.Lines.Text := StringReplace(rlmObsExcEmitente.Lines.Text, ';', #13, [rfReplaceAll]); rlmObsExcEmitente.Lines.EndUpdate; // Incluido por Italo em 17/09/2012 if Length(Trim(fpCTe.Imp.infAdFisco)) > 0 then rlmObsFisco.Lines.Add(StringReplace(fpCTe.Imp.infAdFisco, '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase])); for i := 0 to (fpCTe.Compl.ObsFisco.Count - 1) do with fpCTe.Compl.ObsFisco.Items[i] do begin rlmObsFisco.Lines.Add(StringReplace(xCampo, '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase]) + ': ' + StringReplace(xTexto, '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase])); end; rlmObsFisco.Lines.Text := StringReplace(rlmObsFisco.Lines.Text, ';', #13, [rfReplaceAll]); rlmObsFisco.Lines.EndUpdate; if (rlmObsExcEmitente.Lines.Count > 0) or (rlmObsFisco.Lines.Count > 0) then begin vHeight := rlmObsExcEmitente.Height + 20; if rlmObsFisco.Height > rlmObsExcEmitente.Height then vHeight := rlmObsFisco.Height + 20; RLDraw71.Height := vHeight; RLDraw3.Height := vHeight; end; end; A validação abaixo foi incluída para remover a linha em branco adicionada automaticamente ao imprimir o documento fiscal // Incluido por Italo em 17/09/2012 if Length(Trim(fpCTe.Imp.infAdFisco)) > 0 then rlmObsFisco.Lines.Add(StringReplace(fpCTe.Imp.infAdFisco, '<BR>', #13#10, [rfReplaceAll, rfIgnoreCase])); ACBrCTeDACTeRLRetrato.dfm ACBrCTeDACTeRLRetrato.pas
- 1 reply
-
- 2
-
Bom dia, Ao efetuar alguns testes de CT-e's em ambiente de homologação, ocorreram inconsistências com os campos da Previsão do fluxo da carga. O campo "#64" - xOrig e o campo "#67" - xDest estão com tamanho divergente do especificado no Manual da CT-e V 3.00 e retornam alerta ao validar o XML. Para sanar a inconsistência foi efetuada alteração no arquivo acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/PCNCTe/pcteCTeW.pas (em anexo) nas linhas 650 e 662 na procedure TCTeW.GerarFluxo. procedure TCTeW.GerarFluxo; var i: Integer; begin if (trim(CTe.Compl.fluxo.xOrig) <> '') or (CTe.Compl.fluxo.pass.Count > 0) or (trim(CTe.Compl.fluxo.xDest) <> '') or (trim(CTe.Compl.fluxo.xRota) <> '') then begin Gerador.wGrupo('fluxo', '#063'); Gerador.wCampo(tcStr, '#064', 'xOrig ', 01, 60, 0, CTe.Compl.fluxo.xOrig, DSC_XORIG); for i := 0 to CTe.Compl.fluxo.pass.Count - 1 do begin Gerador.wGrupo('pass', '#065'); Gerador.wCampo(tcStr, '#066', 'xPass ', 01, 15, 1, CTe.Compl.fluxo.pass[i].xPass, DSC_XPASS); Gerador.wGrupo('/pass'); end; if CTe.Compl.fluxo.pass.Count > 990 then Gerador.wAlerta('#065', 'pass', DSC_PASS, ERR_MSG_MAIOR_MAXIMO + '990'); Gerador.wCampo(tcStr, '#067', 'xDest ', 01, 60, 0, CTe.Compl.fluxo.xDest, DSC_XDEST); Gerador.wCampo(tcStr, '#068', 'xRota ', 01, 10, 0, CTe.Compl.fluxo.xRota, DSC_XROTA); Gerador.wGrupo('/fluxo'); end; end; Na imagem em anexo é possível verificar a divergência. pcteCTeW.pas
-
Amarildo de Matos started following wmrodrigo
-
Boa Tarde, Após relato de cliente sobre problemas na impressão das informações do campo Observações, identificou-se que, dependendo da formatação da String setada no campo "ACBrCTe1.Conhecimentos.Add.CTe.Compl.xObs" a impressão do CT-e com o componente FortesReport apresentou alguns comportamentos inconsistentes. Ao setar o campo "xObs" com String no formato "1000_caracteres_aleatórios" + #13 + "500_caracteres_aleatórios" resulta na impressão dos primeiros 1000 caracteres e os demais não são exibidos. Ao setar o campo "xObs" com String no formato "1000_caracteres_aleatórios" + "1000_caracteres_formatados_com_diversos_parágrafos" resulta na impressão de parte da informação e parte da informação extrapola o limite do campo Observações (imagem em anexo). Para solucionar o descrito, realizei algumas modificações no arquivo acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/DACTE/Fortes/ACBrCTeDACTeRLRetrato.pas e no arquivo acbr/code/trunk2/Fontes/ACBrDFe/ACBrCTe/DACTE/Fortes/ACBrCTeDACTeRLRetrato.dfm (ambos em anexo). ACBrCTeDACTeRLRetrato.dfm object rlmObs: TRLMemo Left = 5 Top = 19 Width = 730 Height = 45 AutoSize = True Behavior = [beSiteExpander] Color = clWhite Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -8 Font.Name = 'Times New Roman' Font.Style = [] IntegralHeight = True Lines.Strings = ( 'OBS LINHA 1' 'OBS LINHA 2' 'OBS LINHA 3' 'OBS LINHA 4') ParentColor = False ParentFont = False end ACBrCTeDACTeRLRetrato.pas (linha 2113) // Ajusta o tamanho do quadro conforme a OBS rlsQuadro08.Height := rlmObs.Height + 20; ACBrCTeDACTeRLRetrato.dfm ACBrCTeDACTeRLRetrato.pas