Foro

Conservar el id de mi cabecera para ingresar mis detalles

0
Hola ante todo muchas gracias por las respuestas anteriores, mi pregunta ahora es como puedo conservar el id que me genera en mi documento para poder ingresar mis detalles, cuando guardo mi documento traigo el ID guardo mi primer detalle bien y para los siguientes pierdo el id.Haber si me dan la mano. o tienen algun ejemplo de como almacenar un documento con sus detalles
/***Extension Local(formFunction)***/
	function crearVentanaAgregarLocal(button, maximisado) {
	
	var tabPanel = {
		xtype             :'tabpanel',
		activeTab         : 0,
		deferredRender    : false,
		layoutOnTabChange : true,
		border            : false,
		flex              : 1,
		plain             : true,
		items             : [form_add,form_addDetalleCuarentena]
	}
	
		if (!winFormAdd) {
			winFormAdd = new Ext.Window({
				layout : 'fit', 
				id: 'win_add_item', 
				title: button.etiqueta, 
				width: 500, 
				height: 400,
				minWidth: 500, 
				minHeight: 400, 
				constrain : true,
				maximizable: true,
				//maximized: true,
				resizable: true, 
				closeAction: 'hide', 				
				plain: true, 
				modal: true, 
				border: true, 
				items: [tabPanel]
			}).show();
		} else {
			winFormAdd.show();//Muestra la ventana si ya esta creada
		}
		
		form_add.getForm().reset(); //Para limpiar los datos 
	}
/**********************************/
/***Extension Local(tqcFormPanelAdd)***/
	Ext.ns("tqc.generic.formpanel");
	
	Ext.BLANK_IMAGE_URL = '../img/layout/s.gif';
	Ext.form.Field.prototype.msgTarget = 'side';
	Ext.QuickTips.init();
	
	tqc.generic.formpanel.TqcFormPanelAddLocal = function(config) {
		var myRef = this;
		var tqcingresocuarentenaId;
		
		/******************** Mensaje del respuesta ********************/
		var onSuccessOrFail = function(form, action) {	
			var result = action.result;
			if (result.success) {
				Ext.MessageBox.alert(action.result.title,action.result.msg);
				tqcingresocuarentenaId = action.result.tqcingresocuarentenaId;
				Ext.getCmp('tqcingresocuarentenaId').setValue(tqcingresocuarentenaId);							
				grid.store.reload();
			}
			else {
				Ext.MessageBox.alert(action.result.title,action.result.msg);
			}
		}	
		
		/******************** Form Tool Bar ********************/
		var formTbar = new Ext.Toolbar({
			buttons: [{
				text: 'Guardar', 
				formBind: true,	
				type: 'submit', 
				tooltip: 'Guardar los cambios', 
				iconCls: 'save', 
				handler: function() {
					myRef.form.submit({
						url: config.urlGuardarItem, 
						method: 'POST', 
						waitTitle: 'Conectando', 
						waitMsg: 'Enviando los datos...', 
						success: onSuccessOrFail, 
						failure: onSuccessOrFail
					});
				}
			}, {
				text: 'Cancelar', 
				tooltip: 'Deshacer los cambios', 
				iconCls: 'reset', 
				handler: function() {
					myRef.form.reset();
				}
			}, {
				text: 'Cerrar', 
				tooltip: 'Cerrar la ventana', 
				iconCls: 'close', 
				handler: function() {
					if(winFormAdd) {
						winFormAdd.hide();
					}
				}
			}]
		});
		
		config.tbar	= formTbar;
		myRef.items = config.items;
		
		tqc.generic.formpanel.TqcFormPanelAddLocal.superclass.constructor.call(this, config);
	}
	
	/******************** Ext Form ********************/
	Ext.extend(tqc.generic.formpanel.TqcFormPanelAddLocal, Ext.form.FormPanel, {
		//autoWidth: true, 
		//autoHeight: true, 
		bodyStyle: 'padding: 5px', 	
		header: false, 
		frame: true, 
		border: false, 
		waitMsgTarget: true, 
		monitorValid: true, 
		//loadMask: true, 	
		defaults: {
			width: 200
		}, 
		labelWidth: 200, 
		labelAlign: 'right', 
		defaultType: 'textfield' //Por defecto
	});
/*********************/
/******************** Ext Name Space ********************/
Ext.ns("tqc.Tqctipodocumentos.add");
/******************** Variables ********************/
var form_add;
/******************** Form ComboBoxes ********************/
var formCmbTipoDocumento = new Ext.form.ComboBox({
	fieldLabel: 'Tipo de Doc', 
	emptyText: 'Seleccione un tipo de documento...', 
	loadingText: 'Cargando...', 
	store: new Ext.data.JsonStore({
		url: 'http://' + url_base + '/Tqcdocumentos/documentosjson', 
        root: 'tipodocumentos', 
		autoLoad: true, 
	    idProperty: 'id', 
		fields: [
			'id', 'descripcion', 
	    	{name: 'id'}, 
	    	{name: 'descripcion'}
    	]
	}), 
	triggerAction: 'all', 
	valueField: 'id', //valor que se va ah enviar
	displayField: 'descripcion', //lo que se va a visualizar
	hiddenName: 'data[Tqcdocumento][tqctipodocumento_id]', 
	typeAhead: true, 
	selectOnFocus: true, 
	allowBlank: false, 
	blankText: 'Tipo de documento es requerido'
});
var formCmbProveedor = new Ext.form.ComboBox({
	fieldLabel: 'Proveedor', 
	emptyText: 'Seleccione un tipo de Proveedor...', 
	loadingText: 'Cargando...', 
	store: new Ext.data.JsonStore({
		url: 'http://' + url_base + '/Tqcdocumentos/proveedorjson', 
        root: 'proveedores', 
		autoLoad: true, 
	    idProperty: 'id', 
		fields: [
			'id', 'nombrecomercial', 
	    	{name: 'id'}, 
	    	{name: 'nombrecomercial'}
    	]
	}), 
	triggerAction: 'all', 
	valueField: 'id', //valor que se va ah enviar
	displayField: 'nombrecomercial', //lo que se va a visualizar
	hiddenName: 'data[Tqcingresocuarentena][tqcproveedor_id]',
	typeAhead: true, 
	selectOnFocus: true, 
	allowBlank: false, 
	blankText: 'El proveedor es requerido'
});
var formCmbArticulo = new Ext.form.ComboBox({
	fieldLabel: 'Articulo', 
	emptyText: 'Seleccione un tipo de Articulo...', 
	loadingText: 'Cargando...', 
	store: new Ext.data.JsonStore({
		url: 'http://' + url_base + '/Tqcdocumentos/articulojson', 
        root: 'articulos', 
		autoLoad: true, 
	    idProperty: 'id', 
		fields: [
			'id', 'descripcion', 
	    	{name: 'id'}, 
	    	{name: 'descripcion'}
    	]
	}),
	listWidth: 200, 
	triggerAction: 'all', 
	valueField: 'id', //valor que se va ah enviar
	displayField: 'descripcion', //lo que se va a visualizar
	hiddenName: 'data[Tqcdetalleingresocuarentena][tqcarticulo_id]', 
	typeAhead: true, 
	selectOnFocus: true, 
	allowBlank: false, 
	blankText: 'El articulo es requerido'
});
/******************** Tqc Ext Form ********************/
form_add = new tqc.generic.formpanel.TqcFormPanelAddLocal({
	id : 'form_add',
	title     :'Crear Documento',
	urlGuardarItem: 'http://' + url_base + '/Tqcdocumentos/save', 
	items: [
				formCmbTipoDocumento, 
				{
					fieldLabel: 'Numero', 
					name: 'data[Tqcdocumento][numero]', 
					allowDecimals: false, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Numero requerido'
				}, {
					fieldLabel: 'Fecha',
					xtype      : 'datefield', 
					name: 'data[Tqcdocumento][fecha]', 		
					allowDecimals: false, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Fecha es requerido'		
				},
				formCmbProveedor, 
				{
					fieldLabel: 'Documento proveedor', 
					name: 'data[Tqcingresocuarentena][documentoproveedor]', 
					allowDecimals: false, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Documento proveedor requerido'
				}, 
				{
					fieldLabel: 'Orden de compra de referencia', 
					name: 'data[Tqcingresocuarentena][ocreferencia]', 
					allowDecimals: false, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Campo requerido'
				}
		   ]
});
/******************** Tqc Ext Form ********************/
form_addDetalleCuarentena = new tqc.generic.formpanel.TqcFormPanelAddLocal({
	id : 'form_addDetalleCuarentena',
	title     :'Detalle de Documento',
	urlGuardarItem: 'http://' + url_base + '/Tqcdocumentos/detallecuarentena', 
	items: [				
				formCmbArticulo,
				{
					id : 'tqcingresocuarentenaId',
					value: form_add.tqcingresocuarentenaId,			
					hiddenName: 'data[Tqcdetalleingresocuarentena][tqcingresocuarentena_id]', 
					name: 'data[Tqcdetalleingresocuarentena][tqcingresocuarentena_id]', 
					xtype: 'hidden'
				},
				{					
					fieldLabel: 'Codigo Proveedor', 
					name: 'data[Tqcdetalleingresocuarentena][codigoproveedor]', 
					allowDecimals: false, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Codigo Proveedor es requerido'
				}, {					
					fieldLabel: 'Lote Proveedor',					
					name: 'data[Tqcdetalleingresocuarentena][loteproveedor]', 		
					allowDecimals: false, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Lote Proveedor es requerido'		
				},				
				{
					xtype      : 'numberfield',
					fieldLabel: 'Cantidad', 
					name: 'data[Tqcdetalleingresocuarentena][cantidad]', 
					allowDecimals: true, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Cantidad es requerido'
				}, 
				{
					xtype      : 'numberfield',
					fieldLabel: 'Cantidad Aprobada', 
					name: 'data[Tqcdetalleingresocuarentena][cantidadaprobada]', 
					allowDecimals: true, 
					allowNegative: false, 
					allowBlank: false, 
					blankText: 'Cantidad Aprobada es requerido'
				}
				
		   ]
});

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.