public XmlDocument GenerarDocumento() { Helper.DatosMySql fudDat = new Helper.DatosMySql(); Helper.Genericas funGen = new Helper.Genericas(); int n_row = 0; string[,] arrAtributoNodo = new string[1, 2] { { "n_iddoc", "System.INT64" } }; string[,] arrParametros = new string[1, 3] { { "n_iddoc", "System.INT64", "1" } }; dtDocOrig = fudDat.StoreDTLLenar("sun_docelectronicos_consulta1", arrParametros, MyConeccion); dtDocumento = funGen.DataTableFiltrar(dtDocOrig, "n_id <= 74"); dtDocItem = funGen.DataTableFiltrar(dtDocOrig, "n_id >= 75"); dtAtributos = fudDat.StoreDTLLenar("sun_docelectronicosatri_consulta1", arrParametros, MyConeccion); XmlElement objNodoPadre; Helper.XML_funciones FunXml = new Helper.XML_funciones(); string[,] arrAtributo = new string[10, 2] { { "xmlns", "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" }, { "xmlns:cac", "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" }, { "xmlns:cbc", "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" }, { "xmlns:ccts", "urn:un:unece:uncefact:documentation:2" }, { "xmlns:ds", "http://www.w3.org/2000/09/xmldsig#" }, { "xmlns:ext", "urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" }, { "xmlns:qdt", "urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" }, { "xmlns:sac", "urn:sunat:names:specification:ubl:peru:schema:xsd:SunatAggregateComponents-1" }, { "xmlns:udt", "urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" }, { "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" } }; FunXml.DocAtributos = arrAtributo; // CARGAMOS LOS ATRIBUTOS DEL DOCUMENTO FunXml.DocXml = DocXml; // PASAMOS LA VARIABLE XML DocXml = FunXml.CrearXML("Invoice"); // CREAMOS EL DOCUMENTO XML INDICANDO EL NOMBRE DE LA RAIZ objNodoPadre = FunXml.NodoPadre; CargarFE(); AgregarNodo(1, dtDocumento, dtAtributos, objNodoPadre, ""); //AGREGAMOS LOS ITEMS DE LA FACTURA ELECTRONICA for (n_row = 0; n_row <= dtDetalleFE.Rows.Count - 1; n_row++) { AgregarItems(1, dtDocItem, dtAtributos, objNodoPadre, "", n_row); } string c_tipcom = "01"; string c_nomarch = C_CONTRI_RUC + "-" + c_tipcom + "-" + C_CONTRI_NUMSERDOC + "-" + C_CONTRI_NUMCORDOC + ".xml"; FunXml.GrabarArchivo(DocXml, C_RUTAARCHIVO, c_nomarch); return(DocXml); }
string[,] LlenarArrayAtributos(int n_idNodo, DataTable dtAtributos) { int n_row = 0; string[,] arrAtributos = new string[1, 1]; Helper.Genericas funGen = new Helper.Genericas(); DataTable dtResult = new DataTable(); dtResult = funGen.DataTableFiltrar(dtAtributos, "n_idnoddoc = " + n_idNodo.ToString() + ""); if (dtResult.Rows.Count != 0) { string[,] arrAtributos2 = new string[2, dtResult.Rows.Count]; for (n_row = 0; n_row <= dtResult.Rows.Count - 1; n_row++) { arrAtributos2[0, n_row] = dtResult.Rows[n_row]["c_nom"].ToString(); arrAtributos2[1, n_row] = dtResult.Rows[n_row]["c_valor"].ToString(); } arrAtributos = arrAtributos2; } return(arrAtributos); }
public bool RegeneraAsientos(int n_IdEmpresa, int n_IdMesTrabajo, int n_IdAnoTrabajo, int n_IdLibro, int n_IdTipoCompra) { DataTable dtLis = new DataTable(); bool b_result = false; int n_row = 0; int n_idreg = 0; CD_log_compras miFun = new CD_log_compras(); CD_con_diario o_Conta = new CD_con_diario(); CN_con_diario funCon = new CN_con_diario(); // hacer seguimientyo para ver si esta generando bien miFun.mysConec = mysConec; o_Conta.mysConec = mysConec; b_result = o_Conta.EliminarLibroMes(n_IdLibro, n_IdAnoTrabajo, n_IdMesTrabajo, n_IdEmpresa); if (b_result == true) { if (miFun.Listar(n_IdEmpresa, n_IdMesTrabajo, n_IdAnoTrabajo, n_IdTipoCompra) == false) { b_OcurrioError = miFun.b_ocurrioError; c_ErrorMensaje = miFun.c_ErrorMensaje; n_ErrorNumber = miFun.n_ErrorNumber; return(b_result); } dtLis = miFun.dtLista; if (n_IdLibro == 8) { dtLis = fundatos.DataTableFiltrar(dtLis, "(n_idtipdoc IN(2,4,5,6,11,13,15,16,17,21,38))"); } if (n_IdLibro == 32) { dtLis = fundatos.DataTableFiltrar(dtLis, "(n_idtipdoc = 3)"); } dtLis = fundatos.DataTableOrdenar(dtLis, "c_numreg"); bool b_newasi = false; for (n_row = 0; n_row <= dtLis.Rows.Count - 1; n_row++) { b_newasi = false; string c_NumAsi = dtLis.Rows[n_row]["c_numreg"].ToString(); if (c_NumAsi == "") { b_newasi = true; } n_idreg = Convert.ToInt32(dtLis.Rows[n_row]["n_id"].ToString()); funCon.mysConec = mysConec; funCon.STU_SISTEMA = STU_SISTEMA; if (n_IdLibro == 8) { funCon.GenerarAsientoCompras(STU_SISTEMA.EMPRESAID, n_idreg, STU_SISTEMA.ANOTRABAJO, STU_SISTEMA.MESTRABAJO, 8, c_NumAsi); } if (n_IdLibro == 32) { funCon.GenerarAsientoCompras(STU_SISTEMA.EMPRESAID, n_idreg, STU_SISTEMA.ANOTRABAJO, STU_SISTEMA.MESTRABAJO, 32, c_NumAsi); } if (b_newasi == true) { c_NumAsi = funCon.c_NewNumAsiento; miFun.AgregarNumAsi(n_idreg, c_NumAsi); } } } b_result = true; return(b_result); }
void AgregarNodo(int n_IdNivel, DataTable dtDocumento, DataTable dtAtributos, XmlElement objNodoAnterior, string c_RutaArbol) { DataTable dtResul = new DataTable(); DataTable dtLista = new DataTable(); DataTable dtNodoHijo = new DataTable(); Helper.Comunes.Funciones Fun = new Helper.Comunes.Funciones(); Helper.Genericas funGen = new Helper.Genericas(); Helper.XML_funciones FunXml = new Helper.XML_funciones(); XmlElement element1; int n_row = 0; string c_nomlista = ""; string c_texto = ""; string c_arbol = ""; string c_prefi = ""; string c_dirur = ""; string c_valor = ""; int n_tipnod = 0; int n_eslista = 0; string c_NewRutaArbol = ""; string[,] arrAtributo = new string[1, 2] { { "n_iddoc", "System.INT64" } }; dtResul = funGen.DataTableFiltrar(dtDocumento, "(n_numniv = " + n_IdNivel.ToString() + ") AND (c_arbol like '" + c_RutaArbol + "*')"); // FILTRAMOS NIVEL 6 if (dtResul.Rows.Count != 0) { for (n_row = 0; n_row <= dtResul.Rows.Count - 1; n_row++) { element1 = null; c_texto = dtResul.Rows[n_row]["c_des"].ToString(); c_valor = dtResul.Rows[n_row]["c_valor"].ToString(); c_arbol = dtResul.Rows[n_row]["c_arbol"].ToString(); c_prefi = dtResul.Rows[n_row]["c_prefijo"].ToString(); c_dirur = dtResul.Rows[n_row]["c_dirurl"].ToString(); n_tipnod = Convert.ToInt32(dtResul.Rows[n_row]["n_tipo"]); c_NewRutaArbol = dtResul.Rows[n_row]["c_arbol"].ToString(); n_eslista = Convert.ToInt32(Fun.NulosN(dtResul.Rows[n_row]["n_lista"])); arrAtributo = LlenarArrayAtributos(Convert.ToInt32(dtResul.Rows[n_row]["n_id"]), dtAtributos); FunXml.DocXml = DocXml; if (n_tipnod == 1) { FunXml.AgregarArchivo(c_texto, c_valor, objNodoAnterior, arrAtributo, c_prefi, c_dirur); } else { FunXml.DocXml = DocXml; // PREGUNTAMOS SI EL NUEVO NODO ES UNA LISTA if (n_eslista == 1) { // SI ES UNA LISTA ESCRIBIMOS LOS DATOS DEL ALISTA c_nomlista = dtResul.Rows[n_row]["c_nomlista"].ToString(); int n_fil = 0; int n_lisfil = 0; dtLista = BucarDatosLista(c_nomlista); // OBTENEMOS EL DATATABLE CORRECTO PARA ESCRIBIR LOS DATOS string c_cond = "c_arbol like '" + c_arbol + "*' AND n_numniv > " + n_IdNivel.ToString() + " "; dtNodoHijo = funGen.DataTableFiltrar(dtDocumento, c_cond); for (n_lisfil = 0; n_lisfil <= dtLista.Rows.Count - 1; n_lisfil++) { // AGREGAMOS EL NODO PADRE element1 = FunXml.AgregarCarpeta(c_texto, objNodoAnterior, arrAtributo, c_prefi, c_dirur); for (n_fil = 0; n_fil <= dtNodoHijo.Rows.Count - 1; n_fil++) { string c_textohijo = dtNodoHijo.Rows[n_fil]["c_des"].ToString(); string c_valorhijo = dtNodoHijo.Rows[n_fil]["c_des"].ToString(); // OBTENEMOS EL NOMBRE DEL CAMPO c_valorhijo = dtLista.Rows[n_lisfil][c_valorhijo].ToString(); // TRAEMOS EL DATO DE LA LISTA FunXml.AgregarArchivo(c_textohijo, c_valorhijo, element1, arrAtributo, c_prefi, c_dirur); } } } else { element1 = FunXml.AgregarCarpeta(c_texto, objNodoAnterior, arrAtributo, c_prefi, c_dirur); int n_NuevoNivel = n_IdNivel + 1; AgregarNodo(n_NuevoNivel, dtDocumento, dtAtributos, element1, c_NewRutaArbol); } } //int n_NuevoNivel = n_IdNivel + 1; //AgregarNodo(n_NuevoNivel, dtDocumento, dtAtributos, element1, c_NewRutaArbol); } } }