Buenos dias compañeros, aqui molestandolos con un error en una addenda, si me pudieran ayudar se los agradeceria muchisimo
Esta vez estoy implementando la addenda de ADO, ya lo habia hecho en CFD y sin problemas, esta vez tengo que implementarla en CFDI, pero me envia el error "Estructura mal armada", esto sucede cuando inserto la addenda antes del timbrado, si la inserto despues del timbradome devuelve el xml con la addenda pero sin la parte del timbrado, que estaré haciendo mal?,
les dejo la parte del codigo que llama a la addenda y la addenda en si, gracias de antemano
***************************************** esta parte la inserto antes del timbrado de dentro del form que genera el xml
***************************************** la idea es que envie el xml con la addenda para ser timbrado
SELECT clientes
SEEK ThisForm.txtCliente.value
DO Case
Case Clientes.adden_cli=2 && ADO
*-- Se prepara la addenda
SET PROCEDURE TO ..\prg\cfdado ADDITIVE
LOCAL oAddenda
oAddenda = create("CFDADO")
oAddenda.tipoAddenda = Left(allt(ThisForm.txtOrden.Value),3)
oAddenda.Valor = Right(allt(ThisForm.txtOrden.Value),len(allt(ThisForm.txtOrden.Value))-3)
*-- Se incluye la addenda en el CFD
oCFD.Addenda = oAddenda
endcase
*****************************************
*****************************************
oCFD.CrearXML(mXML)
*-- Se valida el CFD
*?"- Validando CFD"
IF NOT CFDValidarXML(mXML,"emisor.key", alltrim(empresa.ccert), "sha1", ".\SSL") &&& aqui me marca el error de estructura mal
MESSAGEBOX("6 ERROR: " + CFDConf.ultimoError,48,"ERROR!!!") &&& mal arnada
RETURN
ENDIF
*************************************esta es la addenda
*************************************
DEFINE CLASS CFDADO AS ICFDAddenda
*
* Propiedades base
nodeName = "Addenda"
NSTag = ""
NSUrl = ""
proveedor = Null
* Propiedades personalizadas
tipoAddenda = ""
Valor = ""
Conceptos = NULL
PROCEDURE Init
DODEFAULT()
THIS.Conceptos = CREATEOBJECT("CFDCollection")
ENDPROC
* Metodo base
PROCEDURE ToString()
LOCAL oXML
oXML = CREATEOBJECT("XMLParser")
oXML.New()
LOCAL oRoot
oRoot = oXML.XML.addNode("proveedor")
ORoot.addProp("tipoAddenda, THIS.tipoAddenda)
oRoot = oXML.XML.addNode("addenda")
oRoot.addProp("Valor",THIS.Valor)
RETURN oXML.ToString()
*
ENDPROC
*
ENDDEFINE