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 //_this.dialog = Pman.Dialog.FILL_IN
42 if (_this.panel.active) {
43 this.footer.onClick('first');
46 beforeedit : function (e)
48 var r = e.record.data.poitem_qty_received * 1;
51 Roo.MessageBox.alert("Error", "This item has been receipted");
55 var status = _this.form.findField('pohead_status').getValue();
58 Roo.MessageBox.alert("Error", "This PO has been closed");
65 autoExpandColumn : 'item_descrip1',
72 beforeload : function (_self, o){
73 o.params = o.params || {};
74 var hid = _this.form.findField('pohead_id').getValue();
80 o.params.poitem_pohead_id = hid;
81 o.params._with_item = 1;
82 o.params._roo_office = _this.data.office ? _this.data.office : baseURL.split('/').pop().substr(0,2);
85 load : function (_self, records, options)
87 _this.grid.footer.updateSummary();
91 sortInfo : { field : 'poitem_linenumber', direction: 'ASC' },
97 url : baseURL + '/Xtuple/Roo/Poitem.php'
104 totalProperty : 'total',
123 var status = _this.form.findField('pohead_status').getValue();
126 Roo.MessageBox.alert("Error", "This PO has been closed");
130 var ct = _this.grid.ds.getCount();
132 var last = ct ? _this.grid.ds.getAt(ct-1).data.poitem_linenumber * 1 + 1 : 1;
134 var dt = _this.form.findField('pohead_orderdate').getValue();
136 var nr = _this.grid.ds.reader.newRow({
138 poitem_linenumber : last,
142 poitem_qty_ordered : 1,
146 _this.grid.stopEditing();
147 _this.grid.ds.insert(_this.grid.ds.getCount(), nr);
148 _this.grid.startEditing(_this.grid.ds.getCount()-1, 1);
151 cls : 'x-btn-text-icon',
153 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
161 var status = _this.form.findField('pohead_status').getValue();
164 Roo.MessageBox.alert("Error", "This PO has been closed");
168 var cs = _this.grid.getSelectionModel().getSelectedCell();
170 Roo.MessageBox.alert("Error", "Select a cell");
173 _this.grid.stopEditing();
174 var r = _this.grid.ds.getAt(cs[0]);
176 if(r.data.poitem_qty_received * 1 > 0){
177 Roo.MessageBox.alert("Error", "This item has been receipted");
182 _this.grid.ds.remove(r);
186 cls : 'x-btn-text-icon',
188 icon : rootURL + '/Pman/templates/images/trash.gif'
193 xtype: 'PagingToolbar',
196 emptyMsg : "No Item found",
198 updateSummary : function() {
202 url : baseURL + '/Xtuple/Roo/Poitem',
\r
205 _roo_office : _this.data.office ? _this.data.office : baseURL.split('/').pop().substr(0,2),
\r
207 poitem_pohead_id : _this.form.findField('pohead_id').getValue()
\r
209 success : function(d) {
211 f.displayEl.update(String.format(
\r
212 "{0} items | Total : {1} {2}",
\r
213 d.data[0].count_item,
\r
214 _this.form.findField('pohead_curr_id').el.dom.value,
\r
225 xtype: 'ColumnModel',
228 dataIndex : 'poitem_linenumber',
231 renderer : function(v) { return String.format('{0}', v); }
234 xtype: 'ColumnModel',
236 dataIndex : 'item_number',
237 header : 'Item code',
239 renderer : function(v) { return String.format('{0}', v); },
247 beforeselect : function (combo, record, index)
249 var ar = _this.grid.activeEditor.record;
252 ar.set('item_descrip1', record.data.itemsite_item_id_item_descrip1);
253 ar.set('poitem_itemsite_id', record.data.itemsite_id);
259 displayField : 'itemsite_item_id_item_number',
261 emptyText : "Select item",
262 forceSelection : true,
263 hiddenName : 'itemsite_item_id_item_number',
265 loadingText : "Searching...",
267 name : 'item_number',
269 qtip : "Select item",
270 queryParam : 'query[number]',
271 selectOnFocus : true,
272 tpl : '<div class="x-grid-cell-text x-btn button"><b>{itemsite_item_id_item_number}</b> - {itemsite_item_id_item_descrip1} </div>',
273 triggerAction : 'all',
275 valueField : 'item_number',
280 beforeload : function (_self, o){
281 o.params = o.params || {};
282 o.params.itemsite_posupply = 1;
286 sortInfo : { direction : 'ASC', field: 'item_number' },
291 url : baseURL + '/Roo/itemsite.php'
298 totalProperty : 'total',
299 fields : [{"name":"item_id","type":"int"},"item_number"]
306 xtype: 'ColumnModel',
308 dataIndex : 'item_descrip1',
309 header : 'Item description',
311 renderer : function(v) { return String.format('{0}', v); }
314 xtype: 'ColumnModel',
316 dataIndex : 'poitem_duedate',
319 renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); }
322 xtype: 'ColumnModel',
325 dataIndex : 'poitem_qty_ordered',
328 renderer : function(v) { return String.format('{0}', v); },
333 xtype: 'NumberField',
335 allowDecimals : false,
336 decimalPrecision : 0,
338 style : 'text-align:right'
343 xtype: 'ColumnModel',
346 dataIndex : 'poitem_qty_received',
349 renderer : function(v,x,r) {
350 return String.format(
351 r.data.poitem_qty_ordered != (v-r.data.poitem_qty_returned) ? '<span style="color:red">{0}</span>': '{0}',
352 v - r.data.poitem_qty_returned);
356 xtype: 'ColumnModel',
359 dataIndex : 'poitem_qty_vouchered',
360 header : 'Vouchered',
362 renderer : function(v,x,r) {
363 return String.format(
364 r.data.poitem_qty_ordered != v ? '<span style="color:red">{0}</span>': '{0}',
369 xtype: 'ColumnModel',
372 dataIndex : 'poitem_unitprice',
373 header : 'Unit price',
375 renderer : function(v) { return String.format('{0}', (v || v == 0) ? parseFloat(v).toFixed(3) : ''); },
380 xtype: 'NumberField',
383 allowDecimals : false,
384 decimalPrecision : 0,
386 style : 'text-align:right'