Exportar / Importar cuestionario JSON

Exportar / Importar cuestionario JSON

Procedimiento: 


Exportar formulario

  1. Abrir formulario en el editor de formularios; Checklist.aspx > SeccionPregunta.aspx?id=_____
  2. Abrir la consola del Navegador (inspeccionar)
  3. Pegar el contenido de fexporter.js.txt

  4. Ejecutar el script y se generará un archivo de texto

  5. Descargar el archivo generado

Importar  formulario

  1. Acceder al ambiente que se desea importar el formulario
  2. Crear un formulario vacío y abrirlo en el editor de formularios; Checklist.aspx > SeccionPregunta.aspx?id=_____
  3. Abrir la consola del Navegador (inspeccionar)
  4. Pegar el contenido de fimporter.js.txt

  5. Adjuntar el archivo que se generó en el paso de "Exportar formulario"

  6. Se corre el proceso y la plataforma indicará el avance del mismo

  7. Al finalizar se mostrará la bitácora del proceso generado

  8. Nota: En caso de que el formulario contenga catálogos será necesario crear esos catálogos y vincularlos manualmente al formulario.

Eliminar preguntas y secciones del formulario

  1. Acceder al ambiente que se desea importar el formulario
  2. Crear un formulario vacío y abrirlo en el editor de formularios; Checklist.aspx > SeccionPregunta.aspx?id=_____
  3. Abrir la consola del Navegador (inspeccionar)
  4. Pegar el contenido de fdeleter.js.txt
  5. Ejecutar el proceso. Esto eliminará las secciones y las preguntas.


fexporter.js.txt - TE genera un archivo JSON para poder importar ese cuestionario a otro lugar

  1. n2a.fxporter = {
    	mainItem : {}
    };
    
    n2a.fxporter.init = function(){
    	
    	n2a.fxporter.ChecklistId = _GET.id;
    	n2a.fxporter.domContainer = document.querySelector(".container form.mws-form");
    	console.log("Obteniendo secciones ...." + n2a.fxporter.ChecklistId);
    	Ext.get(n2a.fxporter.domContainer).mask("Obtniendo secciones....");
    	
    	let cuestionarioTitulo = ($("#main-title-label").text() || "").replace(/\s+/g, ' ').trim()
    	n2a.fxporter.mainItem.metaData = {
    		user : json_user.NombreCompleto,
    		uname : json_user.NombreUsuario,
    		fecha : moment().format("YYYY-MM-DD HH:mm:ss"),
    		url : document.location.href, 
    		ckid : n2a.fxporter.ChecklistId,
    		title : cuestionarioTitulo
    	};
    	
    	n2a.fxporter.obtenChecklistInfo(function(){
    		n2a.fxporter.obtenSecciones(function(v, json){
    			console.log("Secciones listas: ", n2a.fxporter.mainItem.secciones);
    			console.log("Obteniendo preguntas....");
    			Ext.get(n2a.fxporter.domContainer).mask("Obteniendo preguntas...");
    		
    			n2a.fxporter.obtenPreguntas(function(v, json){
    				Ext.get(n2a.fxporter.domContainer).unmask();
    				console.log("Preguntas listas: ", n2a.fxporter.mainItem.preguntas);
    				n2a.fxporter.showJSONWindow();
    			});
    		});
    		
    	});
    	
    
    };
    
    n2a.fxporter.showJSONWindow = function(){
    	MainActions.showHTMLWindow({
    		iconCls: "mail_box_icon",
    		html: "<div id='win-custom-field'>"+ 
    			"<label for='win-custom-field-txt'>Configuración de formulario</label><br/> " +
    			"<img src='img/icons/file-icon.png' onclick='n2a.fxporter.downloadFile();' /><br/>" +
    			"<textarea id='win-custom-field-txt' style='width:100%; height:400px;' onfocus='this.select();'></textarea>" +
    		"</div>",
    		w: 650,
    		h: 600,
    		onclose: function () {
    			
    		},
    		cb: function () {
    			let $txtField = $("#win-custom-field-txt");
    			$txtField.val(JSON.stringify(n2a.fxporter.mainItem, null, "\t"));
    
    		}
    	});
    };
    
    n2a.fxporter.obtenSecciones = function(cb){
    	n2a.fxporter.mainItem.secciones = [];
    	Ext.Ajax.request({
    		url: EvaluacionHandler,
    		params: {
    			pg: "ListSecciones",
    			start: 0,
    			limit: 100,
    			CheckListId : n2a.fxporter.ChecklistId,
    			sort : "SeccionId"
    		},
    		method: 'GET',
    		success: function (response, options) {
    			var json = Ext.util.JSON.decode(response.responseText);
    			n2a.fxporter.mainItem.secciones = json.data;
    			cb(true, n2a.fxporter.mainItem.secciones);
    		}
    	});
    	
    };
    
    n2a.fxporter.obtenChecklistInfo = function(cb){
    	n2a.fxporter.mainItem.ckItem = {};
    	Ext.Ajax.request({
    		url: CamposHandler,
    		params: {
    			pg: "list_cklist",
    			start: 0,
    			limit: 1,
    			id : n2a.fxporter.ChecklistId
    		},
    		method: 'GET',
    		success: function (response, options) {
    			var json = Ext.util.JSON.decode(response.responseText);
    			if(json.data.length > 0){
    				n2a.fxporter.mainItem.ckItem = json.data[0];
    			}
    			cb(true);
    		}
    	});
    	
    };
    
    n2a.fxporter.obtenPreguntas = function(cb){
    	n2a.fxporter.mainItem.preguntas = [];
    	Ext.Ajax.request({
    		url: EvaluacionHandler,
    		params: {
    			pg: "ListPreguntas",
    			start: 0,
    			limit: 350,
    			ckid: n2a.fxporter.ChecklistId,
    			sort : "Orden"
    		},
    		method: 'GET',
    		success: function (response, options) {
    			var json = Ext.util.JSON.decode(response.responseText);
    			n2a.fxporter.mainItem.preguntas = json.data;
    			cb(true, n2a.fxporter.mainItem.preguntas);
    		}
    	});
    	
    };
    
    n2a.fxporter.downloadFile = function(){
    	var txt = $("#win-custom-field-txt").val();
    	var filename = "RArchivos" + (new Date()).format("Ymdhis") + ".txt";
    	var element = document.createElement('a');
    	element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(txt));
    	element.setAttribute('download', filename);
    
    	element.style.display = 'none';
    	document.body.appendChild(element);
    
    	element.click();
    	document.body.removeChild(element);
    };
    
    n2a.fxporter.init();
fimporter.js.txt - Procesa los JSON generados, y crea  / actualiza las preguntas y secciones

  1. n2a.fimporter = {};
    
    n2a.fimporter.init = function(){
    	swal.close();
    	n2a.fimporter.ChecklistId = _GET.id;
    	n2a.fimporter.domContainer = document.querySelector(".container form.mws-form");
    	
    	Ext.get(n2a.fimporter.domContainer).mask("Obteniendo secciones actuales");
    	n2a.fimporter.obtenCurrentSections(function(){
    		Ext.get(n2a.fimporter.domContainer).unmask();
    		n2a.fimporter.uploadFile();
    	});
    	
    }
    n2a.fimporter.uploadFile = function(){
    	var folder = "cuenta_csv";
    	var ckid = n2a.fimporter.ChecklistId;
    	MainActions.showHTML5Upload({
    		folder: folder,
    		maxFiles: 1,
    		BeforeUpload: function (file, _win) {
    			file.rcname = "ckscript_" + ckid + "." + file.rcextension;
    		},
    		onDone: function (archivos, _win) {
    			console.log(archivos);
    			if (archivos.length > 0) {
    				var archivo = archivos[0];
    				archivo.spath = "../panel/uploads/" + folder + "/" + archivo.rcname;
    				n2a.fimporter.startProcess(archivo);
    			}
    			_win.close();
    		},
    		filters: [
    			{
    				title: "Js files",
    				extensions: "js,txt,dat"
    			}
    		]
    	});
    };
    
    n2a.fimporter.startProcess = function(archivo){
    	Ext.get(n2a.fimporter.domContainer).mask("Obtniendo contenido....");
    	console.log(archivo);
    	n2a.fimporter.getContent(archivo.spath, function(){
    		var item = n2a.fimporter.mainItem;
    		//alert(item.metaData.title);
    		Ext.get(n2a.fimporter.domContainer).unmask();
    	
    		Swal.fire({
    			title: "Importando " + item.metaData.title,
    			allowOutsideClick : false,
    			allowEscapeKey : false,
    			html: '<div id="fimporter-win_msg">Procesando...</div>',
    			onBeforeOpen: () => {
    				Swal.showLoading()
    			},
    			onOpen : () => {
    				n2a.fimporter.processChunks();
    			}
    		});
    	});
    	
    };
    
    n2a.fimporter.getSeccion2Import = function(){
    	var secciones =  n2a.fimporter.mainItem.secciones;
    	var secciones2Import = [];
    	secciones.forEach(function(seccionOriginal){
    		var seccionItem = $.extend({}, seccionOriginal);
    		seccionItem.SeccionOriginalId = seccionItem.SeccionId;
    		seccionItem.SeccionId = null;
    		delete seccionItem.SeccionId;
    		seccionItem.CheckListId = n2a.fimporter.ChecklistId;
    		
    		secciones2Import.push(seccionItem);
    	});
    	return secciones2Import;
    };
    
    n2a.fimporter.processChunks = function(){
    	var secciones2Import = n2a.fimporter.getSeccion2Import();
    	var $wcontainer = $("#fimporter-win_msg");
    	var rsData = [];
    	stepExecute(secciones2Import, {
    		onStep: function (index, item, props, cbNext) {
    			console.log(item);
    			var rsItem = {
    				Nombre : item.Nombre,
    				creado : false,
    				importado : false,
    			};
    			console.log(item.Nombre);
    			var htm = "Creando sección: <b>" + item.Nombre + "</b>";
    			var existingSection = n2a.fimporter.currentSecciones[item.SeccionClave];
    			if(existingSection){
    				item.SeccionId = existingSection.SeccionId;
    				htm = "Actualizando sección: <b>" + item.Nombre + "</b>";
    			}
    			
    			htm += "<br/><small>" + (index + 1) +  " de " + secciones2Import.length  + "</small>";
    			$wcontainer.html(htm);
    			n2a.fimporter.creaSeccion(item, function(seccionCreadaId, rs){
    				if(seccionCreadaId){
    					
    					rsItem.seccionCreadaId = seccionCreadaId;
    					rsItem.creado = true;
    				}
    				htm += "<br/><span style='color:green;' id='fimporter-msg_preguntas'>Sección creada, importando preguntas...</span>";
    				$wcontainer.html(htm);
    				n2a.fimporter.creaPreguntas({SeccionCreadaId: seccionCreadaId, SeccionOriginalId: item.SeccionOriginalId}, function(rsPregunta){
    					rsData.push(rsItem);
    					setTimeout(() => cbNext(), 600);
    					
    				});
    				
    			});
    			
    			
    		},
    		onFinish: function () {
    			var htm = $.map(rsData, function(oitem){
    				return oitem.Nombre + " ... " + (oitem.creado ? "<span style='color:green'>OK</span>" : "<span style='color:red'>Error</span>");
    			}).join("<br/>");
    			Swal.fire({
    				type: 'success',
    				title: 'Se procesaron las secciones' ,
    				html :  '<div style="margin-top:10px; text-align:left">' + htm + "</div>"
    			});
    			cleanThaCombo("ExtfieldCmbSecciones");
    			MostrarBotonera();
    			MostrarPreguntasXSeccion();
    			//_this.close();
    		}
    	});
    	
    };
    
    n2a.fimporter.creaPreguntas = function(params, cbFinish){
    	var preguntas = $.extend([], n2a.fimporter.mainItem.preguntas, true);
    	var preguntas = n2a.fimporter.mainItem.preguntas.filter(item => item.SeccionId == params.SeccionOriginalId);
    	preguntas.forEach(item => {
    		item.PreguntaId = null;
    		item.SeccionId = params.SeccionCreadaId;
    		item.CheckListId = n2a.fimporter.ChecklistId;
    		item.TieneFormula = item.Formula ? true : false;
    	});
    	var rsData = [];
    	var $wpregunta = $("#fimporter-msg_preguntas");
    	stepExecute(preguntas, {
    		onStep: function (index, item, props, cbNext) {
    			var rsItem = {
    				Nombre : item.TituloPregunta,
    				creado : false,
    				importado : false,
    			};
    			console.log(item);
    			console.log(item.TituloPregunta);
    			var htm = "Validando pregunta: <b>" + item.TituloPregunta + "</b>";
    			$wpregunta.html(htm);
    			n2a.fimporter.getPreguntaXClave(item.PreguntaClave, function(rowRepetido){
    				var htm = "Creando pregunta: <b>" + item.TituloPregunta + "</b>";
    				if(rowRepetido._v){
    					htm = "Actualizando pregunta: <b>" + item.TituloPregunta + "</b>";
    					console.warn("Ya existe " + rowRepetido.PreguntaId, rowRepetido);
    					item.PreguntaId = rowRepetido.PreguntaId;
    				}
    				$wpregunta.html(htm);
    			
    				n2a.fimporter.creaPreguntaBd(item, function(){
    					rsItem.creado = true;
    					rsData.push(rsItem);
    					cbNext();
    				});
    				
    			});
    			
    			
    			
    		},
    		onFinish: function () {
    			var htm = $.map(rsData, function(oitem){
    				return oitem.Nombre + " ... " + (oitem.creado ? "<span style='color:green'>OK</span>" : "<span style='color:red'>Error</span>");
    			}).join("<br/>");
    			$wpregunta.html(htm);
    			cbFinish();
    		}
    	});
    	
    	
    };
    n2a.fimporter.creaSeccion = function(params, cb){
    	params.pg = "AddSeccion";
    	Ext.Ajax.request({
    		url: EvaluacionHandler,
    		params : params,
    		method :'POST',
    		success:function(response, options){
    			var json = Ext.util.JSON.decode(response.responseText);
    			cb && cb(json.id || 0, json);
    		}
    	})
    };
    
    n2a.fimporter.creaPreguntaBd = function(params, cb){
    	params.pg = "AddPregunta";
    	Ext.Ajax.request({
    		url: EvaluacionHandler,
    		params : params,
    		method :'POST',
    		success:function(response, options){
    			var json = Ext.util.JSON.decode(response.responseText);
    			cb && cb(json.id || 0, json);
    		}
    	})
    };
    
    n2a.fimporter.getContent = function(spath, cb){
    	n2a.fimporter.mainItem = {};
    	Ext.Ajax.request({
    		url: spath,
    		params: {
    		},
    		method: 'GET',
    		success: function (response, options) {
    			console.log(response.responseText);
    			var json = Ext.util.JSON.decode(response.responseText);
    			n2a.fimporter.mainItem = json;
    			cb(true, n2a.fimporter.mainItem);
    		}
    	});
    	
    };
    
    n2a.fimporter.getPreguntaXClave = function(clave, cb){
    	Ext.Ajax.request({
            url: EvaluacionHandler,
            params: {
                pg: "ListPreguntas",
                start: 0,
                limit: 5,
                ckid: n2a.fimporter.ChecklistId,
                sort: "TituloPregunta",
                clave: clave
    
            },
            method: 'GET',
            success: function (response, options) {
                var row = { _v: false };
                var json = Ext.util.JSON.decode(response.responseText);
                if (json.data.length > 0) {
                    row = json.data[0];
                    row._v = true;
               
                }
    			cb(row);
    		}
    	});
    };
    
    n2a.fimporter.obtenCurrentSections = function(cb){
    	n2a.fimporter.currentSecciones = {};
    	Ext.Ajax.request({
    		url: EvaluacionHandler,
    		params: {
    			pg: "ListSecciones",
    			start: 0,
    			limit: 100,
    			CheckListId : n2a.fimporter.ChecklistId,
    			sort : "SeccionId"
    		},
    		method: 'GET',
    		success: function (response, options) {
    			var json = Ext.util.JSON.decode(response.responseText);
    			if(json.data){
    				json.data.forEach(function(item){
    					n2a.fimporter.currentSecciones[item.SeccionClave] = item;
    				});
    			}
    			cb(true);
    		}
    	});
    	
    };
    
    n2a.fimporter.init();
3. fdeleter.js.txt- Limpia todas las preguntas y secciones de un formulario



  1. n2a.fdeleter = {
  2. mainItem : {}
  3. };



  4. n2a.fdeleter.deletePregunta = function(preguntaId, cb){
  5. Ext.Ajax.request({
  6. url:EvaluacionHandler,
  7. params: { 
  8. pg : "EliminaPregunta",
  9. PreguntaId : preguntaId
  10. },
  11. method: 'GET',
  12. success: function(response, options) {
  13. var json = Ext.util.JSON.decode(response.responseText);
  14. cb && cb(json);
  15. }
  16. });
  17. };

  18. n2a.fdeleter.deleteSeccion = function(seccionId, cb){
  19. Ext.Ajax.request({
  20. url:EvaluacionHandler,
  21. params: { 
  22. pg : "EliminaSeccion",
  23. ckid : n2a.fdeleter.ChecklistId,
  24. SeccionId : seccionId
  25. },
  26. method: 'POST',
  27. success: function(response, options) {
  28. var json = Ext.util.JSON.decode(response.responseText);
  29. cb && cb(json);
  30. }
  31. });
  32. };


  33. n2a.fdeleter.init = function(){
  34. n2a.fdeleter.ChecklistId = _GET.id;
  35. n2a.fdeleter.domContainer = document.querySelector(".container form.mws-form");
  36. console.log("Obteniendo secciones ...." + n2a.fdeleter.ChecklistId);
  37. Ext.get(n2a.fdeleter.domContainer).mask("Obtniendo secciones....");
  38. let cuestionarioTitulo = ($("#main-title-label").text() || "").replace(/\s+/g, ' ').trim()
  39. n2a.fdeleter.mainItem.metaData = {
  40. user : json_user.NombreCompleto,
  41. uname : json_user.NombreUsuario,
  42. fecha : moment().format("YYYY-MM-DD HH:mm:ss"),
  43. url : document.location.href, 
  44. ckid : n2a.fdeleter.ChecklistId,
  45. title : cuestionarioTitulo
  46. };
  47. n2a.fdeleter.obtenChecklistInfo(function(){
  48. n2a.fdeleter.obtenSecciones(function(v, json){
  49. console.log("Secciones listas: ", n2a.fdeleter.mainItem.secciones);
  50. console.log("Obteniendo preguntas....");
  51. Ext.get(n2a.fdeleter.domContainer).mask("Obteniendo preguntas...");
  52. n2a.fdeleter.obtenPreguntas(function(v, json){
  53. Ext.get(n2a.fdeleter.domContainer).unmask();
  54. console.log("Preguntas listas: ", n2a.fdeleter.mainItem.preguntas);
  55. var msg = "Estás seguro que deseas eliminar las preguntas y secciones de este cuestionario?\r\n";
  56. msg += "** TITULO: " + n2a.fdeleter.mainItem.ckItem.Titulo;
  57. msg += "\r\n";
  58. msg += "** CLAVE: " + n2a.fdeleter.mainItem.ckItem.Clave;
  59. msg += "\r\n\r\n";
  60. msg += "Son " + n2a.fdeleter.mainItem.secciones.length + " secciones y " + n2a.fdeleter.mainItem.preguntas.length + " preguntas";
  61. if(confirm(msg)){
  62. n2a.fdeleter.initProcess();
  63. }
  64. });
  65. });
  66. });

  67. };

  68. n2a.fdeleter.initProcess = function(){
  69. Swal.fire({
  70. title: "Borrando de  " + n2a.fdeleter.mainItem.ckItem.Titulo,
  71. allowOutsideClick : false,
  72. allowEscapeKey : false,
  73. html: '<div id="fdeleter-win_msg">Procesando...</div>',
  74. onBeforeOpen: () => {
  75. Swal.showLoading()
  76. },
  77. onOpen : () => {
  78. n2a.fdeleter.processChunks();
  79. }
  80. });
  81. };

  82. n2a.fdeleter.processChunks = function(){
  83. n2a.fdeleter.removePreguntas(function(){
  84. n2a.fdeleter.removeSecciones(function(){
  85. cleanThaCombo("ExtfieldCmbSecciones");
  86. MostrarBotonera();
  87. MostrarPreguntasXSeccion();
  88. });
  89. });
  90. };

  91. n2a.fdeleter.removeSecciones = function(cbFinish){
  92. var $wcontainer = $("#fdeleter-win_msg");
  93. var rsData = [];
  94. var secciones = n2a.fdeleter.mainItem.secciones;
  95. stepExecute(secciones, {
  96. onStep: function (index, item, props, cbNext) {
  97. console.log(item);
  98. var rsItem = {
  99. Nombre : item.Nombre,
  100. borrado : false,
  101. };
  102. console.log(item.Nombre);
  103. var htm = "Borrando sección: <b>" + item.Nombre + ", Id="+ item.SeccionId +"  ("+ (index + 1) + " de " + secciones.length +")</b>";
  104. $wcontainer.html(htm);
  105. n2a.fdeleter.deleteSeccion(item.SeccionId, function(rsDelete){
  106. var msgDelete = "<br/><span style='color:red;' id='fexporter-msg_secciones'>No se borró</span>";
  107. if(!rsDelete.error){
  108. msgDelete = "<br/><span style='color:green;' id='fexporter-msg_secciones'>Sección borrada</span>";
  109. rsItem.borrado = true;
  110. }
  111. htm += msgDelete;
  112. $wcontainer.html(htm);
  113. rsData.push(rsItem);
  114. setTimeout(() => cbNext(), 100);
  115. });

  116. },
  117. onFinish: function () {
  118. var htm = $.map(rsData, function(oitem){
  119. return oitem.Nombre + " ... " + (oitem.borrado ? "<span style='color:green'>OK</span>" : "<span style='color:red'>Error</span>");
  120. }).join("<br/>");
  121. Swal.fire({
  122. type: 'success',
  123. title: 'Se borraron las secciones' ,
  124. html :  '<div style="margin-top:10px; text-align:left">' + htm + "</div>"
  125. });
  126. setTimeout(function(){
  127. cbFinish();
  128. }, 300);
  129. }
  130. });
  131. };

  132. n2a.fdeleter.removePreguntas = function(cbFinish){
  133. var $wcontainer = $("#fdeleter-win_msg");
  134. var rsData = [];
  135. var preguntas = n2a.fdeleter.mainItem.preguntas;
  136. if(preguntas.length <= 0){
  137. cbFinish();
  138. return;
  139. }
  140. stepExecute(preguntas, {
  141. onStep: function (index, item, props, cbNext) {
  142. console.log(item);
  143. var rsItem = {
  144. Nombre : item.PreguntaClave,
  145. borrado : false,
  146. };
  147. console.log(item.PreguntaClave);
  148. var htm = "Borrando pregunta: <b>" + item.PreguntaClave + " ("+ (index + 1) + " de " + preguntas.length +")</b>";
  149. $wcontainer.html(htm);
  150. n2a.fdeleter.deletePregunta(item.PreguntaId, function(rsDelete){
  151. var msgDelete = "<br/><span style='color:red;' id='fexporter-msg_preguntas'>No se borró</span>";
  152. if(!rsDelete.error){
  153. msgDelete = "<br/><span style='color:green;' id='fexporter-msg_preguntas'>Pregunta borrada</span>";
  154. rsItem.borrado = true;
  155. }
  156. htm += msgDelete;
  157. $wcontainer.html(htm);
  158. rsData.push(rsItem);
  159. setTimeout(() => cbNext(), 600);
  160. });

  161. },
  162. onFinish: function () {
  163. var htm = $.map(rsData, function(oitem){
  164. return oitem.Nombre + " ... " + (oitem.borrado ? "<span style='color:green'>OK</span>" : "<span style='color:red'>Error</span>");
  165. }).join("<br/>");
  166. Swal.fire({
  167. type: 'success',
  168. title: 'Se borraron las preguntas' ,
  169. html :  '<div style="margin-top:10px; text-align:left">' + htm + "</div>"
  170. });
  171. setTimeout(function(){
  172. cbFinish();
  173. }, 300);
  174. }
  175. });
  176. };

  177. n2a.fdeleter.obtenSecciones = function(cb){
  178. n2a.fdeleter.mainItem.secciones = [];
  179. Ext.Ajax.request({
  180. url: EvaluacionHandler,
  181. params: {
  182. pg: "ListSecciones",
  183. start: 0,
  184. limit: 100,
  185. CheckListId : n2a.fdeleter.ChecklistId,
  186. sort : "SeccionId"
  187. },
  188. method: 'GET',
  189. success: function (response, options) {
  190. var json = Ext.util.JSON.decode(response.responseText);
  191. n2a.fdeleter.mainItem.secciones = json.data;
  192. cb(true, n2a.fdeleter.mainItem.secciones);
  193. }
  194. });
  195. };

  196. n2a.fdeleter.obtenChecklistInfo = function(cb){
  197. n2a.fdeleter.mainItem.ckItem = {};
  198. Ext.Ajax.request({
  199. url: CamposHandler,
  200. params: {
  201. pg: "list_cklist",
  202. start: 0,
  203. limit: 1,
  204. id : n2a.fdeleter.ChecklistId
  205. },
  206. method: 'GET',
  207. success: function (response, options) {
  208. var json = Ext.util.JSON.decode(response.responseText);
  209. if(json.data.length > 0){
  210. n2a.fdeleter.mainItem.ckItem = json.data[0];
  211. }
  212. cb(true);
  213. }
  214. });
  215. };

  216. n2a.fdeleter.obtenPreguntas = function(cb){
  217. n2a.fdeleter.mainItem.preguntas = [];
  218. Ext.Ajax.request({
  219. url: EvaluacionHandler,
  220. params: {
  221. pg: "ListPreguntas",
  222. start: 0,
  223. limit: 350,
  224. ckid: n2a.fdeleter.ChecklistId,
  225. sort : "Orden"
  226. },
  227. method: 'GET',
  228. success: function (response, options) {
  229. var json = Ext.util.JSON.decode(response.responseText);
  230. n2a.fdeleter.mainItem.preguntas = json.data;
  231. cb(true, n2a.fdeleter.mainItem.preguntas);
  232. }
  233. });
  234. };

  235. n2a.fdeleter.init();