Pman.Tab.XtupleAdjustment.bjs
[Pman.Xtuple] / Pman.Tab.XtupleAdjustment.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Pman.Tab.XtupleAdjustment = new Roo.XComponent({
6     part     :  ["Xtuple","Adjustment"],
7     order    : '100-Pman.Tab.XtupleAdjustment',
8     region   : 'center',
9     parent   : 'Pman.Tab.XtupleAdjustmentTab',
10     name     : "Pman.Tab.XtupleAdjustment",
11     disabled : false, 
12     permname : '', 
13     _tree : function()
14     {
15         var _this = this;
16         var MODULE = this;
17         return {
18             xtype: 'GridPanel',
19             xns: Roo,
20             listeners : {
21                 activate : function() {
22                     _this.panel = this;
23                     if (_this.grid) {
24                         _this.grid.footer.onClick('first');
25                     }
26                 }
27             },
28             background : true,
29             fitContainer : true,
30             fitToframe : true,
31             region : 'center',
32             tableName : 'invadj',
33             title : "Inventory Adjustments",
34             grid : {
35                 xtype: 'EditorGrid',
36                 xns: Roo.grid,
37                 listeners : {
38                     render : function() 
39                     {
40                         _this.grid = this; 
41                         //_this.dialog = Pman.Dialog.FILL_IN
42                         if (_this.panel.active) {
43                            this.footer.onClick('first');
44                         }
45                     },
46                     afteredit : function (e)
47                     {
48                        if (e.record.data.invadj_posted) {
49                          return;
50                        }
51                        var req = [ 'invadj_transdate', 'invadj_location_id', 'invadj_itemsite_id',  
52                             'invadj_qty_by', 'invadj_comments' ];
53                        var valid = true;
54                         Roo.each(req, function(c) {
55                             var val = '' + e.record.get(c);
56                             if (!val.length) {
57                                 valid = false;
58                             }
59                         });
60                         if (!valid) {
61                             return;
62                         }
63                         e.record.commit();
64                             
65                        
66                        
67                     },
68                     validateedit : function (e)
69                     {
70                         switch(e.field) {
71                             case 'invadj_transdate':
72                                // e.record.setValue('invadj_transdate', Date.parseDate(e.value, 'Y-m-d'));
73                                 e.value = Date.parseDate(e.value, 'Y-m-d');
74                                 break;
75                         }
76                     },
77                     beforeedit : function (e)
78                     {
79                         Roo.log(e.record);
80                         if (e.record.data.invadj_posted) {
81                      
82                             e.cancel = true;
83                             return false;
84                         }
85                     },
86                     cellclick : function (_self, rowIndex, columnIndex, e)
87                     {
88                         var c = _this.grid.colModel.config[columnIndex];
89                         var di = c.dataIndex;
90                         if (di != 'invadj_posted') {
91                             return;
92                         }
93                         
94                         var r = _this.grid.ds.getAt(rowIndex);
95                         if (r.data.invadj_posted || !r.data.invadj_id) {
96                             return;
97                         }
98                         // attempting to post..
99                         // validation - done at other end..
100                         new Pman.Request({
101                             url : baseURL + '/Roo/Invadj',
102                             method  : 'POST',
103                             mask : 'Posting',
104                             params : {
105                                 invadj_id : r.data.invadj_id,
106                                 _post : 1
107                             },
108                             success : function(res) {
109                                 r.set('invadj_posted', true);
110                                 if (r.data.invadj_voids_id > 0) {
111                                     _this.grid.ds.each(function(rr) {
112                                         if (rr.data.invadj_id == r.data.invadj_voids_id) {
113                                             rr.set('invadj_voided_by_id', r.data.invadj_id);
114                                             rr.set('invadj_comments', rr.data.invadj_comments);
115                                         }
116                                     });
117                                 
118                                 
119                                 }
120                                 
121                                 
122                                 
123                             },
124                             failure : function (res) {
125                                 Roo.log(res);
126                                 Roo.MessageBox.alert("Error",res.errorMsg);
127                                 if (res.errors.trandate) {
128                                     r.set('invadj_transdate', Date.parseDate(res.errors.trandate,'Y-m-d'));
129                                     r.commit();
130                                 }
131                             
132                             }
133                         });
134                         
135                         
136                         
137                         
138                     }
139                 },
140                 autoExpandColumn : 'invadj_comments',
141                 clicksToEdit : 1,
142                 loadMask : true,
143                 sm : {
144                     xtype: 'CellSelectionModel',
145                     xns: Roo.grid,
146                     listeners : {
147                         tabend : function (eventdata)
148                         {
149                             _this.addBtn.fireEvent('click', this); 
150                         
151                         }
152                     }
153                 },
154                 dataSource : {
155                     xtype: 'Store',
156                     xns: Roo.data,
157                     listeners : {
158                         beforeload : function (_self, options)
159                         {
160                             options.params.invadj_location_id = _this.locationCombo.getValue();
161                             options.params.invadj_itemsite_id = _this.itemCombo.getValue();   
162                             switch(_this.status.getValue()) {
163                                 case 'ALL':
164                                 
165                                     break;
166                                case 'ALL-WITHVOID':
167                                    options.params._show_void = 2;        
168                                     break; 
169                                          
170                                case 'VOID':
171                                    options.params._show_void = 1;
172                                 
173                                     break;
174                                     
175                                 case 'POSTED':
176                         
177                                     options.params.invadj_posted = 1;
178                                     break;
179                                     
180                                 case 'UNPOSTED':
181                                     options.params.invadj_posted = 0;
182                                     break;    
183                         
184                                 case 'ALL-NOGROUP':
185                                    options.params._hide_group = 1;        
186                                     break;
187                         
188                                case 'ALL-NOGROUP-WITHVOID':
189                                    options.params._show_void = 2;        
190                                     break; 
191                                     
192                                case 'VOID-NOGROUP':
193                                    options.params._show_void = 1;       
194                                     options.params._hide_group = 1;                     
195                                     break;
196                                     
197                                 case 'POSTED-NOGROUP':
198                                     options.params.invadj_posted = 1;
199                                     options.params._hide_group = 1;                     
200                                     break;
201                                     
202                                 case 'UNPOSTED-NOGROUP':
203                                     options.params._hide_group = 1;                     
204                                     options.params.invadj_posted = 0;
205                                     break;    
206                                     
207                                     
208                             }
209                             options.params['query[comment]'] = _this.search.getValue();
210                         },
211                         update : function (_self, record, operation)
212                         {
213                             
214                             Roo.log(operation);
215                             if (operation != 'commit' || _this.incom) {
216                                 return;
217                             }
218                         
219                             
220                             var    p = Roo.apply({}, record.data);
221                             
222                             if (p.invadj_posted) {
223                                 return;
224                             }
225                             p.invadj_transdate = record.data.invadj_transdate.format('Y-m-d');
226                              p.invadj_posted = 0; 
227                         
228                             _this.incom = true;    
229                             new Pman.Request( {
230                                 url : baseURL + '/Roo/Invadj',
231                                 mask : 'Saving',
232                                 method : 'POST',
233                                 params : p,
234                                 success : function(res) {
235                                     record.set('invadj_id', res.data.invadj_id);
236                                     _this.incom = false;
237                                 },
238                                 failure : function()
239                                 {
240                                     Roo.MessageBox.alert("Error", "Saving failed");
241                                     _this.incom = false;            
242                                 }
243                             
244                             });
245                             
246                             
247                             
248                         }
249                     },
250                     remoteSort : true,
251                     sortInfo : { field : 'invadj_id', direction: 'DESC' },
252                     proxy : {
253                         xtype: 'HttpProxy',
254                         xns: Roo.data,
255                         method : 'GET',
256                         url : baseURL + '/Roo/invadj.php'
257                     },
258                     reader : {
259                         xtype: 'JsonReader',
260                         xns: Roo.data,
261                         totalProperty : 'total',
262                         root : 'data',
263                         id : 'id',
264                         fields : [
265                             {
266                                 'name': 'invadj_id',
267                                 'type': 'int'
268                             },
269                             {
270                                 'name': 'invadj_transdate',
271                                 'type': 'date',
272                                 'dateFormat': 'Y-m-d'
273                             },
274                             {
275                                 'name': 'invadj_location_id',
276                                 'type': 'int'
277                             },
278                             {
279                                 'name': 'invadj_itemsite_id',
280                                 'type': 'int'
281                             },
282                             {
283                                 'name': 'invadj_qty_by',
284                                 'type': 'int'
285                             },
286                             {
287                                 'name': 'invadj_posted',
288                                 'type': 'int'
289                             }
290                         ]
291                     }
292                 },
293                 footer : {
294                     xtype: 'PagingToolbar',
295                     xns: Roo,
296                     pageSize : 25,
297                     displayInfo : true,
298                     displayMsg : "Displaying invadj{0} - {1} of {2}",
299                     emptyMsg : "No invadj found"
300                 },
301                 toolbar : {
302                     xtype: 'Toolbar',
303                     xns: Roo,
304                     items : [
305                         {
306                             xtype: 'ComboBox',
307                             xns: Roo.form,
308                             listeners : {
309                                 render : function (_self)
310                                 {
311                                     _this.locationCombo = _self;
312                                 },
313                                 select : function (combo, record, index)
314                                 {
315                                     Roo.log('select');
316                                     _this.grid.footer.onClick('first');
317                                 }
318                             },
319                             allowBlank : true,
320                             displayField : 'location_name',
321                             editable : true,
322                             emptyText : "Select location",
323                             fieldLabel : 'location',
324                             forceSelection : true,
325                             hiddenName : 'invadj_location_id',
326                             listWidth : 400,
327                             loadingText : "Searching...",
328                             minChars : 2,
329                             name : 'invadj_location_id_location_name',
330                             pageSize : 100,
331                             qtip : "Select location",
332                             queryParam : 'query[location_name]',
333                             selectOnFocus : true,
334                             tpl : '<div class="x-grid-cell-text x-btn button"><b>{location_name}</b> </div>',
335                             triggerAction : 'all',
336                             typeAhead : false,
337                             valueField : 'location_id',
338                             width : 150,
339                             store : {
340                                 xtype: 'Store',
341                                 xns: Roo.data,
342                                 listeners : {
343                                     beforeload : function (_self, o){
344                                         o.params = o.params || {};
345                                         // set more here
346                                     }
347                                 },
348                                 remoteSort : true,
349                                 sortInfo : { direction : 'ASC', field: 'location_name' },
350                                 proxy : {
351                                     xtype: 'HttpProxy',
352                                     xns: Roo.data,
353                                     method : 'GET',
354                                     url : baseURL + '/Roo/location.php'
355                                 },
356                                 reader : {
357                                     xtype: 'JsonReader',
358                                     xns: Roo.data,
359                                     id : 'id',
360                                     root : 'data',
361                                     totalProperty : 'total',
362                                     fields : [{"name":"id","type":"int"},{"name":"location_name","type":"string"}]
363                                 }
364                             }
365                         },
366                         {
367                             xtype: 'ComboBox',
368                             xns: Roo.form,
369                             listeners : {
370                                 render : function (_self)
371                                 {
372                                     _this.itemCombo = _self;
373                                 },
374                                 select : function (combo, record, index)
375                                 {
376                                     Roo.log('select');
377                                     _this.grid.footer.onClick('first');
378                                 }
379                             },
380                             allowBlank : true,
381                             displayField : 'itemsite_item_id_item_number',
382                             editable : true,
383                             emptyText : "Select itemsite",
384                             fieldLabel : 'itemsite',
385                             forceSelection : true,
386                             hiddenName : 'invadj_itemsite_id',
387                             listWidth : 400,
388                             loadingText : "Searching...",
389                             minChars : 2,
390                             name : 'invadj_itemsite_id_item_number',
391                             pageSize : 20,
392                             qtip : "Select itemsite",
393                             queryParam : 'query[number]',
394                             selectOnFocus : true,
395                             tpl : '<div class="x-grid-cell-text x-btn button"><b>{itemsite_item_id_item_number}</b> </div>',
396                             triggerAction : 'all',
397                             typeAhead : false,
398                             valueField : 'itemsite_id',
399                             width : 150,
400                             store : {
401                                 xtype: 'Store',
402                                 xns: Roo.data,
403                                 listeners : {
404                                     beforeload : function (_self, o){
405                                         o.params = o.params || {};
406                                         // set more here
407                                     }
408                                 },
409                                 remoteSort : true,
410                                 sortInfo : { direction : 'ASC', field: 'itemsite_item_id_item_number' },
411                                 proxy : {
412                                     xtype: 'HttpProxy',
413                                     xns: Roo.data,
414                                     method : 'GET',
415                                     url : baseURL + '/Roo/itemsite.php'
416                                 },
417                                 reader : {
418                                     xtype: 'JsonReader',
419                                     xns: Roo.data,
420                                     id : 'id',
421                                     root : 'data',
422                                     totalProperty : 'total',
423                                     fields : [{"name":"id","type":"int"},{"name":"itemsite_abcclass","type":"string"}]
424                                 }
425                             }
426                         },
427                         {
428                             xtype: 'ComboBox',
429                             xns: Roo.form,
430                             listeners : {
431                                 render : function (_self)
432                                 {
433                                   _this.status = _self;
434                                 },
435                                 select : function (combo, record, index)
436                                 {
437                                     Roo.log('select');
438                                     _this.grid.footer.onClick('first');
439                                 }
440                             },
441                             allowBlank : false,
442                             displayField : 'fname',
443                             editable : false,
444                             fieldLabel : 'Status',
445                             hiddenName : 'cm_status',
446                             listWidth : 200,
447                             mode : 'local',
448                             name : 'cm_status_name',
449                             triggerAction : 'all',
450                             value : "ALL-NOGROUP",
451                             valueField : 'ftype',
452                             width : 150,
453                             store : {
454                                 xtype: 'SimpleStore',
455                                 xns: Roo.data,
456                                 data : [ 
457                                     [ 'ALL-NOGROUP', "All (not in Group)"],
458                                     [ 'UNPOSTED-NOGROUP', "Unposted only (not in Group)"] ,
459                                     [ 'POSTED-NOGROUP', "Posted only (not in Group)"] ,
460                                     [ 'VOID-NOGROUP' ,"Void (not in Group)"],
461                                     [ 'ALL', "All"],
462                                     [ 'UNPOSTED', "Unposted only"] ,
463                                     [ 'POSTED', "Posted only"] ,
464                                     [ 'VOID', "Void only"]  
465                                     
466                                 ],
467                                 fields : [  'ftype', 'fname']
468                             }
469                         },
470                         {
471                             xtype: 'TextField',
472                             xns: Roo.form,
473                             listeners : {
474                                 specialkey : function (_self, e)
475                                 {
476                                     _this.grid.footer.onClick('first');
477                                 },
478                                 render : function (_self)
479                                 {
480                                     _this.search = _self;
481                                 }
482                             },
483                             width : 100
484                         },
485                         {
486                             xtype: 'Button',
487                             xns: Roo.Toolbar,
488                             listeners : {
489                                 click : function (_self, e)
490                                 {
491                                 _this.grid.footer.onClick('first');
492                                 }
493                             },
494                             cls : 'x-btn-icon',
495                             icon : rootURL + '/Pman/templates/images/search.gif'
496                         },
497                         {
498                             xtype: 'Button',
499                             xns: Roo.Toolbar,
500                             listeners : {
501                                 click : function (_self, e)
502                                 {
503                                     _this.locationCombo.reset();
504                                     _this.itemCombo.reset();
505                                     
506                                     _this.grid.footer.onClick('first');
507                                 }
508                             },
509                             cls : 'x-btn-icon',
510                             icon : rootURL + '/Pman/templates/images/edit-clear.gif'
511                         },
512                         {
513                             xtype: 'Fill',
514                             xns: Roo.Toolbar
515                         },
516                         {
517                             xtype: 'Button',
518                             xns: Roo.Toolbar,
519                             listeners : {
520                                 click : function ()
521                                 {   
522                                     new Pman.Download({
523                                         grid : _this.grid
524                                     });
525                                    
526                                 }
527                             },
528                             cls : 'x-btn-text-icon',
529                             text : "Download Excel",
530                             icon : rootURL + '/Pman/templates/images/spreadsheet.gif'
531                         },
532                         {
533                             xtype: 'Button',
534                             xns: Roo.Toolbar,
535                             listeners : {
536                                 click : function()
537                                 {
538                                    
539                                     Roo.log("add presed");
540                                      
541                                     // work out last 
542                                     var grid = _this.grid;
543                                      
544                                     // uses form defaults or last row value.
545                                     var nr = _this.grid.ds.reader.newRow({
546                                         invadj_id : 0,
547                                         invadj_transdate : (new Date()),
548                                         invadj_location_id :  0,
549                                         invadj_location_id_location_name : '',        
550                                         invadj_itemsite_id : 0,                
551                                         invadj_itemsite_id_item_number : '',        
552                                         invadj_qty_by : '',  
553                                         invadj_comments: '',      
554                                         invadj_posted: false
555                                                 
556                                     });
557                                     grid.stopEditing();
558                                     grid.ds.insert(0, nr); 
559                                     grid.startEditing(0, 1); // type..
560                                 
561                                 },
562                                 render : function (_self)
563                                 {
564                                     _this.addBtn = _self;
565                                 }
566                             },
567                             cls : 'x-btn-text-icon',
568                             text : "Add",
569                             icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
570                         },
571                         {
572                             xtype: 'Button',
573                             xns: Roo.Toolbar,
574                             listeners : {
575                                 click : function()
576                                 {
577                                    
578                                     Roo.log("add presed");
579                                     
580                                     var grid = _this.grid;
581                                     var r = grid.selModel.getSelectedCell();
582                                     
583                                     
584                                     if (!r) {
585                                         Roo.MessageBox.alert("Error", "Select an adjustment");
586                                         return;
587                                     }    
588                                     var rec = grid.ds.getAt(r[0]);
589                                     
590                                     var nrec = Roo.apply({}, rec.data);
591                                     nrec.invadj_qty_by *= -1;
592                                     nrec.invadj_comments = (rec.data.invadj_voids_id * 1 > 1) ? 'Restore of Adjustment #' + rec.data.invadj_voids_id : 'Void of Adjustment #' + rec.data.invadj_id;
593                                     nrec.invadj_posted = 0;
594                                     nrec.invadj_id = 0;    
595                                     nrec.invadj_invdetail_id  = '';
596                                     nrec.invadj_voids_id   =  rec.data.invadj_id;
597                                     //nrec.invadj_transdate = rec.data.invadj_transdate.format('Y-m-d');
598                                     
599                                     var nr = _this.grid.ds.reader.newRow(nrec);
600                                     grid.stopEditing();
601                                     grid.ds.insert(r[0], nr); 
602                                     (function() { 
603                                         grid.ds.getAt(r[0]).commit();
604                                     }).defer(100);
605                                     
606                                 }
607                             },
608                             cls : 'x-btn-text-icon',
609                             text : "Void",
610                             icon : rootURL + '/Pman/templates/images/trash.gif'
611                         },
612                         {
613                             xtype: 'Button',
614                             xns: Roo.Toolbar,
615                             listeners : {
616                                 click : function()
617                                 {
618                                    
619                                    var g = _this.grid;
620                                    var s = g.selModel.getSelectedCell();
621                                    if (!s) {
622                                         Roo.MessageBox.alert("Error", "Select Adjustment");
623                                         return;
624                                     }
625                                     var r = g.ds.getAt(s[0]);
626                                     if (r.data.invadj_posted) {
627                                         Roo.MessageBox.alert("Error", "You can not delete posted adjustments - try voiding them");
628                                         return;
629                                     }
630                                     new Pman.Request({
631                                         url : baseURL + '/Roo/Invadj',
632                                         method : 'POST',
633                                         params  : { _delete : r.data.invadj_id },
634                                         mask : 'Deleteing',
635                                         success : function(res) {
636                                             g.ds.remove(r);
637                                         }
638                                     
639                                     });
640                                    
641                                    
642                                 }
643                             },
644                             cls : 'x-btn-text-icon',
645                             text : "Delete",
646                             icon : rootURL + '/Pman/templates/images/trash.gif'
647                         }
648                     ]
649                 },
650                 colModel : [
651                     {
652                         xtype: 'ColumnModel',
653                         xns: Roo.grid,
654                         dataIndex : 'invadj_id',
655                         header : 'Ref#',
656                         sortable : true,
657                         width : 50,
658                         renderer : function(v) { return String.format('{0}', v); }
659                     },
660                     {
661                         xtype: 'ColumnModel',
662                         xns: Roo.grid,
663                         dataIndex : 'invadj_transdate',
664                         header : 'Date',
665                         sortable : true,
666                         width : 75,
667                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); },
668                         editor : {
669                             xtype: 'GridEditor',
670                             xns: Roo.grid,
671                             field : {
672                                 xtype: 'DateField',
673                                 xns: Roo.form,
674                                 format : 'Y-m-d',
675                                 useIso : true
676                             }
677                         }
678                     },
679                     {
680                         xtype: 'ColumnModel',
681                         xns: Roo.grid,
682                         dataIndex : 'invadj_location_id',
683                         header : 'Location',
684                         width : 150,
685                         renderer : function(v,x,r) { 
686                         
687                             return String.format('{0}', 
688                                 r.data.invadj_location_id_location_name
689                              ); 
690                          },
691                         editor : {
692                             xtype: 'GridEditor',
693                             xns: Roo.grid,
694                             field : {
695                                 xtype: 'ComboBox',
696                                 xns: Roo.form,
697                                 allowBlank : false,
698                                 displayField : 'location_name',
699                                 editable : true,
700                                 emptyText : "Select location",
701                                 fieldLabel : 'location',
702                                 forceSelection : true,
703                                 hiddenName : 'invadj_location_id',
704                                 listWidth : 400,
705                                 loadingText : "Searching...",
706                                 minChars : 2,
707                                 name : 'invadj_location_id_location_name',
708                                 pageSize : 200,
709                                 qtip : "Select location",
710                                 queryParam : 'query[location_name]',
711                                 selectOnFocus : true,
712                                 tpl : '<div class="x-grid-cell-text x-btn button"><b>{location_name}</b> </div>',
713                                 triggerAction : 'all',
714                                 typeAhead : false,
715                                 valueField : 'location_id',
716                                 width : 300,
717                                 store : {
718                                     xtype: 'Store',
719                                     xns: Roo.data,
720                                     listeners : {
721                                         beforeload : function (_self, o){
722                                             o.params = o.params || {};
723                                             // set more here
724                                         }
725                                     },
726                                     remoteSort : true,
727                                     sortInfo : { direction : 'ASC', field: 'location_name' },
728                                     proxy : {
729                                         xtype: 'HttpProxy',
730                                         xns: Roo.data,
731                                         method : 'GET',
732                                         url : baseURL + '/Roo/location.php'
733                                     },
734                                     reader : {
735                                         xtype: 'JsonReader',
736                                         xns: Roo.data,
737                                         id : 'id',
738                                         root : 'data',
739                                         totalProperty : 'total',
740                                         fields : [{"name":"id","type":"int"},{"name":"location_name","type":"string"}]
741                                     }
742                                 }
743                             }
744                         }
745                     },
746                     {
747                         xtype: 'ColumnModel',
748                         xns: Roo.grid,
749                         dataIndex : 'invadj_itemsite_id_item_number',
750                         header : 'Item Number',
751                         hidden : true,
752                         sortable : true,
753                         width : 50,
754                         renderer : function(v) { return String.format('{0}', v); }
755                     },
756                     {
757                         xtype: 'ColumnModel',
758                         xns: Roo.grid,
759                         dataIndex : 'invadj_itemsite_id',
760                         header : 'Item',
761                         width : 100,
762                         renderer : function(v,x,r) { return String.format('{0}', r.data.invadj_itemsite_id_item_number); },
763                         editor : {
764                             xtype: 'GridEditor',
765                             xns: Roo.grid,
766                             field : {
767                                 xtype: 'ComboBox',
768                                 xns: Roo.form,
769                                 allowBlank : false,
770                                 displayField : 'itemsite_item_id_item_number',
771                                 editable : true,
772                                 emptyText : "Select itemsite",
773                                 fieldLabel : 'itemsite',
774                                 forceSelection : true,
775                                 hiddenName : 'invadj_itemsite_id',
776                                 listWidth : 400,
777                                 loadingText : "Searching...",
778                                 minChars : 2,
779                                 name : 'invadj_itemsite_id_item_number',
780                                 pageSize : 20,
781                                 qtip : "Select itemsite",
782                                 queryParam : 'query[number]',
783                                 selectOnFocus : true,
784                                 tpl : '<div class="x-grid-cell-text x-btn button"><b>{itemsite_item_id_item_number}</b> </div>',
785                                 triggerAction : 'all',
786                                 typeAhead : false,
787                                 valueField : 'itemsite_id',
788                                 width : 300,
789                                 store : {
790                                     xtype: 'Store',
791                                     xns: Roo.data,
792                                     listeners : {
793                                         beforeload : function (_self, o){
794                                             o.params = o.params || {};
795                                             // set more here
796                                         }
797                                     },
798                                     remoteSort : true,
799                                     sortInfo : { direction : 'ASC', field: 'itemsite_item_id_item_number' },
800                                     proxy : {
801                                         xtype: 'HttpProxy',
802                                         xns: Roo.data,
803                                         method : 'GET',
804                                         url : baseURL + '/Roo/itemsite.php'
805                                     },
806                                     reader : {
807                                         xtype: 'JsonReader',
808                                         xns: Roo.data,
809                                         id : 'id',
810                                         root : 'data',
811                                         totalProperty : 'total',
812                                         fields : [{"name":"id","type":"int"},{"name":"itemsite_abcclass","type":"string"}]
813                                     }
814                                 }
815                             }
816                         }
817                     },
818                     {
819                         xtype: 'ColumnModel',
820                         xns: Roo.grid,
821                         align : 'right',
822                         dataIndex : 'invadj_qty_by',
823                         header : 'Adjust By #',
824                         width : 75,
825                         renderer : function(v) { return String.format('{0}', v); },
826                         editor : {
827                             xtype: 'GridEditor',
828                             xns: Roo.grid,
829                             field : {
830                                 xtype: 'NumberField',
831                                 xns: Roo.form,
832                                 allowDecimals : false,
833                                 cls : 'align-right'
834                             }
835                         }
836                     },
837                     {
838                         xtype: 'ColumnModel',
839                         xns: Roo.grid,
840                         dataIndex : 'invadj_comments',
841                         header : 'Comments',
842                         width : 75,
843                         renderer : function(v,x,r) {
844                            return String.format(r.data.invfifo_void * 1 > 0 ? '<s style="color:#ccc">{0}</s>' : '{0}', v); 
845                          },
846                         editor : {
847                             xtype: 'GridEditor',
848                             xns: Roo.grid,
849                             field : {
850                                 xtype: 'TextField',
851                                 xns: Roo.form
852                             }
853                         }
854                     },
855                     {
856                         xtype: 'ColumnModel',
857                         xns: Roo.grid,
858                         dataIndex : 'invadj_posted',
859                         header : 'Posted',
860                         width : 75,
861                         renderer : function(v) {  
862                             var state = v * 1 > 0 ?  '-checked' : '';
863                         
864                             return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
865                                         
866                          }
867                     }
868                 ]
869             }
870         };
871     }
872 });