Pman.Dialog.XtupleTransfer.bjs
[Pman.Xtuple] / Pman.Dialog.XtupleTransfer.bjs
1 {
2     "id": "roo-file-35",
3     "name": "Pman.Dialog.XtupleTransfer",
4     "parent": "",
5     "title": "",
6     "path": "/home/edward/gitlive/web.xtuple/Pman/Xtuple/Pman.Dialog.XtupleTransfer.bjs",
7     "items": [
8         {
9             "listeners": {
10                 "show": "function (_self)\n{\n    this.layout.getRegion('center').showPanel(0);\n}"
11             },
12             "closable": false,
13             "collapsible": false,
14             "height": 660,
15             "modal": true,
16             "resizable": false,
17             "title": "Edit / Create Inventory Transfer",
18             "width": 800,
19             "xtype": "LayoutDialog",
20             "|xns": "Roo",
21             "items": [
22                 {
23                     "*prop": "center",
24                     "tabPosition": "top",
25                     "xtype": "LayoutRegion",
26                     "|xns": "Roo"
27                 },
28                 {
29                     "region": "center",
30                     "title": "Inventory Transfer",
31                     "xtype": "NestedLayoutPanel",
32                     "|xns": "Roo",
33                     "items": [
34                         {
35                             "|xns": "Roo",
36                             "xtype": "BorderLayout",
37                             "*prop": "layout",
38                             "items": [
39                                 {
40                                     "*prop": "north",
41                                     "height": 260,
42                                     "xtype": "LayoutRegion",
43                                     "|xns": "Roo"
44                                 },
45                                 {
46                                     "|xns": "Roo",
47                                     "xtype": "LayoutRegion",
48                                     "*prop": "center"
49                                 },
50                                 {
51                                     "region": "north",
52                                     "xtype": "ContentPanel",
53                                     "|xns": "Roo",
54                                     "items": [
55                                         {
56                                             "listeners": {
57                                                 "|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",
58                                                 "|rendered": "function (form)\n{\n    _this.form= form;\n}\n"
59                                             },
60                                             "method": "POST",
61                                             "style": "margin:10px;",
62                                             "xtype": "Form",
63                                             "|url": "baseURL + '/Xtuple/Roo/invhist_transfer.php'",
64                                             "|xns": "Roo.form",
65                                             "items": [
66                                                 {
67                                                     "width": 400,
68                                                     "xtype": "Column",
69                                                     "|xns": "Roo.form",
70                                                     "items": [
71                                                         {
72                                                             "legend": "Transfer Details",
73                                                             "style": "width: 380px;height:220px;",
74                                                             "xtype": "FieldSet",
75                                                             "|xns": "Roo.form",
76                                                             "items": [
77                                                                 {
78                                                                     "allowBlank": false,
79                                                                     "fieldLabel": "Date",
80                                                                     "format": "Y-m-d",
81                                                                     "name": "invhist_transfer_transdate",
82                                                                     "width": 100,
83                                                                     "xtype": "DateField",
84                                                                     "|xns": "Roo.form"
85                                                                 },
86                                                                 {
87                                                                     "allowBlank": true,
88                                                                     "fieldLabel": "Arrival date",
89                                                                     "format": "Y-m-d",
90                                                                     "name": "invhist_transfer_arrivaldate",
91                                                                     "width": 100,
92                                                                     "xtype": "DateField",
93                                                                     "|xns": "Roo.form"
94                                                                 },
95                                                                 {
96                                                                     "fieldLabel": "Reference #",
97                                                                     "name": "invhist_transfer_number",
98                                                                     "readOnly": true,
99                                                                     "width": 200,
100                                                                     "xtype": "TextField",
101                                                                     "|xns": "Roo.form"
102                                                                 },
103                                                                 {
104                                                                     "allowBlank": true,
105                                                                     "displayField": "salesrep_name",
106                                                                     "editable": false,
107                                                                     "emptyText": "Select salesrep",
108                                                                     "fieldLabel": "Sales Rep",
109                                                                     "forceSelection": true,
110                                                                     "hiddenName": "invhist_transfer_salesrep_id",
111                                                                     "listWidth": 400,
112                                                                     "loadingText": "Searching...",
113                                                                     "minChars": 2,
114                                                                     "name": "invhist_transfer_salesrep_id_salesrep_name",
115                                                                     "pageSize": 20,
116                                                                     "qtip": "Select salesrep",
117                                                                     "queryParam": "query[salesrep_name]",
118                                                                     "selectOnFocus": true,
119                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{salesrep_name}</b> </div>",
120                                                                     "triggerAction": "all",
121                                                                     "typeAhead": true,
122                                                                     "valueField": "salesrep_id",
123                                                                     "width": 250,
124                                                                     "xtype": "ComboBox",
125                                                                     "|xns": "Roo.form",
126                                                                     "items": [
127                                                                         {
128                                                                             "listeners": {
129                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    // set more here\n}\n"
130                                                                             },
131                                                                             "*prop": "store",
132                                                                             "remoteSort": true,
133                                                                             "xtype": "Store",
134                                                                             "|sortInfo": "{ direction : 'ASC', field: 'salesrep_name' }",
135                                                                             "|xns": "Roo.data",
136                                                                             "items": [
137                                                                                 {
138                                                                                     "*prop": "proxy",
139                                                                                     "xtype": "HttpProxy",
140                                                                                     "method": "GET",
141                                                                                     "|xns": "Roo.data",
142                                                                                     "|url": "baseURL + '/Roo/salesrep.php'"
143                                                                                 },
144                                                                                 {
145                                                                                     "*prop": "reader",
146                                                                                     "xtype": "JsonReader",
147                                                                                     "|xns": "Roo.data",
148                                                                                     "id": "salesrep_id",
149                                                                                     "root": "data",
150                                                                                     "totalProperty": "total",
151                                                                                     "|fields": "[{\"name\":\"salesrep_id\",\"type\":\"int\"},\"salesrep_name\"]"
152                                                                                 }
153                                                                             ]
154                                                                         }
155                                                                     ]
156                                                                 },
157                                                                 {
158                                                                     "listeners": {
159                                                                         "render": "function (_self)\n{\n    _this.fromLocation = _self;\n}"
160                                                                     },
161                                                                     "allowBlank": false,
162                                                                     "displayField": "location_descrip",
163                                                                     "editable": true,
164                                                                     "emptyText": "Select location",
165                                                                     "fieldLabel": "From Location",
166                                                                     "forceSelection": true,
167                                                                     "hiddenName": "invhist_transfer_from",
168                                                                     "listWidth": 400,
169                                                                     "loadingText": "Searching...",
170                                                                     "minChars": 2,
171                                                                     "name": "invhist_transfer_from_location_descrip",
172                                                                     "pageSize": 200,
173                                                                     "qtip": "Select location",
174                                                                     "queryParam": "query[location_name]",
175                                                                     "selectOnFocus": true,
176                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{location_name}</b> - {location_descrip} </div>",
177                                                                     "triggerAction": "all",
178                                                                     "valueField": "location_id",
179                                                                     "width": 250,
180                                                                     "xtype": "ComboBox",
181                                                                     "|xns": "Roo.form",
182                                                                     "items": [
183                                                                         {
184                                                                             "listeners": {
185                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    // set more here\n \n        o.params._notinternalcompany = 1;\n \n}\n"
186                                                                             },
187                                                                             "*prop": "store",
188                                                                             "remoteSort": true,
189                                                                             "xtype": "Store",
190                                                                             "|sortInfo": "{ direction : 'ASC', field: 'location_name' }",
191                                                                             "|xns": "Roo.data",
192                                                                             "items": [
193                                                                                 {
194                                                                                     "*prop": "proxy",
195                                                                                     "method": "GET",
196                                                                                     "xtype": "HttpProxy",
197                                                                                     "|url": "baseURL + '/Roo/location.php'",
198                                                                                     "|xns": "Roo.data"
199                                                                                 },
200                                                                                 {
201                                                                                     "*prop": "reader",
202                                                                                     "xtype": "JsonReader",
203                                                                                     "|xns": "Roo.data",
204                                                                                     "id": "id",
205                                                                                     "root": "data",
206                                                                                     "totalProperty": "total",
207                                                                                     "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]"
208                                                                                 }
209                                                                             ]
210                                                                         }
211                                                                     ]
212                                                                 },
213                                                                 {
214                                                                     "listeners": {
215                                                                         "select": "function (combo, record, index)\n{\n    combo._is_internalcompany = false;\n    \n    if(record.data.cust_to_internalcompany.length){\n        combo._is_internalcompany = true;\n    }\n    \n    _this.grid.setColumns();\n}",
216                                                                         "render": "function (_self)\n{\n    _this.toLocation = _self;\n}"
217                                                                     },
218                                                                     "allowBlank": false,
219                                                                     "displayField": "location_descrip",
220                                                                     "editable": true,
221                                                                     "emptyText": "Select location",
222                                                                     "fieldLabel": "To Location",
223                                                                     "forceSelection": true,
224                                                                     "hiddenName": "invhist_transfer_to",
225                                                                     "listWidth": 400,
226                                                                     "loadingText": "Searching...",
227                                                                     "minChars": 2,
228                                                                     "name": "invhist_transfer_to_location_descrip",
229                                                                     "pageSize": 200,
230                                                                     "qtip": "Select location",
231                                                                     "queryParam": "query[location_name]",
232                                                                     "selectOnFocus": true,
233                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{location_name}</b>  - <b style=\"color:red\">{location_cust_id_char_internalcompany} </b> {location_descrip} </div>",
234                                                                     "triggerAction": "all",
235                                                                     "valueField": "location_id",
236                                                                     "width": 250,
237                                                                     "xtype": "ComboBox",
238                                                                     "|xns": "Roo.form",
239                                                                     "items": [
240                                                                         {
241                                                                             "listeners": {
242                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    o.params.location_restrict = 0;\n    o.params._with_internalcompany = 1;\n    \n}\n"
243                                                                             },
244                                                                             "*prop": "store",
245                                                                             "remoteSort": true,
246                                                                             "xtype": "Store",
247                                                                             "|sortInfo": "{ direction : 'ASC', field: 'location_name' }",
248                                                                             "|xns": "Roo.data",
249                                                                             "items": [
250                                                                                 {
251                                                                                     "*prop": "proxy",
252                                                                                     "method": "GET",
253                                                                                     "xtype": "HttpProxy",
254                                                                                     "|url": "baseURL + '/Roo/location.php'",
255                                                                                     "|xns": "Roo.data"
256                                                                                 },
257                                                                                 {
258                                                                                     "*prop": "reader",
259                                                                                     "xtype": "JsonReader",
260                                                                                     "|xns": "Roo.data",
261                                                                                     "id": "id",
262                                                                                     "root": "data",
263                                                                                     "totalProperty": "total",
264                                                                                     "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]"
265                                                                                 }
266                                                                             ]
267                                                                         }
268                                                                     ]
269                                                                 }
270                                                             ]
271                                                         }
272                                                     ]
273                                                 },
274                                                 {
275                                                     "style": "margin-left: 10px; float: left;",
276                                                     "width": 280,
277                                                     "xtype": "Column",
278                                                     "|xns": "Roo.form",
279                                                     "items": [
280                                                         {
281                                                             "hideLabels": true,
282                                                             "legend": "Transfer Delivery Note Reference",
283                                                             "style": "width: 260px",
284                                                             "xtype": "FieldSet",
285                                                             "|xns": "Roo.form",
286                                                             "items": [
287                                                                 {
288                                                                     "fieldLabel": "invhist_transfer_delivery_note",
289                                                                     "name": "invhist_transfer_delivery_note",
290                                                                     "width": 250,
291                                                                     "xtype": "TextArea",
292                                                                     "|xns": "Roo.form"
293                                                                 }
294                                                             ]
295                                                         },
296                                                         {
297                                                             "hideLabels": true,
298                                                             "legend": "Transfer Description",
299                                                             "style": "width: 260px",
300                                                             "xtype": "FieldSet",
301                                                             "|xns": "Roo.form",
302                                                             "items": [
303                                                                 {
304                                                                     "fieldLabel": "invhist_transfer_descrip",
305                                                                     "name": "invhist_transfer_descrip",
306                                                                     "width": 250,
307                                                                     "xtype": "TextArea",
308                                                                     "|xns": "Roo.form"
309                                                                 }
310                                                             ]
311                                                         },
312                                                         {
313                                                             "|xns": "Roo.form",
314                                                             "xtype": "Row",
315                                                             "items": [
316                                                                 {
317                                                                     "allowBlank": true,
318                                                                     "displayField": "desc",
319                                                                     "editable": false,
320                                                                     "fieldLabel": "Transfer Price",
321                                                                     "hiddenName": "invhist_transfer_price",
322                                                                     "listWidth": 200,
323                                                                     "mode": "local",
324                                                                     "name": "invhist_transfer_price_desc",
325                                                                     "triggerAction": "all",
326                                                                     "value": "",
327                                                                     "valueField": "code",
328                                                                     "width": 150,
329                                                                     "xtype": "ComboBox",
330                                                                     "|xns": "Roo.form",
331                                                                     "items": [
332                                                                         {
333                                                                             "*prop": "store",
334                                                                             "xtype": "SimpleStore",
335                                                                             "|data": "[ \n    [ 'PRICELIST', \"At Transfer Price\"],\n    [ 'LASTPLUS' , \"Last Purchase +10% + 15% or stdcost +15%\"],\n    [ 'STDCOST' , \"stdcost - for old transfers only%\"]\n\n]\n",
336                                                                             "|fields": "[  'code', 'desc']",
337                                                                             "|xns": "Roo.data"
338                                                                         }
339                                                                     ]
340                                                                 }
341                                                             ]
342                                                         }
343                                                     ]
344                                                 },
345                                                 {
346                                                     "name": "transfer_items",
347                                                     "xtype": "Hidden",
348                                                     "|xns": "Roo.form"
349                                                 },
350                                                 {
351                                                     "name": "_roo_office",
352                                                     "xtype": "Hidden",
353                                                     "|xns": "Roo.form"
354                                                 },
355                                                 {
356                                                     "name": "invhist_transfer_id",
357                                                     "xtype": "Hidden",
358                                                     "|xns": "Roo.form"
359                                                 }
360                                             ]
361                                         }
362                                     ]
363                                 },
364                                 {
365                                     "listeners": {
366                                         "|activate": "function() {\n    _this.panel = this;\n    if (_this.grid) {\n        _this.grid.ds.load({});\n    }\n}"
367                                     },
368                                     "fitContainer": true,
369                                     "fitToframe": true,
370                                     "region": "center",
371                                     "tableName": "invhist_transfer_item",
372                                     "title": "invhist_transfer_item",
373                                     "xtype": "GridPanel",
374                                     "|xns": "Roo",
375                                     "items": [
376                                         {
377                                             "listeners": {
378                                                 "|render": "function() \n{\n    _this.grid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n    if (_this.panel.active) {\n       this.ds.load({});\n    }\n}",
379                                                 "|rowdblclick": "function (_self, rowIndex, e)\n{\n    if (!_this.dialog) return;\n    _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n        _this.grid.footer.onClick('first');\n    }); \n}\n",
380                                                 "beforeedit": "function (e)\n{\n    if(_this.data.invhist_transfer_posted){\n        Roo.MessageBox.alert('Error', 'This transfer has been posted');\n        return false;\n    }\n    if(_this.data.invhist_transfer_void){\n        Roo.MessageBox.alert('Error', 'This transfer has been voided');\n        return false;\n    }\n    \n    if(e.field == 'invhist_transfer_item_unit_price' && (!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length) && !_this.toLocation._is_internalcompany){\n        Roo.MessageBox.alert('Error', 'Not a inter-comany transfer');\n        return false;\n    }\n    \n    \n    \n}"
381                                             },
382                                             "*prop": "grid",
383                                             "autoExpandColumn": "item_descrip1",
384                                             "clicksToEdit": 1,
385                                             "loadMask": true,
386                                             "xtype": "EditorGrid",
387                                             "|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",
388                                             "|xns": "Roo.grid",
389                                             "items": [
390                                                 {
391                                                     "listeners": {
392                                                         "tabend": "function (_self)\n{\n    _this.addItemBtn.fireEvent('click', _this.addItemBtn);\n}"
393                                                     },
394                                                     "*prop": "sm",
395                                                     "xtype": "CellSelectionModel",
396                                                     "|xns": "Roo.grid"
397                                                 },
398                                                 {
399                                                     "listeners": {
400                                                         "beforeload": "function (_self, o)\n{\n   \n    o.params = o.params || {};\n    if (!_this.form) {\n        return false;\n    }\n    \n    o.params.invhist_transfer_item_invhist_transfer_id = _this.form.findField('invhist_transfer_id').getValue() * 1;\n    \n    if ( !o.params.invhist_transfer_item_invhist_transfer_id) {\n        _this.grid.ds.removeAll();\n        return false;\n    }\n\n    o.params['query[at_location]'] = _this.form.findField('invhist_transfer_from').getValue();\n    o.params.limit = 999;\n    o.params._roo_office =  _this.form.findField('_roo_office').getValue();\n    \n    _this.grid.setColumns();\n        \n    if(!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length){\n        return;\n    }\n    \n    o.params._inter_transfer = 1;    \n\n    \n    \n}"
401                                                     },
402                                                     "*prop": "dataSource",
403                                                     "remoteSort": true,
404                                                     "xtype": "Store",
405                                                     "|sortInfo": "{ field : 'invhist_transfer_item_line', direction: 'ASC' }",
406                                                     "|xns": "Roo.data",
407                                                     "items": [
408                                                         {
409                                                             "*prop": "proxy",
410                                                             "method": "GET",
411                                                             "xtype": "HttpProxy",
412                                                             "|url": "baseURL + '/Xtuple/Roo/invhist_transfer_item.php'",
413                                                             "|xns": "Roo.data"
414                                                         },
415                                                         {
416                                                             "*prop": "reader",
417                                                             "id": "id",
418                                                             "root": "data",
419                                                             "totalProperty": "total",
420                                                             "xtype": "JsonReader",
421                                                             "|fields": "[\n    {\n        'name': 'invhist_transfer_item_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_invhist_transfer_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_itemsite_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_qty',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_line',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_invhist_id',\n        'type': 'int'\n    }, \n    'item_id',\n    'item_number',    \n    'item_descrip1',\n    'avail_at_location'\n    \n    \n]",
422                                                             "|xns": "Roo.data"
423                                                         }
424                                                     ]
425                                                 },
426                                                 {
427                                                     "*prop": "toolbar",
428                                                     "xtype": "Toolbar",
429                                                     "|xns": "Roo",
430                                                     "items": [
431                                                         {
432                                                             "listeners": {
433                                                                 "|click": "function()\n{\n    \n     if (_this.data.invhist_transfer_posted) {\n        Roo.MessageBox.alert(\"Error\", \"Transfer has been posted, void it first\");\n        return;\n    }\n    \n    // work out last \n    var grid = _this.grid;\n    var last = 0;\n    \n    _this.grid.ds.each(function(r) {\n        last = r.data.invhist_transfer_item_line;\n    });\n    \n    last++;\n    \n    var nr = _this.grid.ds.reader.newRow({\n        invhist_transfer_item_line : last,\n        item_number : '',\n        item_descrip1 : '',\n        invhist_transfer_item_qty : 0,\n        item_availqty : 0,\n        invhist_transfer_item_transfer_id : _this.form.findField('invhist_transfer_id').getValue()\n   });\n\n    grid.stopEditing();\n    grid.ds.insert(grid.ds.getCount(), nr); \n    grid.startEditing(grid.ds.getCount()-1, 1); // type..\n}\n",
434                                                                 "render": "function (_self)\n{\n    _this.addItemBtn = _self;\n}"
435                                                             },
436                                                             "cls": "x-btn-text-icon",
437                                                             "text": "Add",
438                                                             "xtype": "Button",
439                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
440                                                             "|xns": "Roo.Toolbar"
441                                                         },
442                                                         {
443                                                             "cls": "x-btn-text-icon",
444                                                             "text": "Fill based on Stock",
445                                                             "xtype": "Button",
446                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
447                                                             "|xns": "Roo.Toolbar",
448                                                             "items": [
449                                                                 {
450                                                                     "|xns": "Roo.menu",
451                                                                     "xtype": "Menu",
452                                                                     "*prop": "menu",
453                                                                     "items": [
454                                                                         {
455                                                                             "listeners": {
456                                                                                 "|click": "function()\n{\n    var    rn =      _this.grid.ds.getCount();\n    var tid = 1 * _this.form.findField('invhist_transfer_id').getValue();\n    var addRow = function(r) {\n    \n        if (r.itemsite_qty * 1 < 1) {\n        \n            return;\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 : r.itemsite_qty,\n            item_availqty : 0,\n            invhist_transfer_item_transfer_id : tid\n       });\n         _this.grid.ds.insert(rn++, nr); \n    \n    };\n     \n    var loc  = _this.form.findField('invhist_transfer_from').getValue()*1;\n    var dt  = _this.form.findField('invhist_transfer_transdate').getValue().format('Y-m-d');    \n    \n    _this.grid.stopEditing();\n    \n    new Pman.Request({\n        url :  baseURL + '/Roo/itemsite',\n        mask : 'Fetching stock',\n        method : 'GET',\n        params : {\n            limit : 2000, // alot!\n            _with_stock_and_value : 1,\n            _viewtype : 1,\n            location_id : loc,\n            _as_of : dt,\n            'sort' : 'itemsite_item_id_item_number',\n            'dir'  : 'ASC'\n        },\n        success : function(r) {\n            Roo.log(r);\n            Roo.each(r.data, addRow);\n            \n        \n        }\n    \n    });\n\n    \n\n    \n\n    \n     \n}\n",
457                                                                                 "render": "function (_self)\n{\n    _this.addItemBtn = _self;\n}"
458                                                                             },
459                                                                             "cls": "x-btn-text-icon",
460                                                                             "text": "Transfer all from Location",
461                                                                             "xtype": "Item",
462                                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
463                                                                             "|xns": "Roo.menu"
464                                                                         },
465                                                                         {
466                                                                             "listeners": {
467                                                                                 "|click": "function()\n{\n var    rn =      _this.grid.ds.getCount();\n        var tid = 1 * _this.form.findField('invhist_transfer_id').getValue();\n        \n        \n        var addRow = function(r) {\n        \n            if (r.itemsite_qty * 1 > -1) {\n            \n                return;\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 : Math.abs(r.itemsite_qty),\n                item_availqty : 0,\n                invhist_transfer_item_transfer_id : tid\n           });\n             _this.grid.ds.insert(rn++, nr); \n        \n        };\n         \n        var loc  = _this.form.findField('invhist_transfer_to').getValue()*1;\n        var dt  = _this.form.findField('invhist_transfer_transdate').getValue().format('Y-m-d');    \n        \n        _this.grid.stopEditing();\n        \n        new Pman.Request({\n            url :  baseURL + '/Roo/itemsite',\n            mask : 'Fetching stock',\n            method : 'GET',\n            params : {\n                limit : 2000, // alot!\n                _with_stock_and_value : 1,\n                _viewtype : -1,\n                location_id : loc,\n                _as_of : dt,\n                'sort' : 'itemsite_item_id_item_number',\n                'dir'  : 'ASC'\n            },\n            success : function(r) {\n                Roo.log(r);\n                Roo.each(r.data, addRow);\n                \n            \n            }\n        \n        });\n    \n    \n\n    \n\n    \n     \n}\n",
468                                                                                 "render": "function (_self)\n{\n    _this.addItemBtn = _self;\n}"
469                                                                             },
470                                                                             "cls": "x-btn-text-icon",
471                                                                             "text": "Fill negative at Target",
472                                                                             "xtype": "Item",
473                                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
474                                                                             "|xns": "Roo.menu"
475                                                                         }
476                                                                     ]
477                                                                 }
478                                                             ]
479                                                         },
480                                                         {
481                                                             "|xns": "Roo.Toolbar",
482                                                             "xtype": "Fill"
483                                                         },
484                                                         {
485                                                             "listeners": {
486                                                                 "|click": "function()\n{\n     _this.grid.stopEditing();     \n\n     if (_this.data.invhist_transfer_posted) {\n        Roo.MessageBox.alert(\"Error\", \"Transfer has been posted, void it first\");\n        return;\n    }\n\n    var rc= _this.grid.selModel.getSelectedCell();\n     if (!rc) {\n        Roo.MessageBox.alert(\"Error\", \"Select a item to delete\");\n        return;\n     }\n         \n     var rec = _this.grid.ds.getAt(rc[0]);\n     _this.grid.ds.remove(rec);\n     \n\n    rec = _this.grid.ds.getAt(rc[0]);\n    if (rec) {\n        _this.grid.selModel.select(rc[0], 2);\n        return;\n    }\n    var ln = rc[0]-1;\n    if (ln < 0) {\n      return;\n    } // nothing left to select..\n    _this.grid.selModel.select(rc[0]-1, 2);\n     \n    \n    \n    \n}\n        "
487                                                             },
488                                                             "cls": "x-btn-text-icon",
489                                                             "text": "Delete",
490                                                             "xtype": "Button",
491                                                             "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
492                                                             "|xns": "Roo.Toolbar"
493                                                         }
494                                                     ]
495                                                 },
496                                                 {
497                                                     "*prop": "colModel[]",
498                                                     "dataIndex": "invhist_transfer_item_line",
499                                                     "header": "Line",
500                                                     "width": 75,
501                                                     "xtype": "ColumnModel",
502                                                     "|renderer": "function(v) { return String.format('{0}', v); }",
503                                                     "|xns": "Roo.grid"
504                                                 },
505                                                 {
506                                                     "*prop": "colModel[]",
507                                                     ".builderCfg": "{\"table\":\"coitem\",\"column\":\"coitem_itemsite_id\",\"columnshort\":\"coitem_itemsite_id\",\"ctype\":\"int4\",\"desc\":\"\",\"maps_to\":\"itemsite_id\",\"deps\":[{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_item_id\",\"columnshort\":\"itemsite_item_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_warehous_id\",\"columnshort\":\"itemsite_warehous_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_qtyonhand\",\"columnshort\":\"itemsite_qtyonhand\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_reorderlevel\",\"columnshort\":\"itemsite_reorderlevel\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_ordertoqty\",\"columnshort\":\"itemsite_ordertoqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_cyclecountfreq\",\"columnshort\":\"itemsite_cyclecountfreq\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_datelastcount\",\"columnshort\":\"itemsite_datelastcount\",\"ctype\":\"date\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_datelastused\",\"columnshort\":\"itemsite_datelastused\",\"ctype\":\"date\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_loccntrl\",\"columnshort\":\"itemsite_loccntrl\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_safetystock\",\"columnshort\":\"itemsite_safetystock\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_minordqty\",\"columnshort\":\"itemsite_minordqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_multordqty\",\"columnshort\":\"itemsite_multordqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_leadtime\",\"columnshort\":\"itemsite_leadtime\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_abcclass\",\"columnshort\":\"itemsite_abcclass\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_issuemethod\",\"columnshort\":\"itemsite_issuemethod\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_controlmethod\",\"columnshort\":\"itemsite_controlmethod\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_active\",\"columnshort\":\"itemsite_active\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_plancode_id\",\"columnshort\":\"itemsite_plancode_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_costcat_id\",\"columnshort\":\"itemsite_costcat_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_eventfence\",\"columnshort\":\"itemsite_eventfence\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_sold\",\"columnshort\":\"itemsite_sold\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_stocked\",\"columnshort\":\"itemsite_stocked\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_freeze\",\"columnshort\":\"itemsite_freeze\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_location_id\",\"columnshort\":\"itemsite_location_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_useparams\",\"columnshort\":\"itemsite_useparams\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_useparamsmanual\",\"columnshort\":\"itemsite_useparamsmanual\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_soldranking\",\"columnshort\":\"itemsite_soldranking\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createpr\",\"columnshort\":\"itemsite_createpr\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_location\",\"columnshort\":\"itemsite_location\",\"ctype\":\"text\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_location_comments\",\"columnshort\":\"itemsite_location_comments\",\"ctype\":\"text\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_notes\",\"columnshort\":\"itemsite_notes\",\"ctype\":\"text\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_perishable\",\"columnshort\":\"itemsite_perishable\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_nnqoh\",\"columnshort\":\"itemsite_nnqoh\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_autoabcclass\",\"columnshort\":\"itemsite_autoabcclass\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_ordergroup\",\"columnshort\":\"itemsite_ordergroup\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_disallowblankwip\",\"columnshort\":\"itemsite_disallowblankwip\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_maxordqty\",\"columnshort\":\"itemsite_maxordqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_mps_timefence\",\"columnshort\":\"itemsite_mps_timefence\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createwo\",\"columnshort\":\"itemsite_createwo\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_warrpurc\",\"columnshort\":\"itemsite_warrpurc\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_autoreg\",\"columnshort\":\"itemsite_autoreg\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_costmethod\",\"columnshort\":\"itemsite_costmethod\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_value\",\"columnshort\":\"itemsite_value\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_ordergroup_first\",\"columnshort\":\"itemsite_ordergroup_first\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_supply_itemsite_id\",\"columnshort\":\"itemsite_supply_itemsite_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_planning_type\",\"columnshort\":\"itemsite_planning_type\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_wosupply\",\"columnshort\":\"itemsite_wosupply\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_posupply\",\"columnshort\":\"itemsite_posupply\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_lsseq_id\",\"columnshort\":\"itemsite_lsseq_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_cosdefault\",\"columnshort\":\"itemsite_cosdefault\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createsopr\",\"columnshort\":\"itemsite_createsopr\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createsopo\",\"columnshort\":\"itemsite_createsopo\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_dropship\",\"columnshort\":\"itemsite_dropship\",\"ctype\":\"bool\",\"desc\":\"\"}],\"use\":1,\"use_ex\":\"\",\"title\":\"\"}",
508                                                     "dataIndex": "item_id",
509                                                     "header": "Item Code",
510                                                     "width": 75,
511                                                     "xtype": "ColumnModel",
512                                                     "|renderer": "function(v,x,r) { \n    return String.format('{0}', r.data.item_number);\n }",
513                                                     "|xns": "Roo.grid",
514                                                     "items": [
515                                                         {
516                                                             "|xns": "Roo.grid",
517                                                             "xtype": "GridEditor",
518                                                             "*prop": "editor",
519                                                             "items": [
520                                                                 {
521                                                                     "listeners": {
522                                                                         "beforeselect": "function (combo, record, index)\n{\n  // set _this.data values ..\n  var ar = _this.grid.activeEditor.record;\n  //Roo.log('beforeselect');\n  (function() { \n     //  Roo.log('beforeselect-cb');\n      ar.set('item_descrip1', record.data.itemsite_item_id_item_descrip1);\n     // ar.set('coitem_price', record.data.item_listprice);\n     // ar.set('coitem_custprice', record.data.item_price);\n       ar.set('invhist_transfer_item_itemsite_id', record.data.itemsite_id);\n      ar.set('item_number', record.data.itemsite_item_id_item_number);\n      ar.set('avail_at_location', record.data.avail_at_location);\n      ar.commit();\n  }).defer(100);\n  \n}"
523                                                                     },
524                                                                     "*prop": "field",
525                                                                     "allowBlank": false,
526                                                                     "displayField": "itemsite_item_id_item_number",
527                                                                     "editable": true,
528                                                                     "emptyText": "Select item",
529                                                                     "forceSelection": true,
530                                                                     "hiddenName": "itemsite_item_id_item_number",
531                                                                     "listWidth": 400,
532                                                                     "loadingText": "Searching...",
533                                                                     "minChars": 2,
534                                                                     "name": "item_number",
535                                                                     "pageSize": 20,
536                                                                     "qtip": "Select item",
537                                                                     "queryParam": "query[number]",
538                                                                     "selectOnFocus": true,
539                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{itemsite_item_id_item_number}</b>  {itemsite_item_id_item_descrip1} ({avail_at_location})</div>",
540                                                                     "triggerAction": "all",
541                                                                     "valueField": "item_number",
542                                                                     "xtype": "ComboBox",
543                                                                     "|xns": "Roo.form",
544                                                                     "items": [
545                                                                         {
546                                                                             "listeners": {
547                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    \n    o.params['query[at_location]'] = _this.form.findField('invhist_transfer_from').getValue();\n    \n}\n"
548                                                                             },
549                                                                             "*prop": "store",
550                                                                             "remoteSort": true,
551                                                                             "xtype": "Store",
552                                                                             "|sortInfo": "{ direction : 'ASC', field: 'itemsite_item_id_item_number' }",
553                                                                             "|xns": "Roo.data",
554                                                                             "items": [
555                                                                                 {
556                                                                                     "*prop": "proxy",
557                                                                                     "method": "GET",
558                                                                                     "xtype": "HttpProxy",
559                                                                                     "|url": "baseURL + '/Roo/itemsite.php'",
560                                                                                     "|xns": "Roo.data"
561                                                                                 },
562                                                                                 {
563                                                                                     "*prop": "reader",
564                                                                                     "id": "shipto_id",
565                                                                                     "root": "data",
566                                                                                     "totalProperty": "total",
567                                                                                     "xtype": "JsonReader",
568                                                                                     "|fields": "[{\"name\":\"item_id\",\"type\":\"int\"},\"item_number\"]",
569                                                                                     "|xns": "Roo.data"
570                                                                                 }
571                                                                             ]
572                                                                         }
573                                                                     ]
574                                                                 }
575                                                             ]
576                                                         }
577                                                     ]
578                                                 },
579                                                 {
580                                                     "*prop": "colModel[]",
581                                                     "dataIndex": "item_descrip1",
582                                                     "header": "Description",
583                                                     "width": 75,
584                                                     "xtype": "ColumnModel",
585                                                     "|renderer": "function(v,x,r) { return String.format('{0}', v); }",
586                                                     "|xns": "Roo.grid"
587                                                 },
588                                                 {
589                                                     "*prop": "colModel[]",
590                                                     "align": "right",
591                                                     "dataIndex": "avail_at_location",
592                                                     "header": "Cur. Avail",
593                                                     "width": 75,
594                                                     "xtype": "ColumnModel",
595                                                     "|renderer": "function(v,x,r) { return String.format('{0}', v); }",
596                                                     "|xns": "Roo.grid"
597                                                 },
598                                                 {
599                                                     "*prop": "colModel[]",
600                                                     "align": "right",
601                                                     "dataIndex": "invhist_transfer_item_qty",
602                                                     "header": "Qty",
603                                                     "width": "50.00",
604                                                     "xtype": "ColumnModel",
605                                                     "|renderer": "function(v,x,r) { \n    var vv = parseInt(v);\n    //var aq = parseInt(r.data.avail_qty);\n    //aq = isNaN(aq) ? 0 : aq;\n   \n   \n   \n   \n    return String.format('{0}', vv.toFixed(0)); \n    \n}",
606                                                     "|xns": "Roo.grid",
607                                                     "items": [
608                                                         {
609                                                             "*prop": "editor",
610                                                             "xtype": "GridEditor",
611                                                             "|xns": "Roo.grid",
612                                                             "items": [
613                                                                 {
614                                                                     "*prop": "field",
615                                                                     "allowDecimals": false,
616                                                                     "decimalPrecision": 0,
617                                                                     "minValue": 1,
618                                                                     "style": "text-align:right",
619                                                                     "xtype": "NumberField",
620                                                                     "|xns": "Roo.form"
621                                                                 }
622                                                             ]
623                                                         }
624                                                     ]
625                                                 },
626                                                 {
627                                                     "*prop": "colModel[]",
628                                                     "align": "right",
629                                                     "dataIndex": "invhist_transfer_item_unit_price",
630                                                     "header": "Unit Price",
631                                                     "hidden": true,
632                                                     "width": 75,
633                                                     "xtype": "ColumnModel",
634                                                     "|renderer": "function(v,x,r) \n{ \n    if(!v && v !== 0){\n        return '';\n    }\n    var color = '#666'; // orignal color\n    \n    if(r.data.invhist_transfer_item_unit_price_default != v){\n        color = 'red';\n    }\n    \n    return String.format('<span style=\"color:{0};\">{1} {2}</span>', color, (r.data.invhist_transfer_item_curr_name) ? r.data.invhist_transfer_item_curr_name : '' , Roo.util.Format.number(v,2)); \n}",
635                                                     "|xns": "Roo.grid",
636                                                     "items": [
637                                                         {
638                                                             "|xns": "Roo.grid",
639                                                             "xtype": "GridEditor",
640                                                             "*prop": "editor",
641                                                             "items": [
642                                                                 {
643                                                                     "*prop": "field",
644                                                                     "allowBlank": false,
645                                                                     "allowDecimals": true,
646                                                                     "decimalPrecision": 2,
647                                                                     "style": "text-align:right",
648                                                                     "xtype": "NumberField",
649                                                                     "|xns": "Roo.form"
650                                                                 }
651                                                             ]
652                                                         }
653                                                     ]
654                                                 },
655                                                 {
656                                                     "*prop": "colModel[]",
657                                                     "align": "right",
658                                                     "dataIndex": "invhist_transfer_item_unit_price_default",
659                                                     "header": "Default Price",
660                                                     "hidden": true,
661                                                     "width": 75,
662                                                     "xtype": "ColumnModel",
663                                                     "|renderer": "function(v,x,r) \n{ \n    if(!v && v !== 0){\n        return '';\n    }\n    return String.format('{0} {1}', (r.data.invhist_transfer_item_curr_name) ? r.data.invhist_transfer_item_curr_name : '' , Roo.util.Format.number(v,2)); \n}",
664                                                     "|xns": "Roo.grid"
665                                                 }
666                                             ]
667                                         }
668                                     ]
669                                 }
670                             ]
671                         }
672                     ]
673                 },
674                 {
675                     "listeners": {
676                         "|activate": "function() {\n    _this.ipanel = this;\n    if (_this.igrid) {\n        _this.igrid.footer.onClick('first');\n    }\n}"
677                     },
678                     "background": false,
679                     "fitContainer": true,
680                     "fitToframe": true,
681                     "region": "center",
682                     "tableName": "Images",
683                     "title": "Reference Files",
684                     "xtype": "GridPanel",
685                     "|xns": "Roo",
686                     "items": [
687                         {
688                             "listeners": {
689                                 "|render": "function() { \n    _this.igrid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n    //if (_this.panel.active) {\n    //   this.footer.onClick('first');\n    //}\n}",
690                                 "|rowdblclick": "function (_self, rowIndex, e)\n{\n  \n   var s =  _self.getDataSource().getAt(rowIndex);\n   new Pman.Download({\n        url : baseURL + '/Images/' + s.data.id\n         \n    });\n   \n}"
691                             },
692                             "*prop": "grid",
693                             "autoExpandColumn": "id",
694                             "loadMask": true,
695                             "xtype": "Grid",
696                             "|xns": "Roo.grid",
697                             "items": [
698                                 {
699                                     "listeners": {
700                                         "|beforeload": "function (_self, o)\n{\n    //o.params.ontable = 'Companies';\n    \n  //   o.params.imgtype = 'PressRelease';\n    \n    o.params = o.params || {};\n    o.params.onid = _this.form.findField('invhist_transfer_id').getValue();\n    o.params.ontable = 'invhist_transfer';\n    Roo.log(_this);\n    \n}",
701                                         "|load": "function (_self, records, options)\n{\n _this.panel.el.unmask();\n}"
702                                     },
703                                     "*prop": "dataSource",
704                                     "remoteSort": true,
705                                     "xtype": "Store",
706                                     "|sortInfo": "{ field: 'created' , direction: 'DESC' }",
707                                     "|xns": "Roo.data",
708                                     "items": [
709                                         {
710                                             "*prop": "reader",
711                                             "id": "id",
712                                             "root": "data",
713                                             "totalProperty": "total",
714                                             "xtype": "JsonReader",
715                                             "|fields": "[\n    {\n        'name': 'id',\n        'type': 'int'\n    },\n    {\n        'name': 'filename',\n        'type': 'string'\n    },\n    {\n        'name': 'ontable',\n        'type': 'string'\n    },\n    {\n        'name': 'onid',\n        'type': 'int'\n    },\n    {\n        'name': 'mimetype',\n        'type': 'string'\n    },\n    {\n        'name': 'width',\n        'type': 'int'\n    },\n    {\n        'name': 'height',\n        'type': 'int'\n    },\n    {\n        'name': 'filesize',\n        'type': 'int'\n    },\n    {\n        'name': 'displayorder',\n        'type': 'int'\n    },\n    {\n        'name': 'language',\n        'type': 'string'\n    },\n    {\n        'name': 'parent_image_id',\n        'type': 'int'\n    },\n    {\n        'name': 'created',\n        'type': 'date',\n        'dateFormat' : 'Y-m-d H:i:s'\n    },\n    {\n        'name': 'imgtype',\n        'type': 'string'\n    },\n    {\n        'name': 'linkurl',\n        'type': 'string'\n    },\n    {\n        'name': 'descript',\n        'type': 'string'\n    },\n    {\n        'name': 'title',\n        'type': 'string'\n    }\n]",
716                                             "|xns": "Roo.data"
717                                         },
718                                         {
719                                             "*prop": "proxy",
720                                             "xtype": "HttpProxy",
721                                             "method": "GET",
722                                             "|url": "baseURL + '/Roo/Images.php'",
723                                             "|xns": "Roo.data"
724                                         }
725                                     ]
726                                 },
727                                 {
728                                     "*prop": "footer",
729                                     "xtype": "PagingToolbar",
730                                     "pageSize": 25,
731                                     "displayInfo": true,
732                                     "displayMsg": "Displaying Images  {0} - {1} of {2}",
733                                     "emptyMsg": "No Images found",
734                                     "|xns": "Roo"
735                                 },
736                                 {
737                                     "*prop": "toolbar",
738                                     "xtype": "Toolbar",
739                                     "|xns": "Roo",
740                                     "items": [
741                                         {
742                                             "listeners": {
743                                                 "|click": "function()\n{\n            \n    //var sel = Pman.Tab.PressReleaseCompanies  ? Pman.Tab.PressReleaseCompanies.grid.getSelectionModel().getSelected() : false\n     \n    Pman.Dialog.Image.show({\n        id : 0, \n        ontable: 'invhist_transfer',\n        onid: _this.form.findField('invhist_transfer_id').getValue(),\n        imgtype : ''\n    }, function(data){\n        if (!data) { return; } \n        _this.igrid.footer.onClick('first');\n    }); \n\n}       "
744                                             },
745                                             "cls": "x-btn-text-icon",
746                                             "text": "Add",
747                                             "xtype": "Button",
748                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
749                                             "|xns": "Roo.Toolbar"
750                                         },
751                                         {
752                                             "listeners": {
753                                                 "|click": "function()\n        {\n        Pman.genericDelete(_this, 'Images'); \n        }\n        "
754                                             },
755                                             "cls": "x-btn-text-icon",
756                                             "text": "Delete",
757                                             "xtype": "Button",
758                                             "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
759                                             "|xns": "Roo.Toolbar"
760                                         }
761                                     ]
762                                 },
763                                 {
764                                     "*prop": "colModel[]",
765                                     "dataIndex": "created",
766                                     "header": "Created",
767                                     "sortable": true,
768                                     "width": 200,
769                                     "xtype": "ColumnModel",
770                                     "|renderer": "function(v,x,r) {\n       return String.format('{0}<br/><i>{1}</i><br/>{2}<br/><i>{3}x{4}</i>',\n            v.format('d/M/Y'), r.data.mimetype, r.data.filename,\n    r.data.width, r.data.height\n    ); \n}\n     ",
771                                     "|xns": "Roo.grid"
772                                 },
773                                 {
774                                     "*prop": "colModel[]",
775                                     "dataIndex": "id",
776                                     "header": "Image",
777                                     "width": 100,
778                                     "xtype": "ColumnModel",
779                                     "|renderer": "function(v,x,r) { return String.format('<img src=\"{0}/Images/Thumb/100/{1}/{2}\" height=\"100\">', baseURL, v, r.data.filename); }",
780                                     "|xns": "Roo.grid"
781                                 }
782                             ]
783                         }
784                     ]
785                 },
786                 {
787                     "listeners": {
788                         "|activate": "function() {\n    _this.hpanel = this;\n    if (_this.hgrid) {\n        _this.hgrid.footer.onClick('first');\n    }\n}"
789                     },
790                     "background": true,
791                     "fitContainer": true,
792                     "fitToframe": true,
793                     "region": "center",
794                     "tableName": "events",
795                     "title": "History",
796                     "xtype": "GridPanel",
797                     "|xns": "Roo",
798                     "items": [
799                         {
800                             "listeners": {
801                                 "|render": "function() \n{\n    _this.hgrid = this; \n    if (_this.hpanel.active) {\n       this.footer.onClick('first');\n    }\n}"
802                             },
803                             "*prop": "grid",
804                             "autoExpandColumn": "remarks",
805                             "loadMask": true,
806                             "xtype": "Grid",
807                             "|xns": "Roo.grid",
808                             "items": [
809                                 {
810                                     "listeners": {
811                                         "beforeload": "function (_self, options)\n{\n    options.params = options.params || {};\n    \n    options.params.on_table = 'invhist_transfer';\n    options.params.on_id = _this.form.findField('invhist_transfer_id').getValue();\n}"
812                                     },
813                                     "*prop": "dataSource",
814                                     "remoteSort": true,
815                                     "xtype": "Store",
816                                     "|sortInfo": "{ field : 'event_when', direction: 'DESC' }",
817                                     "|xns": "Roo.data",
818                                     "items": [
819                                         {
820                                             "*prop": "proxy",
821                                             "method": "GET",
822                                             "xtype": "HttpProxy",
823                                             "|url": "baseURL + '/Roo/events.php'",
824                                             "|xns": "Roo.data"
825                                         },
826                                         {
827                                             "*prop": "reader",
828                                             "id": "id",
829                                             "root": "data",
830                                             "totalProperty": "total",
831                                             "xtype": "JsonReader",
832                                             "|fields": "[\n    {\n        'name': 'event_when',\n        'type': 'date'\n    },\n    {\n        'name': 'action',\n        'type': 'string'\n    },\n    {\n        'name': 'ipaddr',\n        'type': 'string'\n    },\n    {\n        'name': 'person_id_name',\n        'type': 'string'\n    },\n    {\n        'name': 'remarks',\n        'type': 'string'\n    }\n]",
833                                             "|xns": "Roo.data"
834                                         }
835                                     ]
836                                 },
837                                 {
838                                     "*prop": "footer",
839                                     "displayInfo": true,
840                                     "displayMsg": "Displaying events{0} - {1} of {2}",
841                                     "emptyMsg": "No Events found",
842                                     "pageSize": 25,
843                                     "xtype": "PagingToolbar",
844                                     "|xns": "Roo"
845                                 },
846                                 {
847                                     "*prop": "colModel[]",
848                                     "dataIndex": "event_when",
849                                     "header": "Changed",
850                                     "width": 120,
851                                     "xtype": "ColumnModel",
852                                     "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }",
853                                     "|xns": "Roo.grid"
854                                 },
855                                 {
856                                     "*prop": "colModel[]",
857                                     "dataIndex": "action",
858                                     "header": "Action",
859                                     "width": 200,
860                                     "xtype": "ColumnModel",
861                                     "|renderer": "function(v,x,r) { return String.format('{0} - {1}', v, r.data.on_table); }",
862                                     "|xns": "Roo.grid"
863                                 },
864                                 {
865                                     "*prop": "colModel[]",
866                                     "dataIndex": "ipaddr",
867                                     "header": "IP Address",
868                                     "width": 200,
869                                     "xtype": "ColumnModel",
870                                     "|renderer": "function(v) { return String.format('{0}', v); }",
871                                     "|xns": "Roo.grid"
872                                 },
873                                 {
874                                     "*prop": "colModel[]",
875                                     "dataIndex": "person_id_name",
876                                     "header": "Who",
877                                     "width": 75,
878                                     "xtype": "ColumnModel",
879                                     "|renderer": "function(v) { return String.format('{0}', v); }",
880                                     "|xns": "Roo.grid"
881                                 },
882                                 {
883                                     "*prop": "colModel[]",
884                                     "dataIndex": "remarks",
885                                     "header": "Notes",
886                                     "width": 200,
887                                     "xtype": "ColumnModel",
888                                     "|renderer": "function(v) { return String.format('{0}', v); }",
889                                     "|xns": "Roo.grid"
890                                 }
891                             ]
892                         }
893                     ]
894                 },
895                 {
896                     "listeners": {
897                         "|activate": "function() {\n    _this.tpanel = this;\n    if (_this.tgrid) {\n        _this.tgrid.footer.onClick('first');\n    }\n}"
898                     },
899                     "background": true,
900                     "fitContainer": true,
901                     "fitToframe": true,
902                     "region": "center",
903                     "tableName": "invhist_transfer_item",
904                     "title": "Transfered",
905                     "xtype": "GridPanel",
906                     "|xns": "Roo",
907                     "items": [
908                         {
909                             "listeners": {
910                                 "|render": "function() \n{\n    _this.tgrid = this; \n    if (_this.tpanel.active) {\n       this.footer.onClick('first');\n    }\n}"
911                             },
912                             "*prop": "grid",
913                             "autoExpandColumn": "remarks",
914                             "loadMask": true,
915                             "xtype": "Grid",
916                             "|xns": "Roo.grid",
917                             "items": [
918                                 {
919                                     "listeners": {
920                                         "beforeload": "function (_self, options)\n{\n    options.params = options.params || {};\n    \n    if(!_this.data.invhist_transfer_posted){\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    \n}"
921                                     },
922                                     "*prop": "dataSource",
923                                     "remoteSort": true,
924                                     "xtype": "Store",
925                                     "|sortInfo": "{ field : 'invhist_transfer_item_line', direction: 'ASC' }",
926                                     "|xns": "Roo.data",
927                                     "items": [
928                                         {
929                                             "*prop": "proxy",
930                                             "method": "GET",
931                                             "xtype": "HttpProxy",
932                                             "|url": "baseURL + '/Roo/invhist_transfer_item.php'",
933                                             "|xns": "Roo.data"
934                                         },
935                                         {
936                                             "*prop": "reader",
937                                             "id": "invhist_transfer_item_id",
938                                             "root": "data",
939                                             "totalProperty": "total",
940                                             "xtype": "JsonReader",
941                                             "|fields": "[\n    {\n        'name': 'invhist_transfer_item_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_qty',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_line',\n        'type': 'int'\n    }\n]",
942                                             "|xns": "Roo.data"
943                                         }
944                                     ]
945                                 },
946                                 {
947                                     "*prop": "footer",
948                                     "displayInfo": true,
949                                     "displayMsg": "Displaying Transfer Items{0} - {1} of {2}",
950                                     "emptyMsg": "Nothing found",
951                                     "pageSize": 25,
952                                     "xtype": "PagingToolbar",
953                                     "|xns": "Roo"
954                                 },
955                                 {
956                                     "*prop": "colModel[]",
957                                     "dataIndex": "event_when",
958                                     "header": "Changed",
959                                     "width": 120,
960                                     "xtype": "ColumnModel",
961                                     "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }",
962                                     "|xns": "Roo.grid"
963                                 },
964                                 {
965                                     "*prop": "colModel[]",
966                                     "dataIndex": "invhist_transfer_item_qty",
967                                     "header": "Qty",
968                                     "width": 200,
969                                     "xtype": "ColumnModel",
970                                     "|renderer": "function(v,x,r) { return String.format('{0} - {1}', v, r.data.on_table); }",
971                                     "|xns": "Roo.grid"
972                                 },
973                                 {
974                                     "*prop": "colModel[]",
975                                     "dataIndex": "invhist_transfer_item_qty",
976                                     "header": "Qty",
977                                     "width": 75,
978                                     "xtype": "ColumnModel",
979                                     "|renderer": "function(v) { return String.format('{0}', v); }",
980                                     "|xns": "Roo.grid"
981                                 },
982                                 {
983                                     "*prop": "colModel[]",
984                                     "dataIndex": "remarks",
985                                     "header": "Notes",
986                                     "width": 200,
987                                     "xtype": "ColumnModel",
988                                     "|renderer": "function(v) { return String.format('{0}', v); }",
989                                     "|xns": "Roo.grid"
990                                 }
991                             ]
992                         }
993                     ]
994                 },
995                 {
996                     "listeners": {
997                         "click": "function (_self, e)\n{\n   \n    var rn =      _this.grid.ds.getCount();\n    var tid = 1 * _this.form.findField('invhist_transfer_id').getValue();\n    var addRow = function(r) {\n        if (r.itemsite_qty * 1 < 1) {\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 : r.itemsite_qty,\n            item_availqty : 0,\n            avail_at_location : '',\n            invhist_transfer_item_transfer_id : tid,\n            invhist_transfer_item_unit_price : r.unit_price,\n            invhist_transfer_item_unit_price_default : r.unit_price,\n        });\n        _this.grid.ds.insert(rn++, nr); \n    \n    };\n   \n    Pman.Dialog.Image.show(\n       {\n            _url : baseURL + '/Xtuple/Import/Transfer'\n        \n       },\n       function (r) {\n            Roo.log(r);\n            Roo.each(r.items, addRow);\n            \n            if (typeof(r.Date) !='undefined') {\n                _this.form.findField('invhist_transfer_transdate').setValue( Date.parseDate((r.Date) ? r.Date : (new Date()).format('Y-m-d'), \"Y-m-d\"));\n            }\n            if (typeof(r.ArrivalDate) !='undefined') {            \n                _this.form.findField('invhist_transfer_arrivaldate').setValue(Date.parseDate((r.ArrivalDate) ? r.ArrivalDate : (new Date()).format('Y-m-d'), \"Y-m-d\"));\n            }\n            if(r.invhist_transfer_from){\n                _this.fromLocation.setValue(r.invhist_transfer_from);\n                _this.fromLocation.el.dom.value = r.invhist_transfer_from_location_name;\n            }\n            if(r.invhist_transfer_to){\n                _this.toLocation.setValue(r.invhist_transfer_to);\n                _this.toLocation.el.dom.value = r.invhist_transfer_to_location_name;\n            }\n            \n            if(r.isInter == 1){\n                _this.toLocation._is_internalcompany = true;\n            }\n            _this.grid.setColumns();\r\n       }\n   );\n}",
998                         "render": "function (_self)\n{\n    _this.uploadBtn = _self;\n}"
999                     },
1000                     "*prop": "buttons[]",
1001                     "text": "Upload (Excel)",
1002                     "xtype": "Button",
1003                     "|xns": "Roo"
1004                 },
1005                 {
1006                     "listeners": {
1007                         "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}"
1008                     },
1009                     "*prop": "buttons[]",
1010                     "text": "Download (Excel)",
1011                     "xtype": "Button",
1012                     "|xns": "Roo"
1013                 },
1014                 {
1015                     "listeners": {
1016                         "click": "function (_self, e)\n{\n    _this.grid.stopEditing();\n    if (_this.data.invhist_transfer_posted || _this.data.invhist_transfer_void) {\n        _this.dialog.hide();\n        return;\n    }\n    \n    if (_this.data.createFromRev) {\n        Roo.MessageBox.alert(\"Warning\", \"A draft item reciept has been created - please void it if it is not needed\");\n        _this.dialog.hide();        \n        return;\n    }\n    \n    \n\n    Roo.MessageBox.confirm(\"Confirm\", \"Are you sure want to cancel, all changes will be lost\", function(r) {\n    \n        if (r !='yes') {\n            return;\n        }\n        _this.dialog.hide();\n    \n   })\n    \n    \n\n}"
1017                     },
1018                     "*prop": "buttons[]",
1019                     "text": "Cancel",
1020                     "xtype": "Button",
1021                     "|xns": "Roo"
1022                 },
1023                 {
1024                     "listeners": {
1025                         "click": "function (_self, e)\n{\n    // do some checks?\n    _this.grid.stopEditing();\n    var ar = []; \n    var err = false;\n    _this.grid.ds.each(function (r) {\n        var missingqty = r.data.invhist_transfer_item_qty < 1;\n        var missingsku = r.data.invhist_transfer_item_itemsite_id < 1;\n        if (missingsku && missingqty) {\n            return;\n        }\n        \n    \n        if (missingqty) {\n            err = \"Missing Quantity on line : \" + r.data.invhist_transfer_item_line;\n        }\n        if (missingsku) {\n           err = \"Missing SKU on line : \" + r.data.invhist_transfer_item_line;\n        }\n        ar.push({\n            id: r.data.invhist_transfer_item_id,\n            itemsite_id : r.data.invhist_transfer_item_itemsite_id,\n            line:  r.data.invhist_transfer_item_line,\n            qty: r.data.invhist_transfer_item_qty,\n            price : r.data.invhist_transfer_item_unit_price\n        });\n        \n     });\n     if (err) { \n        Roo.MessageBox.alert(\"Error\", err);\n        return;\n     }\n     if (!ar.length) {\n       Roo.MessageBox.alert(\"Error\", \"Nothing listed to transfer\");\n        return;\n     }\n     _this.form.findField('transfer_items').setValue(  Roo.encode(ar));\n    \n    var arrivaldate = _this.form.findField('invhist_transfer_arrivaldate').getValue();\n    var transferprice = _this.form.findField('invhist_transfer_price').getValue();\n    \n    if(_this.toLocation._is_internalcompany && !arrivaldate){\n        Roo.MessageBox.alert(\"Error\", \"Arrival date must be filled in\");\n        return;\n    }\n    if(_this.toLocation._is_internalcompany && !transferprice.length){\n        Roo.MessageBox.alert(\"Error\", \"For inter company transfer a price must be set\");\n        return;\n    }\n    if(!arrivaldate){\n        _this.form.findField('invhist_transfer_arrivaldate').setValue(_this.form.findField('invhist_transfer_transdate').getValue());\n    }\n    _this.form.doAction(\"submit\");\n    \n\n\n\n}",
1026                         "render": "function (_self)\n{\n    _this.saveBtn = _self;\n}"
1027                     },
1028                     "*prop": "buttons[]",
1029                     "text": "Save",
1030                     "xtype": "Button",
1031                     "|xns": "Roo"
1032                 }
1033             ]
1034         }
1035     ],
1036     "permname": "",
1037     "modOrder": "001"
1038 }