Pesquisar na Comunidade
Showing results for tags 'infoutros'.
Encontrado 3 registros
-
Boa tarde. Ao informar Unidades de Transporte no grupo de Outros Documentos (infOutros), e tentar carregar o XML no componente novamente, através do LoadFromFile, é disparada uma exception "EConvertError", como na mensagem de erro abaixo: Exception class EConvertError with message ''15,000</qtdRat></infUnidTransp>' is not a valid floating point value'. No XML está assim por exemplo: <infUnidTransp> <tpUnidTransp>1</tpUnidTransp> <idUnidTransp>1251</idUnidTransp> <lacUnidTransp> <nLacre>54541</nLacre> </lacUnidTransp> <qtdRat>15.000</qtdRat> </infUnidTransp> Olhando o código fonte da unit "\ACBr\Fontes\ACBrDFe\ACBrCTe\PCNCTe\pcteCTeR.pas" nas linhas 1026 e 1032 percebi que está um pouco diferente das declarações para os grupos anteriores acima (InfNF e InfNFe). Na linha 1026 a atribuição a variável "len" está comentada. Na linha 1032 está sendo passada a variável "pos3" como argumento no lugar de "len". //... // len := pos3 - pos2; (Linha 1026) // if (pos1 = 0) and (pos2 = 0) and (pos3 = 0) or (pos1 > pos3) then // qtdRat_UnidTransp := 0.0; if (pos1 < pos3) then qtdRat_UnidTransp := StringToFloatDef(Copy(sAux, pos2 + 8, pos3 -8), 0) // (Linha 1032) else qtdRat_UnidTransp := 0.0; //... Realizei um teste, removendo o comentário na linha 1026 e substituindo a variável "pos03" por "len" como argumento e parou de dar a exceção, além de que o valor ser atribuído corretamente na variável "qtdRat_UnidTransp" (antes ficava zerada). Tem algum motivo das declarações nesse bloco do InfOutros estar diferente do outros grupos (InfNF e InfNFe)? Obs.: Revisão do ACBr utilizada = 34383 Segue em anexo unit modificada com a qual fiz o teste. Obrigado pcteCTeR.pas
-
Possível discordância da função Validar com o MOC.
um tópico no fórum postou Lindomar S. Menezes DFe - Documentos Fiscais Eletrônicos
Agora consegui fazer emitir, tive que fazer algumas adequações aqui no meu código também, mas emitiu certinho, outra coisa que reparei também, é que mesmo eu preenchendo o TAF, no Validar() está retornando que não foi preenchido o NroRegEstadual, porém ambos são Choice Elements entre um e outro. E verificando aqui também, a UF também não é um elemento obrigatório, se eu não alimentasse a mesma deveria permitir na validação. Falha na validação do Modal do Conhecimento: 48 TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#11/NroRegEstadual(N�mero do Registro Estadual) - Nenhum valor informado. TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(C�digo do UF (Unidade da Federa��o)) - Nenhum valor informado. TAG:<CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infModal versaoModal="4.00"><CTeOS xmlns="http://www.portalfiscal.inf.br/cte" versao="4.00"><infCTeNorm><infModal versaoModal="4.00"><rodoOS><veic><prop> ID:#14/UF(Sigla da UF) - Conte�do inv�lido. --> 1840 - Element '{http://www.portalfiscal.inf.br/cte}UF': [facet 'enumeration'] The value '' is not an element of the set {'AC', 'AL', 'AM', 'AP', 'BA', 'CE', 'DF', 'ES', 'GO', 'MA', 'MG', 'MS', 'MT', 'PA', 'PB', 'PE', 'PI', 'PR', 'RJ', 'RN', 'RO', 'RR', 'RS', 'SC', 'SE', 'SP', 'TO', 'EX'}. Apenas para informação, meu tipo do CTe é normal e o tipo de serviço é excesso de bagagem. -
Contribuição ACBrCTe - C#
um tópico no fórum postou Lindomar S. Menezes DFe - Documentos Fiscais Eletrônicos
Boa tarde, pequena contribuição no ACBrCTe do C#, a classe InfDoc está em desacordo com o MOC, onde diz que o infOutros pode ter mais de uma ocorrência. Na classe InfDocCTe.cs, apenas alterei o infOutros para lista: public List<InfOutrosCTe> infOutros { get; set; } = new List<InfOutrosCTe>(); Na classe CTe.cs, inseri o código para ler e escrever o INI da infOutros: Método ReadFromIni(ACBrIniFile iniData) da classe CTe.cs: var q = 0; InfOutrosCTe infOutros; do { q++; infOutros = iniData.ReadFromIni<InfOutrosCTe>($"infOutros{q:000}"); if (infOutros != null) GrupoInformacoesNormalSubstituto.infDoc.infOutros.Add(infOutros); } while (infOutros != null); Método ACBrIniFile WriteToIni() da classe CTe.cs: for (var i = 0; i < GrupoInformacoesNormalSubstituto.infDoc.infOutros.Count; i++) { var infOutros = GrupoInformacoesNormalSubstituto.infDoc.infOutros[i]; iniData.WriteToIni(infOutros, $"infOutros{i + 1:000}"); } CT-e gerado: InfDocCTe.cs