{
- "id": "roo-file-35",
+ "id": "roo-file-37",
"name": "Pman.Dialog.XtupleTransfer",
"parent": "",
"title": "",
"items": [
{
"listeners": {
- "|actioncomplete": "function(_self,action)\n{\n if (action.type == 'setdata') {\n //_this.dialog.el.mask(\"Loading\");\n Roo.log('setdata');\n Roo.log(_this.data); \n // reversal...\n _this.grid.setColumns();\n _this.saveBtn.show(); \n if (_this.data.createFromRev) {\n Roo.log('recvg');\n this.load({ method: 'GET', params: { '_createFromRecv' : _this.data.createFromRev }}); \n return;\n \n }\n \n if (_this.data.invhist_transfer_id) {\n \n \n var tdb = baseURL.split('/').pop().split('.').shift();\n if (tdb != _this.data._roo_office) {\n this.el.mask('Remote Transfer - Read Only');\n _this.grid.view.headerPanel.mask(\"\");\n _this.uploadBtn.hide();\n _this.saveBtn.hide(); \n } else {\n this.el.unmask();\n _this.grid.view.headerPanel.unmask();\n _this.uploadBtn.show();\n _this.saveBtn.show(); \n }\n \n \n \n this.load({ method: 'GET', params: {\n _id : _this.data.invhist_transfer_id,\n _roo_office : _this.data._roo_office\n }});\n return;\n } \n _this.grid.ds.removeAll();\n _this.form.setValues({\n invhist_transfer_transdate : \n typeof(_this.data.invhist_transfer_transdate) == 'undefined' ? \n (new Date()).format('Y-m-d') :\n _this.data.invhist_transfer_transdate\n ,\n invhist_transfer_number : 'AUTOMATIC',\n _roo_office : _this.data._roo_office\n });\n \n if(_this.data._createReverse){\n if(_this.grid){\n new Pman.Request({\r\n url : baseURL + '/Roo/invhist_transfer_item',\r\n method : 'GET',\r\n params : {\r\n invhist_transfer_item_invhist_transfer_id : _this.data._createReverse,\r\n 'query[at_location]' : _this.data.invhist_transfer_from,\n _requestMeta : 1,\n limit : 999,\n sort : 'invhist_transfer_item_line',\n dir : 'ASC'\r\n },\r\n success : function (res) \r\n {\n Roo.log('loadData');\n Roo.log(res); \r\n _this.grid.ds.loadData(res,false);\r\n }\r\n });\n }\n }\n \n this.setValues({\n invhist_transfer_salesrep_id : Pman.Login.authUser.salesrep.salesrep_id,\n invhist_transfer_salesrep_id_salesrep_name : Pman.Login.authUser.salesrep.salesrep_name\n });\n \n \n if (typeof(_this.data._ns_autofill) != 'undefined') {\n Roo.log(\"autofill: \" + _this.data._ns_autofill);\n \n \n var locid = _this.data._ns_autofill === 1 ?_this.data.invhist_transfer_to : _this.data.invhist_transfer_from; \n // clear it so it's not done again..\n \n Roo.log(\"locid: \" + locid);\n \n var rn = 0;\n var addRow = function(r) {\n \n var nsQty = r.netsuite_qty*1;\n nsQty = nsQty < 1 ? 0 : nsQty;\n \n var ourQty = r.itemsite_qty *1;\n var addQty = 0;\n if (_this.data._ns_autofill === 1) {\n // then we are trying to transfer from somewhere to her, to increase the qty to match\n // so if ourQty < nsQty\n if (ourQty < nsQty) {\n addQty = nsQty - ourQty;\n }\n \n } else {\n // we are trying to transfer out to get rid of stock to match..\n if (nsQty < ourQty) {\n addQty = ourQty - nsQty;\n }\n }\n \n if (addQty * 1 < 1) {\n \n return;\n }\n \n var nr = _this.grid.ds.reader.newRow({\n invhist_transfer_item_line : rn + 1,\n item_id : r.itemsite_item_id, \n invhist_transfer_item_itemsite_id : r.itemsite_id, \n item_number : r.itemsite_item_id_item_number,\n item_descrip1 : r.itemsite_item_id_item_descrip1,\n invhist_transfer_item_qty : addQty,\n item_availqty : 0 \n // invhist_transfer_item_transfer_id : tid << we do not know this?!?\n });\n _this.grid.ds.insert(rn++, nr); \n \n };\n \n \n \n \n // do the request..\n new Pman.Request({\n url : baseURL + '/Roo/itemsite',\n mask: \"Fetching Stock Quantities\",\n method : 'GET',\n params : {\n limit : 99999,\n location_id : locid,\n _as_of : _this.data.invhist_transfer_transdate,\n _with_stock_and_value : 1,\n _with_ns_all_stock : 1,\n 'sort' : 'itemsite_item_id_item_number',\n 'dir' : 'ASC'\n },\n success : function(res) {\n Roo.log(res);\n Roo.each(res.data, addRow);\n _this.data._ns_autofill = undefined;\n }\n });\n }\n \n return;\n }\n if (action.type == 'load') {\n \n // fix date..\n this.findField('_roo_office').setValue( _this.data._roo_office );\n Roo.log(action);\n _this.data = action.result.data;\n if(_this.data.invhist_transfer_void){\n _this.saveBtn.hide();\n }\n var dt = Date.parseDate(_this.data.invhist_transfer_transdate.split(' ')[0], \"Y-m-d\");\n _this.form.findField('invhist_transfer_transdate').setValue(dt);\n var dt = Date.parseDate(_this.data.invhist_transfer_arrivaldate.split(' ')[0],\"Y-m-d\");\n _this.form.findField('invhist_transfer_arrivaldate').setValue(dt);\n _this.grid.ds.load({});\n \n return;\n }\n if (action.type =='submit') {\n \n \n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset();\n return;\n }\n}\n",
+ "|actioncomplete": "function(_self,action)\n{\n if (action.type == 'setdata') {\n //_this.dialog.el.mask(\"Loading\");\n Roo.log('setdata');\n Roo.log(_this.data); \n // reversal...\n _this.toLocation._is_internalcompany = false;\n _this.grid.setColumns();\n _this.saveBtn.show(); \n if (_this.data.createFromRev) {\n Roo.log('recvg');\n this.load({ method: 'GET', params: { '_createFromRecv' : _this.data.createFromRev }}); \n return;\n \n }\n \n if (_this.data.invhist_transfer_id) {\n \n \n var tdb = baseURL.split('/').pop().split('.').shift();\n if (tdb != _this.data._roo_office) {\n this.el.mask('Remote Transfer - Read Only');\n _this.grid.view.headerPanel.mask(\"\");\n _this.uploadBtn.hide();\n _this.saveBtn.hide(); \n } else {\n this.el.unmask();\n _this.grid.view.headerPanel.unmask();\n _this.uploadBtn.show();\n _this.saveBtn.show(); \n }\n \n \n \n this.load({ method: 'GET', params: {\n _id : _this.data.invhist_transfer_id,\n _roo_office : _this.data._roo_office\n }});\n return;\n } \n _this.grid.ds.removeAll();\n _this.form.setValues({\n invhist_transfer_transdate : \n typeof(_this.data.invhist_transfer_transdate) == 'undefined' ? \n (new Date()).format('Y-m-d') :\n _this.data.invhist_transfer_transdate\n ,\n invhist_transfer_number : 'AUTOMATIC',\n _roo_office : _this.data._roo_office\n });\n \n if(_this.data._createReverse){\n if(_this.grid){\n new Pman.Request({\r\n url : baseURL + '/Roo/invhist_transfer_item',\r\n method : 'GET',\r\n params : {\r\n invhist_transfer_item_invhist_transfer_id : _this.data._createReverse,\r\n 'query[at_location]' : _this.data.invhist_transfer_from,\n _requestMeta : 1,\n limit : 999,\n sort : 'invhist_transfer_item_line',\n dir : 'ASC'\r\n },\r\n success : function (res) \r\n {\n Roo.log('loadData');\n Roo.log(res); \r\n _this.grid.ds.loadData(res,false);\r\n }\r\n });\n }\n }\n \n this.setValues({\n invhist_transfer_salesrep_id : Pman.Login.authUser.salesrep.salesrep_id,\n invhist_transfer_salesrep_id_salesrep_name : Pman.Login.authUser.salesrep.salesrep_name\n });\n \n \n if (typeof(_this.data._ns_autofill) != 'undefined') {\n Roo.log(\"autofill: \" + _this.data._ns_autofill);\n \n \n var locid = _this.data._ns_autofill === 1 ?_this.data.invhist_transfer_to : _this.data.invhist_transfer_from; \n // clear it so it's not done again..\n \n Roo.log(\"locid: \" + locid);\n \n var rn = 0;\n var addRow = function(r) {\n \n var nsQty = r.netsuite_qty*1;\n nsQty = nsQty < 1 ? 0 : nsQty;\n \n var ourQty = r.itemsite_qty *1;\n var addQty = 0;\n if (_this.data._ns_autofill === 1) {\n // then we are trying to transfer from somewhere to her, to increase the qty to match\n // so if ourQty < nsQty\n if (ourQty < nsQty) {\n addQty = nsQty - ourQty;\n }\n \n } else {\n // we are trying to transfer out to get rid of stock to match..\n if (nsQty < ourQty) {\n addQty = ourQty - nsQty;\n }\n }\n \n if (addQty * 1 < 1) {\n \n return;\n }\n \n var nr = _this.grid.ds.reader.newRow({\n invhist_transfer_item_line : rn + 1,\n item_id : r.itemsite_item_id, \n invhist_transfer_item_itemsite_id : r.itemsite_id, \n item_number : r.itemsite_item_id_item_number,\n item_descrip1 : r.itemsite_item_id_item_descrip1,\n invhist_transfer_item_qty : addQty,\n item_availqty : 0 \n // invhist_transfer_item_transfer_id : tid << we do not know this?!?\n });\n _this.grid.ds.insert(rn++, nr); \n \n };\n \n \n \n \n // do the request..\n new Pman.Request({\n url : baseURL + '/Roo/itemsite',\n mask: \"Fetching Stock Quantities\",\n method : 'GET',\n params : {\n limit : 99999,\n location_id : locid,\n _as_of : _this.data.invhist_transfer_transdate,\n _with_stock_and_value : 1,\n _with_ns_all_stock : 1,\n 'sort' : 'itemsite_item_id_item_number',\n 'dir' : 'ASC'\n },\n success : function(res) {\n Roo.log(res);\n Roo.each(res.data, addRow);\n _this.data._ns_autofill = undefined;\n }\n });\n }\n \n return;\n }\n if (action.type == 'load') {\n \n // fix date..\n this.findField('_roo_office').setValue( _this.data._roo_office );\n Roo.log(action);\n _this.data = action.result.data;\n \n _this.toLocation._is_internalcompany = true;\n if(!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length){\n _this.toLocation._is_internalcompany = false;\n }\n \n if(_this.data.invhist_transfer_void){\n _this.saveBtn.hide();\n }\n var dt = Date.parseDate(_this.data.invhist_transfer_transdate.split(' ')[0], \"Y-m-d\");\n _this.form.findField('invhist_transfer_transdate').setValue(dt);\n var dt = Date.parseDate(_this.data.invhist_transfer_arrivaldate.split(' ')[0],\"Y-m-d\");\n _this.form.findField('invhist_transfer_arrivaldate').setValue(dt);\n _this.grid.ds.load({});\n \n return;\n }\n if (action.type =='submit') {\n \n \n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset();\n return;\n }\n}\n",
"|rendered": "function (form)\n{\n _this.form= form;\n}\n"
},
"method": "POST",
"xtype": "Row",
"items": [
{
+ "actionMode": "fieldEl",
"allowBlank": true,
"displayField": "desc",
"editable": false,
"clicksToEdit": 1,
"loadMask": true,
"xtype": "EditorGrid",
- "|setColumns": "function() {\n var cm = _this.grid.getColumnModel();\n \n function cid(str) {\n return cm.getIndexByDataIndex(str);\n }\n \n if((!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length) && !_this.toLocation._is_internalcompany){\n cm.setHidden(cid('invhist_transfer_item_unit_price'), true);\n cm.setHidden(cid('invhist_transfer_item_unit_price_default'), true);\n return;\n }\n \n cm.setHidden(cid('invhist_transfer_item_unit_price'), false);\n cm.setHidden(cid('invhist_transfer_item_unit_price_default'), false);\n}\n",
+ "|setColumns": "function() {\n var cm = _this.grid.getColumnModel();\n \n function cid(str) {\n return cm.getIndexByDataIndex(str);\n }\n \n if((!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length) && !_this.toLocation._is_internalcompany){\n cm.setHidden(cid('invhist_transfer_item_unit_price'), true);\n cm.setHidden(cid('invhist_transfer_item_unit_price_default'), true);\n _this.form.findField('invhist_transfer_price').hide();\n return;\n }\n \n cm.setHidden(cid('invhist_transfer_item_unit_price'), false);\n cm.setHidden(cid('invhist_transfer_item_unit_price_default'), false);\n _this.form.findField('invhist_transfer_price').show();\n}\n",
"|xns": "Roo.grid",
"items": [
{
{
"*prop": "proxy",
"method": "GET",
+ "timeout": 180000,
"xtype": "HttpProxy",
"|url": "baseURL + '/Xtuple/Roo/invhist_transfer_item.php'",
"|xns": "Roo.data"
},
{
"listeners": {
- "|activate": "function() {\n _this.tpanel = this;\n if (_this.tgrid) {\n _this.tgrid.footer.onClick('first');\n }\n}"
+ "|activate": "function() {\n _this.tpanel = this;\n if (_this.tgrid) {\n _this.tgrid.ds.load({});\n }\n}"
},
"background": true,
"fitContainer": true,
"items": [
{
"listeners": {
- "|render": "function() \n{\n _this.tgrid = this; \n if (_this.tpanel.active) {\n this.footer.onClick('first');\n }\n}"
+ "|render": "function() \n{\n _this.tgrid = this; \n if (_this.tpanel.active) {\n this.ds.load({});\n }\n}"
},
"*prop": "grid",
"autoExpandColumn": "item_number",
"xtype": "Grid",
"|xns": "Roo.grid",
"items": [
+ {
+ "|xns": "Roo",
+ "xtype": "Toolbar",
+ "*prop": "toolbar",
+ "items": [
+ {
+ "listeners": {
+ "|click": "function()\n{\n var id = _this.form.findField('invhist_transfer_id').getValue();\n\n if(id * 1 < 1){\n return;\n }\n \n var err = false;\n \n _this.tgrid.ds.each(function (r) {\n if (_this.data.invhist_transfer_void && r.data.transfered_qty * 1 == 0 && r.data.expected_qty * 1 == 0) {\n return;\n }\n if(!_this.data.invhist_transfer_void && r.data.transfered_qty * 1 - r.data.expected_qty * 1 == 0){\n return;\n }\n \n err = true;\n });\n \n if(!err){\n Roo.MessageBox.alert(\"Notice\", \"Nothing Wrong!\");\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/invhist_transfer',\n method : 'POST',\n mask: 'Fixing',\n timeout : 1200000, //20 minutes...! - big xfer should be 10mins.\n params : {\n invhist_transfer_id : id,\n _fix : 1\n },\n success : function () \n {\n _this.tgrid.ds.load({});\n }\n });\n \n \n \n}\n"
+ },
+ "cls": "x-btn-text-icon",
+ "text": "Fix Transfer",
+ "xtype": "Button",
+ "|icon": "Roo.rootURL + 'images/default/tree/leaf.gif'",
+ "|xns": "Roo.Toolbar"
+ }
+ ]
+ },
{
"listeners": {
- "beforeload": "function (_self, options)\n{\n options.params = options.params || {};\n\n if(!_this.data.invhist_transfer_posted || _this.data.cust_to_internalcompany.length){\n this.removeAll();\n return false;\n }\n \n var id = _this.form.findField('invhist_transfer_id').getValue();\n \n options.params.invhist_transfer_item_invhist_transfer_id = id;\n \n options.params._with_moved = 1;\n \n}"
+ "beforeload": "function (_self, options)\n{\n options.params = options.params || {};\n options.params.limit = 9999;\n if(_this.data.cust_to_internalcompany.length){\n this.removeAll();\n return false;\n }\n \n var id = _this.form.findField('invhist_transfer_id').getValue();\n \n if(id * 1 < 1){\n this.removeAll();\n return false;\n }\n \n options.params.invhist_transfer_item_invhist_transfer_id = id;\n \n options.params._with_expected = 1;\n \n}"
},
"*prop": "dataSource",
"remoteSort": true,
}
]
},
- {
- "*prop": "footer",
- "displayInfo": true,
- "displayMsg": "Displaying Transfer Items{0} - {1} of {2}",
- "emptyMsg": "Nothing found",
- "pageSize": 25,
- "xtype": "PagingToolbar",
- "|xns": "Roo"
- },
{
"*prop": "colModel[]",
"dataIndex": "item_number",
},
{
"*prop": "colModel[]",
- "dataIndex": "invhist_transfer_item_qty",
- "header": "Qty",
+ "dataIndex": "transfered_qty",
+ "header": "Transfered",
"width": 100,
"xtype": "ColumnModel",
- "|renderer": "function(v) { return String.format('{0}', v); }",
+ "|renderer": "function(v,x,r) \n{ \n if(v && r.data.transfered_qty * 1 != r.data.expected_qty * 1){\n return String.format('<span style=\"color:red\">{0}</span>', v); \n }\n return String.format('{0}', v ? v : 0); \n}",
"|xns": "Roo.grid"
},
{
"*prop": "colModel[]",
- "dataIndex": "moved_qty",
- "header": "Moved Qty",
+ "dataIndex": "expected_qty",
+ "header": "Expected",
"width": 100,
"xtype": "ColumnModel",
- "|renderer": "function(v) { return String.format('{0}', v ? v * -1 : ''); }",
+ "|renderer": "function(v,x,r) \n{ \n \n if(v && r.data.transfered_qty * 1 != r.data.expected_qty * 1){\n return String.format('<span style=\"color:red\">{0}</span>', v); \n }\n return String.format('{0}', v ? v : 0); \n}",
"|xns": "Roo.grid"
}
]
},
{
"listeners": {
- "click": "function (_self, e)\n{\n\n new Pman.Download({\n url : baseURL + '/Xtuple/Roo/invhist_transfer',\n method : 'GET',\n params : {\n _roo_office : _this.form.findField('_roo_office').getValue(),\n _download : _this.data.invhist_transfer_id \n \n }\n });\n \n \n\n}"
+ "click": "function (_self, e)\n{\n\n new Pman.Download({\n url : baseURL + '/Xtuple/Roo/invhist_transfer',\n method : 'GET',\n timeout : 90000,\n params : {\n _roo_office : _this.form.findField('_roo_office').getValue(),\n _download : _this.data.invhist_transfer_id \n \n }\n });\n \n \n\n}"
},
"*prop": "buttons[]",
"text": "Download (Excel)",