1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Pman.Tab.XtupleMetric = new Roo.XComponent({
6 part : ["Xtuple","Metric"],
7 order : '900-Pman.Tab.XtupleMetric',
10 name : "unnamed module",
21 activate : function() {
24 _this.grid.footer.onClick('first');
41 if (_this.panel.active) {
42 this.footer.onClick('first');
45 beforeedit : function (e)
47 var r = e.record.data.poitem_qty_received * 1;
50 Roo.MessageBox.alert("Error", "This item has been receipted");
54 var status = _this.form.findField('pohead_status').getValue();
57 Roo.MessageBox.alert("Error", "This PO has been closed");
64 autoExpandColumn : 'metric_value',
71 beforeload : function (_self, o){
72 o.params = o.params || {};
77 sortInfo : { field : 'metric_name', direction: 'ASC' },
83 url : baseURL + '/Xtuple/Roo/Metric.php'
90 totalProperty : 'total',
109 var status = _this.form.findField('pohead_status').getValue();
112 Roo.MessageBox.alert("Error", "This PO has been closed");
116 var ct = _this.grid.ds.getCount();
118 var last = ct ? _this.grid.ds.getAt(ct-1).data.poitem_linenumber * 1 + 1 : 1;
120 var dt = _this.form.findField('pohead_orderdate').getValue();
122 var nr = _this.grid.ds.reader.newRow({
124 poitem_linenumber : last,
128 poitem_qty_ordered : 1,
132 _this.grid.stopEditing();
133 _this.grid.ds.insert(_this.grid.ds.getCount(), nr);
134 _this.grid.startEditing(_this.grid.ds.getCount()-1, 1);
137 cls : 'x-btn-text-icon',
139 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
147 var status = _this.form.findField('pohead_status').getValue();
150 Roo.MessageBox.alert("Error", "This PO has been closed");
154 var cs = _this.grid.getSelectionModel().getSelectedCell();
156 Roo.MessageBox.alert("Error", "Select a cell");
159 _this.grid.stopEditing();
160 var r = _this.grid.ds.getAt(cs[0]);
162 if(r.data.poitem_qty_received * 1 > 0){
163 Roo.MessageBox.alert("Error", "This item has been receipted");
168 _this.grid.ds.remove(r);
172 cls : 'x-btn-text-icon',
174 icon : rootURL + '/Pman/templates/images/trash.gif'
179 xtype: 'PagingToolbar',
182 emptyMsg : "No Metric found",
187 xtype: 'ColumnModel',
190 dataIndex : 'poitem_linenumber',
193 renderer : function(v) { return String.format('{0}', v); }
196 xtype: 'ColumnModel',
198 dataIndex : 'item_number',
199 header : 'Item code',
201 renderer : function(v) { return String.format('{0}', v); },
209 beforeselect : function (combo, record, index)
211 var ar = _this.grid.activeEditor.record;
214 ar.set('item_descrip1', record.data.itemsite_item_id_item_descrip1);
215 ar.set('poitem_itemsite_id', record.data.itemsite_id);
221 displayField : 'itemsite_item_id_item_number',
223 emptyText : "Select item",
224 forceSelection : true,
225 hiddenName : 'itemsite_item_id_item_number',
227 loadingText : "Searching...",
229 name : 'item_number',
231 qtip : "Select item",
232 queryParam : 'query[number]',
233 selectOnFocus : true,
234 tpl : '<div class="x-grid-cell-text x-btn button"><b>{itemsite_item_id_item_number}</b> - {itemsite_item_id_item_descrip1} </div>',
235 triggerAction : 'all',
237 valueField : 'item_number',
242 beforeload : function (_self, o){
243 o.params = o.params || {};
244 o.params.itemsite_posupply = 1;
248 sortInfo : { direction : 'ASC', field: 'item_number' },
253 url : baseURL + '/Roo/itemsite.php'
260 totalProperty : 'total',
261 fields : [{"name":"item_id","type":"int"},"item_number"]
268 xtype: 'ColumnModel',
270 dataIndex : 'item_descrip1',
271 header : 'Item description',
273 renderer : function(v) { return String.format('{0}', v); }
276 xtype: 'ColumnModel',
278 dataIndex : 'poitem_duedate',
281 renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); }
284 xtype: 'ColumnModel',
287 dataIndex : 'poitem_qty_ordered',
290 renderer : function(v) { return String.format('{0}', v); },
295 xtype: 'NumberField',
297 allowDecimals : false,
298 decimalPrecision : 0,
300 style : 'text-align:right'
305 xtype: 'ColumnModel',
308 dataIndex : 'poitem_qty_received',
311 renderer : function(v,x,r) {
312 return String.format(
313 r.data.poitem_qty_ordered != (v-r.data.poitem_qty_returned) ? '<span style="color:red">{0}</span>': '{0}',
314 v - r.data.poitem_qty_returned);
318 xtype: 'ColumnModel',
321 dataIndex : 'poitem_qty_vouchered',
322 header : 'Vouchered',
324 renderer : function(v,x,r) {
325 return String.format(
326 r.data.poitem_qty_ordered != v ? '<span style="color:red">{0}</span>': '{0}',
331 xtype: 'ColumnModel',
334 dataIndex : 'poitem_unitprice',
335 header : 'Unit price',
337 renderer : function(v) { return String.format('{0}', (v || v == 0) ? parseFloat(v).toFixed(3) : ''); },
342 xtype: 'NumberField',
345 allowDecimals : false,
346 decimalPrecision : 0,
348 style : 'text-align:right'