<?php
/*
Autor: Lic. Carlos Alberto Vaca Coronado
Version: 3.2.0
*/

session_name('portal_absa');session_start();if(!isset($_SESSION['usuario_p_prov_absa']) || trim($_SESSION['usuario_p_prov_absa']) == "" || trim(strtoupper($_SESSION["URL_PORTAL"]."admin.php")) != trim(strtoupper($_SERVER['HTTP_REFERER']))){?><script>window.location.href="<?=$_SESSION["URL_PORTAL"]."index.php"?>"</script><?exit;}
	
$q="select t.idReceptor as idReceptor,rfc,tipodocto,rutaxml_p,rutapdf_p,adicional,usarRutaDistribuida from tdoctos_r t, receptor r where t.idReceptor='".$_POST['id']."' and t.idReceptor=r.idReceptor";

$_SESSION['grid_select']='grid_tdoctos';
?>
<script>
/**
Configuraciones GRID:

php = php que contiene todas las configuraciones para generar el grid
-----------
headerNames = Nombre de las columnas
-----------
sortname = campo de orden inicial
-----------
idGrid = id del grid
-----------
idPagina = id de Pagina
-----------
optionsCol = Configuracion de columnas del grid, los nombres de campos deben de ser asi como se 
encuentran en la query
-----------
ignoreColNamesExcel = posicion de columnas que se deben de ignorar en el Excel:
Ejemplo:
.
.
headerName: 'Campo 1,Campo 2,Campo 3,Campo 4'
optionsCol: 'campo1|width: 60,frozen;'+
			'campo2|width: 60,frozen;'+
			'campo3|width: 60,frozen;'+
			'campo4|width: 60,frozen',
ignoreColNamesExcel: '0,3',
.
.
Nota - la posicion de columnas inician desde 0.
-----------
sheetName = Nombre del Grid y Nombre de la hoja de Excel
-----------
urlDatos = .php que regresa los registros para el grid
-----------
div = div donde se cargara el grid
-----------
width = ancho del grid
-----------
rowNum = numero de registros por pagina
-----------
query = consulta SQL que regresara los datos del grid
Nota - la consulta no debe de terminar con un order by ya que para eso se usa el sortname
-----------
optionsForm = Opciones de campos del formulario
<<nombreCampo>> | [<<siKey>>] | [<<LabelEnForm>>] | [<<PropiedadesObjeto>>] | [<<tipoInput>>]
ejemplo:
.
.
optionsForm: 	'campo1|true||type="hidden";;'+
				'campo2|true|Campo 2 *|class=":required" onBlur="valField(\\\'grids/validaAJAX.php\\\',\\\'duplicado\\\',\\\'tdoctos\\\',this,\\\'[WHERE-FORM]\\\',\\\'dif\\\',\\\'VALENBD\\\'); return false;";;'+
				'campo3||Campo 3|cols="30" rows="5"|textarea;;'+
				'campo4||Campo 4|class=":required"|password;;'+
				'campo5||Campo 5||select{: Seleccione un Registro, SI: SI, NO: NO};;'+
				'campo6||Campo 6||select{query: select campoKey,campoMostrado from doctos};;'+
				'campo7||Campo 7||checkbox{true:YES,default: true}',
.
.
Nota - Los campos que se indican como llave especifican la condicion de edicion de registro, es decir, 
el where de la query para regresar los datos del registro seleccionado y el where de validacion de un 
campo, en caso de usar la funcion valField.

La funcion valField se compone de los siguientes parametros:

valField(<<.phpValidacion>>,<<tipoValidacion>>,<<NombreTabla>>,<<elementoObjeto>>,[<<valorLlave>>],[<<operadorCondicion>>],[<<valorEnBaseDatos>>])

valorLlave = condicionWhere complementaria de validacion si se indica el valor [WHERE-FORM] este tomara
los campos marcados como llave para su respectiva validacion, en caso contrario se usara el valor
del campo como unico en la tabla

valorEnBaseDatos = Es el valor del campo que se encuentra en la base de datos, esto para indicar que si se vuelve
a escribir lo que ya tenia como valor por defecto, omita la validacion de duplicado. Para poder indicar
que se omita se debe de agregar este parametro con valor [VALENBD].

En el ejemplo anterior se indica que se usara el archivo validaAJAX.php que contiene las funciones
de validacion y validara el campo como duplicado de la tabla tdoctos, "this" es el objeto html y se indica
con [WHERE-FORM] que se usaran los campos marcados como llave para su validacion. la query de salida seria
Select campo2 from tdoctos where campo2='<<ValorIntroducido>>' and campo1<>'<<valorCampo1>>'

Nota - Cuando el campo que se esta validando es llave, este se omite en la condicion [WHERE-FORM] 
para evitar incongruencia ya que si no se omite, la query quedaria de la siguiente manera.

Select campo2 from tdoctos where campo2='<<ValorIntroducido>>' and campo1<>'<<valorCampo1>>' 
and campo2<>'<<valorCampo2=ValorIntroducido>>'

Note que en el where se repite el mismo campo indicando primero una igualdad y despues una diferencia.
-----------
captionForm = Nombre del Formulario
tabla = Nombre de la tabla(usado para editar,agregar,eliminar registros)
reloadGridAfterSave = 
*/
var query="<?=$q?>";
$j_6(document).ready(function(){
	$j_6().gridJQGrid({
	php: 'grids/documentos_asoc_Grid.php',
	headerNames: 'ID Receptor,RFC,Tipo Documento,Ruta XML,Ruta PDF,Adicional,Rutas Distribuidas',
	sortname: 'tipodocto',
	idGrid: 'grid_tdoctos',
	idPagina: 'pagina_tdoctos',
	optionsCol: 'idReceptor|width: 60, frozen: true;'+
				'rfc|width: 150, frozen: true;'+
				'tipodocto|width: 110, frozen: true;'+
				'rutaxml_p|width: 200;'+
				'rutapdf_p|width: 200;'+
				'adicional|width: 60;'+
				'usarRutaDistribuida|width: 150',
	hiddenCol: '',
	ignoreColNamesExcel: '0',
	sheetName: 'Tipo Documento',
	urlDatos: 'grids/documentosDatosGrid.php',
	div: 'cuerpo',
	width: $j_6('#cuerpo').width(),
    height: 'auto',
	rowNum: 20,
	query: query,
	optionsForm: 	'',
	captionForm: 'Configuraci&oacute;n de Documento - R.F.C. <?=@$_POST['id2']?>',
	tabla: 'tdoctos_r',
	reloadGridAfterSave: 'grids/documentos_asoc.php',
	captionConfirm: '¿Esta seguro de eliminar el documento?',
	widthConfirm: 300,
	heightConfirm: 100,
	widthForm: 600,
	heightForm: 500,
	//fileForm: 'grids/generaForm.php?valLiga=<?=@$_POST['id']?>',
	fileForm: 'configDocumentos.php?idReceptor=<?=@$_POST['id']?>&valLiga=<?=@$_POST['id']?>',
	edit: true,
	add: true,
	del: true,
	formName: 'form_doctos',
	delForm: 'grids/confirmar.php?valLiga=<?=@$_POST['id']?>'
	});
});
</script>