Ir para conteúdo
  • Cadastre-se

Lindomar S. Menezes

Membros
  • Total de ítens

    286
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que Lindomar S. Menezes postou

  1. Eu que agradeço, obrigado @Diego Foliene
  2. Boa tarde, estamos fazendo a emissão de um CT-e, e alimentando a TAG ICMS00 da forma correta, inclusive a classe está sendo alimentada da forma correta, porém, após a emissão, o XML que é salvo está com as informações relativas o imposto todas zeradas. XML em anexo. <ICMS> <ICMS00> <CST>00</CST> <vBC>0.00</vBC> <pICMS>0.00</pICMS> <vICMS>0.00</vICMS> </ICMS00> </ICMS> 42230717089484000190570020000007591118368062-cte.xml
  3. Show, muito obrigado, tem alguma previsão + ou - ?
  4. Aproveitando o tópico, quando carrego o arquivo INI do índice 0, a tag tpAmb da sessão [ide] não está preenchida, seguindo o mesmo código do exemplo que dei lá em cima na primeira resposta, quando salvo meu XML, ou no strINI(Último).txt em anexo, a tag não tá preenchida, consequentemente se eu tenho uma nota de homologação, manipulo o xml e salvo, o tpAmb vai ficar em produção. Se preferirem crio um novo tópico para essas coisas, mas estou aproveitando o gatilho por se tratar das classes todas juntas.
  5. Fiz a implementação de dois métodos também na classe ACBrCTe.cs, mas para postar aqui no tópico utilizei as os métodos que já tinham, afim de não causar confusão, esses métodos apenas simplificam um pouco o uso de algumas práticas, são eles: public void CarregarCTe(CTe cte) => CarregarINI(cte.ToString()); public CTe ObterCTe(int aIndex) => CTe.Load(ObterIni(aIndex)); Vou deixar também meu arquivo ACBrCTe.cs em anexo, o código com essas duas classes fica mais simplificado e compreensível, no ACBrNFe esses métodos já estão presentes, inclusive nós usamos ele também em outro projeto, apenas me fundamentei por lá. Exemplo de código utilizando essas duas funções: using (DFeCTe dfe = new DFeCTe()) { dfe.ConfigurarComponente(GlobalVariables.ConfigEstacao.CodConfig); dfe.ACBrCTe.CarregarXML("C:\\SGBR\\Master\\Arquivos CTe\\XML\\17089484000190\\202307\\CTe\\42230717089484000190570020000007411944582580-cte.xml"); var CTe = dfe.ACBrCTe.ObterCTe(0); *Faço algumas alterações na var CTe* dfe.ACBrCTe.LimparLista(); dfe.ACBrCTe.CarregarCTe(CTe); dfe.ACBrCTe.GravarXml(0, "testelindomar-cte.xml", "C:\\SGBR\\Master\\Arquivos CTe\\XML\\17089484000190\\202307\\CTe\\"); } ACBrCTe.cs Meu fontes está atualizado. Revision 30168. Todas as Libs estão atualizadas.
  6. Boa tarde, estou com outra situação referente a classe CTe.cs. using (DFeCTe dfe = new DFeCTe()) { dfe.ConfigurarComponente(GlobalVariables.ConfigEstacao.CodConfig); \\ Carrego meu XML no componente dfe.ACBrCTe.CarregarXML("C:\\SGBR\\Master\\Arquivos CTe\\XML\\17089484000190\\202307\\CTe\\42230717089484000190570020000007411944582580-cte.xml"); \\ Carrego o INI do CT-e na minha var string strINI = dfe.ACBrCTe.ObterIni(0); \\ Carrego a classe com base no INI ACBrLib.CTe.CTe CTe = ACBrLib.CTe.CTe.Load(strINI); *Faço algumas alterações no CTe* \\ Carrego a minha classe com algumas alterações como um novo índice dfe.ACBrCTe.CarregarINI(CTe.ToString()); \\ Somente para conferir o retorno da classe string strCTe = CTe.ToString(); \\ Carrega o INI do CTe com as alterações strINI = dfe.ACBrCTe.ObterIni(1); \\ Grava o meu XML com as alterações dfe.ACBrCTe.GravarXml(1, "testelindomar-cte.xml", "C:\\SGBR\\Master\\Arquivos CTe\\XML\\17089484000190\\202307\\CTe\\"); } string strINI - Em um primeiro momento, quando eu obtenho o arquivo INI do meu CTe (Index 0), a tag protCTe está presente no INI(Arquivo em anexo). ACBrLib.CTe.CTe CTe CT-e - Carregando a classe, a classe ProtCTe também está presente (https://prnt.sc/GOR5B7WdibsS). strCTe - Convertendo a classe para string(apenas para verificar se está gerando tudo certo), a classe ProtCTe também está presente. (Arquivo em anexo). strINI(Último).txt - strINI - Obtendo o INI do índice 1, que é o meu CT-e com as alterações carregadas, a tag procCTe não está mais preenchida da forma devida por algum motivo, consequentemente gerando sem a tag no XML, ao utilizar o .GravarXML(). (Arquivo em anexo). Algumas observações a serem feitas: * Todos os arquivos em anexo. * A classe protCTe foi feita por mim, se observarem até no strCTe tem algumas outras classes que fiz para atender nosso desenvolvimento, que vou disponibiliza-las também. * Classe protCTe em anexo. Alterações minhas na classe CTe.cs. Construtor da classe CTe, apenas cria a propriedade ProtCTe: Propriedade declarada: Método WriteToIni() Método ReadFromIni() strCTe.txt strINI(Último).txt strINI.txt 42230717089484000190570020000007411944582580-cte.xml ProtCTe.cs
  7. @Diego Foliene Tudo certo com a leitura, está gerando corretamente a classe ObsCont.
  8. Show, assim que verificar dou um retorno.
  9. Beleza, fico no aguardo. Não consegui localizar o arquivo responsável pela geração do arquivo INI no SVN.
  10. Bom dia Diego, tudo bem? Ótimo, acabei de atualizar aqui, vou fazer os testes e logo te dou um retorno. Só uma dúvida, essa função ali do componente nativo que você comentou da Lib, nós não temos acesso ao fontes né, somente a essas classes padrões do ACBr?
  11. Bom dia pessoal, tudo bem? Estou com um probleminha no ConsultaCTeResposta, ao Ler a resposta da minha consulta do CT-e ACBrCTe.Consultar(). Já vou pedindo desculpas antecipadamente caso seja algo que eu esteja fazendo de errado, mas não consegui achar um exemplo exato de como se utiliza o LerResposta. Basicamente só estou chamando o evento .Consultar do ACBrCTe, e tentando ler o retorno para fazer algumas validações em meu código. Estou passando o retorno do .Consultar, no método ler retorno do ConsultaCTeResposta: ConsultaCTeResposta.LerResposta(Reposta); Debugando, cheguei até a linha de código que está ocorrendo o erro, dentro do Arquivo IniValueWrapper.cs, método UnWrap(). A linha onde ocorre o erro é a ultima da procedure, onde se obtém o retorno. return enumValue == null ? Enum.ToObject(enumType, Convert.ToInt32(value)) : Enum.Parse(enumType, enumValue.ToString()); enumValue é null, o que significa que a primeira condição de retorno está sendo atendida; enumType = {Name = "VersaoCTe" FullName = "ACBrLib.Core.CTe.VersaoCTe"}; value = "3.00"; Erro: System.FormatException: 'A cadeia de caracteres de entrada não estava em um formato correto.' Pilha de chamdas: Esta exceção foi gerada originalmente nesta pilha de chamadas: [Código Externo] ACBrLib.Core.IniValueWrapper.UnWrap(System.Type, string, object) em IniValueWrapper.cs ACBrLib.Core.IniUtil.ReadFromINi(ACBrLib.Core.ACBrIniSection, System.Type, object) em IniUtil.cs ACBrLib.Core.IniUtil.ReadFromIni(ACBrLib.Core.ACBrIniFile, System.Type, string) em IniUtil.cs ACBrLib.Core.IniUtil.ReadFromIni<T>(ACBrLib.Core.ACBrIniFile, string) em IniUtil.cs ACBrLib.Core.CTe.ConsultaCTeResposta.LerResposta(string) em ConsultaCTeResposta.cs DFeManager.Classes.DFeCTe.LerResposta(string) em DFeCTe.cs CTe.FSubMenuCte.btnConsulta_Click(object, System.EventArgs) em FSubMenuCte.cs IniFile que está sendo passado para leitura(Reposta) [Consulta] CStat=100 CUF=42 ChCTe=42230617089484000190570020000006171699583627 DhRecbto=20/06/2023 10:33:23 DigVal=XhWW71PN0x36ZBnY0Oih+o2H2HM= Msg=Autorizado o uso do CTe NProt=342230000150792 VerAplic=RS20230425084204 Versao=3.00 XMotivo=Autorizado o uso do CTe tpAmb=2
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...