{
"name" : "Pman.Tab.XtupleSalesOrder",
"parent" : "Pman.Tab.XtupleSales",
"title" : "",
"path" : "/home/edward/gitlive/web.xtuple/Pman/Xtuple/Pman.Tab.XtupleSalesOrder.bjs",
"permname" : "",
"modOrder" : "001",
"strings" : {
"fdb35c1a9883acaa94378144a114dfe6" : "Cust. PO#",
"a8929eb5c1553d3f70497f862d25d0ce" : "Select Action",
"3bd9a9f36601eeb35d5afce4dcfbfce5" : "No cohead found",
"6f1bf85c9ebb3c7fa26251e1e335e032" : "Terms",
"d2fd3c49554ebcce7e57b85dfa682160" : "Displaying cohead{0} - {1} of {2}",
"72d6d7a1885885bb55a565fd1070581a" : "Import",
"36dc4ac22a9c9aa45d359e55937499da" : "as PDF",
"051f291b80c3336fc75368454ca2a8d2" : "Import HSBC csv file",
"f313afd5710eeea203821d3201cc27d8" : "Email to warehouse",
"a1fa27779242b4902f7ae3bdd5c6d508" : "Type",
"d1228f5476d15142b1358ae4b5fa2454" : "Order #",
"bf2234cf486127ba73efe4b2986eed78" : "Customer Statement",
"bcc3c81377e8aef6878f3048ad3e1845" : "cohead",
"be99bd9be2f6204e18d9be098b1cec84" : "AR Aging",
"ec211f7c20af43e742bf2570c3cb84f9" : "Add",
"ce26601dac0dea138b7295f02b7620a7" : "Customer",
"1243daf593fa297e07ab03bf06d925af" : "Searching...",
"3f7488c396d3d4e015d8886452db4110" : "Staff IC.",
"4351cfebe4b61d8aa5efa1d020710005" : "View",
"f38ab62162b94b4978679aeca58a270c" : "Select Order",
"8f3e1295a3a1d30b6ee5d8de6e0b8c0a" : "as Excel",
"13348442cc6a27032d2b4aa28b75a5d3" : "Search",
"26e09a1ee1517389c7b07f42df65561a" : "Ordered",
"8db91c5e3376bc85414ebca9c53fb53f" : "MYOPEN",
"904062c33353866aa5234f35ed29e114" : "Download Results",
"959462c653dede23e7152b97b45a8aa5" : "Clear Unpaid Orders",
"3e208ad5d41ca414bb432adbb7d39c33" : "View type",
"4d02be4779719ea23232946e4a34aa82" : "Magento Upload",
"74002cb040b036511b8d031da591364a" : "Ship to",
"5da618e8e4b89c66fe86e32cdafde142" : "From",
"ebe043e4c90950fe50c8a95d96af10f5" : "Quick Stock Check",
"54ca6e7fdb43298ae82cd9cb04e77f9b" : "#order",
"c91c7b93c28cd18741b71f727ee81ee3" : "Reports",
"96b0141273eabab320119c467cdcaf17" : "Total",
"99360e60ce244a99256c131555f20d4e" : "Sales Orders",
"1c5b744a085a30924e4436c89a79027e" : "Complete and Close",
"a2fdeac60e3c5b6c51a92e027fb9d533" : "Target Delivery",
"5fb63579fc981698f97d55bfecb213ea" : "Copy",
"b155bf2beaeeb2018389eded7c74b56f" : "Customer History",
"b0ca9fe87723f63f290ec66b891ec9ee" : "Import Waybill Delivery",
"2d899459cc25ea99ea2573d592860ec8" : "Customer#",
"fce6d3795b41b54dc0dab82df50517c1" : "Select custinfo",
"e12167aa0a7698e6ebc92b4ce3909b53" : "To",
"d720bb04db44a8269a09bea3b90352f4" : "Summary Excel",
"f4c6f851b00d5518bf888815de279aba" : "Notes"
},
"items" : [
{
"listeners" : {
"activate" : "function (_self)\n{\n this.setTitle('Sales Orders (' + Pman.Login.authUser.dbname +')');\n}"
},
"region" : "center",
"xtype" : "NestedLayoutPanel",
"title" : "Sales Orders",
"$ xns" : "Roo",
"items" : [
{
"xtype" : "BorderLayout",
"$ xns" : "Roo",
"* prop" : "layout",
"items" : [
{
"xtype" : "LayoutRegion",
"title" : "Search",
"$ xns" : "Roo",
"width" : 200,
"split" : true,
"* prop" : "west"
},
{
"xtype" : "LayoutRegion",
"$ xns" : "Roo",
"* prop" : "center"
},
{
"listeners" : {
"|activate" : "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}"
},
"background" : true,
"fitToframe" : true,
"region" : "center",
"title" : "cohead",
"xtype" : "GridPanel",
"fitContainer" : true,
"$ xns" : "Roo",
"# builderCfg" : "{\"cols\":[{\"table\":\"cohead\",\"column\":\"cohead_number\",\"columnshort\":\"cohead_number\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"#order\"},{\"table\":\"custinfo\",\"column\":\"cohead_cust_id_cust_name\",\"columnshort\":\"cust_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":1,\"title\":\"Customer\"},{\"table\":\"cohead\",\"column\":\"cohead_custponumber\",\"columnshort\":\"cohead_custponumber\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Cust. PO#\"},{\"table\":\"cohead\",\"column\":\"cohead_type\",\"columnshort\":\"cohead_type\",\"ctype\":\"bpchar\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Type\"},{\"table\":\"cohead\",\"column\":\"cohead_orderdate\",\"columnshort\":\"cohead_orderdate\",\"ctype\":\"date\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ordered\"},{\"table\":\"shiptoinfo\",\"column\":\"cohead_shipto_id_shipto_name\",\"columnshort\":\"shipto_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ship to\"},{\"table\":\"terms\",\"column\":\"cohead_terms_id_terms_descrip\",\"columnshort\":\"terms_descrip\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Terms\"},{\"table\":\"curr_symbol\",\"column\":\"cohead_curr_id_curr_name\",\"columnshort\":\"curr_name\",\"ctype\":\"varchar\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Currency\"}],\"cols_ex\":[\"cohead_cust_id_cust_name\"],\"table\":\"cohead\",\"xtype\":\"GridPanel\",\"|xns\":\"Roo\"}",
"tableName" : "cohead",
"items" : [
{
"listeners" : {
"|rowdblclick" : "function (_self, rowIndex, e)\n{\n if (!_this.dialog) return;\n _this.dialog.show( this.getDataSource().getAt(rowIndex).data, function() {\n _this.grid.footer.onClick('refresh');\n Pman.Tab.XtupleSales.grid.footer.onClick('first');\n }); \n}\n",
"|render" : "function() \n{\n _this.grid = this; \n try { \n _this.dialog = Pman.Dialog.XtupleSalesOrder;\n } catch(e) {}\n if (_this.panel.active) {\n this.footer.onClick('first');\n }\n}"
},
"autoExpandColumn" : "cohead_cust_id_cust_name",
"xtype" : "Grid",
"loadMask" : true,
"$ xns" : "Roo.grid",
"* prop" : "grid",
"items" : [
{
"listeners" : {
"beforeload" : "function (_self, options)\n{\n var vl;\n try { \n vl = _this.form.getFieldValues();\n } catch (e) {\n vl = {};\n }\n\n \n \n for(var x in vl) {\n if (!(new String(vl[x])).length) {\n continue;\n }\n options.params[x] = vl[x];\n \n }\n try {\n if (options.params['query[cohead_number]'].length) {\n options.params.viewtype = 'REALALL';\n }\n } catch (e) {}\n}"
},
"remoteSort" : true,
"xtype" : "Store",
"$ sortInfo" : "{ field : 'cohead_orderdate', direction: 'DESC' }",
"$ xns" : "Roo.data",
"* prop" : "dataSource",
"# builderCfg" : "{\"cols\":[{\"table\":\"cohead\",\"column\":\"cohead_number\",\"columnshort\":\"cohead_number\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"#order\"},{\"table\":\"custinfo\",\"column\":\"cohead_cust_id_cust_name\",\"columnshort\":\"cust_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":1,\"title\":\"Customer\"},{\"table\":\"cohead\",\"column\":\"cohead_custponumber\",\"columnshort\":\"cohead_custponumber\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Cust. PO#\"},{\"table\":\"cohead\",\"column\":\"cohead_type\",\"columnshort\":\"cohead_type\",\"ctype\":\"bpchar\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Type\"},{\"table\":\"cohead\",\"column\":\"cohead_orderdate\",\"columnshort\":\"cohead_orderdate\",\"ctype\":\"date\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ordered\"},{\"table\":\"shiptoinfo\",\"column\":\"cohead_shipto_id_shipto_name\",\"columnshort\":\"shipto_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ship to\"},{\"table\":\"terms\",\"column\":\"cohead_terms_id_terms_descrip\",\"columnshort\":\"terms_descrip\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Terms\"},{\"table\":\"curr_symbol\",\"column\":\"cohead_curr_id_curr_name\",\"columnshort\":\"curr_name\",\"ctype\":\"varchar\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Currency\"}],\"cols_ex\":[\"cohead_cust_id_cust_name\"],\"table\":\"cohead\",\"xtype\":\"GridPanel\",\"|xns\":\"Roo\"}",
"items" : [
{
"$ url" : "baseURL + '/Roo/cohead.php'",
"method" : "GET",
"xtype" : "HttpProxy",
"timeout" : 60000,
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
{
"id" : "id",
"root" : "data",
"xtype" : "JsonReader",
"$ xns" : "Roo.data",
"$ fields" : "[\n {\n 'name': 'cohead_number',\n 'type': 'string'\n },\n {\n 'name': 'cohead_cust_id_cust_name',\n 'type': 'string'\n },\n {\n 'name': 'cohead_custponumber',\n 'type': 'string'\n },\n {\n 'name': 'cohead_type'\n },\n {\n 'name': 'cohead_orderdate',\n 'type': 'date'\n },\n {\n 'name': 'cohead_shipto_id_shipto_name',\n 'type': 'string'\n },\n {\n 'name': 'cohead_terms_id_terms_descrip',\n 'type': 'string'\n },\n {\n 'name': 'cohead_curr_id_curr_name',\n 'type': 'string'\n }\n]",
"* prop" : "reader",
"totalProperty" : "total",
"# builderCfg" : "{\"cols\":[{\"table\":\"cohead\",\"column\":\"cohead_number\",\"columnshort\":\"cohead_number\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"#order\"},{\"table\":\"custinfo\",\"column\":\"cohead_cust_id_cust_name\",\"columnshort\":\"cust_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":1,\"title\":\"Customer\"},{\"table\":\"cohead\",\"column\":\"cohead_custponumber\",\"columnshort\":\"cohead_custponumber\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Cust. PO#\"},{\"table\":\"cohead\",\"column\":\"cohead_type\",\"columnshort\":\"cohead_type\",\"ctype\":\"bpchar\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Type\"},{\"table\":\"cohead\",\"column\":\"cohead_orderdate\",\"columnshort\":\"cohead_orderdate\",\"ctype\":\"date\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ordered\"},{\"table\":\"shiptoinfo\",\"column\":\"cohead_shipto_id_shipto_name\",\"columnshort\":\"shipto_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ship to\"},{\"table\":\"terms\",\"column\":\"cohead_terms_id_terms_descrip\",\"columnshort\":\"terms_descrip\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Terms\"},{\"table\":\"curr_symbol\",\"column\":\"cohead_curr_id_curr_name\",\"columnshort\":\"curr_name\",\"ctype\":\"varchar\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Currency\"}],\"cols_ex\":[\"cohead_cust_id_cust_name\"],\"table\":\"cohead\",\"xtype\":\"GridPanel\",\"|xns\":\"Roo\"}"
}
]
},
{
"pageSize" : 25,
"xtype" : "PagingToolbar",
"emptyMsg" : "No cohead found",
"$ xns" : "Roo",
"displayInfo" : true,
"displayMsg" : "Displaying cohead{0} - {1} of {2}",
"* prop" : "footer",
"items" : [
{
"listeners" : {
"click" : "function ()\n{\n new Pman.Download({\n grid : _this.grid,\n newWindow : true,\n timeout : 6000000,\n method : 'POST'\n }); \n \n}"
},
"text" : "Download Results",
"xtype" : "Button",
"cls" : "x-btn-text-icon",
"$ icon" : "rootURL + '/Pman/templates/images/spreadsheet.gif'",
"$ xns" : "Roo.Toolbar"
}
]
},
{
"xtype" : "Toolbar",
"$ xns" : "Roo",
"* prop" : "toolbar",
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n Pman.Dialog.XtupleInvHistory.show({\n \n \n });\n}"
},
"text" : "Quick Stock Check",
"xtype" : "Button",
"$ xns" : "Roo.Toolbar"
},
{
"text" : "Import",
"xtype" : "Button",
"$ xns" : "Roo.Toolbar",
"items" : [
{
"xtype" : "Menu",
"$ xns" : "Roo.menu",
"* prop" : "menu",
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n Pman.Dialog.Image.show(\n {\n _url : baseURL+'/Xtuple/Import/Magento',\n timeout : 90000\n \n },\n function (data) {\n Roo.MessageBox.alert(\"Notice\", data); \n _this.grid.footer.onClick('first');\n\n }\n );\n}"
},
"text" : "Magento Upload",
"xtype" : "Item",
"$ xns" : "Roo.menu"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n Pman.Dialog.XtupleUploadHSBC.show( {} , function(res) {\n Pman.Dialog.Image.show({\n timeout : 900000,\n _url : baseURL + '/Xtuple/Import/HSBC?' + Roo.urlEncode(res)\n }, function(data) {\n Roo.MessageBox.alert('Success', data);\n _this.grid.footer.onClick('first');\n });\n }); \n}"
},
"text" : "Import HSBC csv file",
"xtype" : "Item",
"$ xns" : "Roo.menu"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n Pman.Dialog.Image.show(\n {\n _url : baseURL+'/Xtuple/Import/WayBill',\n timeout : 900000\n \n },\n function (data) {\n Roo.MessageBox.alert(\"Notice\", data); \n _this.grid.footer.onClick('first');\n }\n );\n}"
},
"text" : "Import Waybill Delivery",
"xtype" : "Item",
"$ xns" : "Roo.menu"
}
]
}
]
},
{
"text" : "Reports",
"xtype" : "Button",
"cls" : "x-btn-text-icon",
"$ icon" : "rootURL + '/Pman/templates/images/spreadsheet.gif'",
"$ xns" : "Roo.Toolbar",
"items" : [
{
"xtype" : "Menu",
"$ xns" : "Roo.menu",
"* prop" : "menu",
"items" : [
{
"text" : "AR Aging",
"xtype" : "Item",
"$ xns" : "Roo.menu",
"items" : [
{
"xtype" : "Menu",
"$ xns" : "Roo.menu",
"* prop" : "menu",
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n var from = _this.form.findField('_fromdate').getValue();\n var to = _this.form.findField('_todate').getValue();\n \n if(!from || !to){\n Roo.Msg.alert('Error', 'Please select a date range for the report');\n return;\n }\n \n var params = {\n template: 'ARAging',\n filename : 'ARAging-' + to.format('Y-m-d'),\n 'param[0]': \"startDate:string='\" + from.format('Y-m-d') + \"'\",\n 'param[1]': \"relDate:string='\" + to.format('Y-m-d') + \"'\",\n 'param[2]': \"useDocDate:number=1\"\n };\n var cust_id = _this.form.findField('cohead_cust_id').getValue();\n if (cust_id * 1 > 0) {\n params['param[3]'] = 'cust_id:number=' + cust_id;\n }\n \n new Pman.Download({\n url : baseURL + '/Xtuple/Print',\n params : params,\n method : 'GET'\n });\n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\n}"
},
"text" : "as PDF",
"xtype" : "Item",
"$ xns" : "Roo.menu"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n var from = _this.form.findField('_fromdate').getValue();\n var to = _this.form.findField('_todate').getValue();\n \n \n \n var params = {\n '_group' : 'arAging',\n '_name' : 'bydate',\n 'limit' : 99999,\n \n 'startDate:text' : from ? from.format('Y-m-d') : '2000-01-01' ,\n 'relDate:text' : to ? to.format('Y-m-d') : '2100-01-01',\n \n \n \n 'useDocDate:text' : 'TRUE',\n 'csvTitles' : '*',\n 'csvCols' : '*'\n };\n \n \n var cust_id = _this.form.findField('cohead_cust_id').getValue();\n if (cust_id * 1 > 0) {\n params['cust_id:number'] = cust_id;\n }\n \n new Pman.Download({\r\n url : baseURL + '/Roo/Metasql',\r\n params : params,\r\n method : 'GET'\r\n });\r\n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\r\n \r\n}"
},
"text" : "as Excel",
"xtype" : "Item",
"$ xns" : "Roo.menu"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n var from = _this.form.findField('_fromdate').getValue();\n var to = _this.form.findField('_todate').getValue();\n \n \n \n var params = {\n '_group' : 'arAging',\n '_name' : 'summary',\n 'limit' : 99999,\n \n \n \n 'startDate:text' : from ? from.format('Y-m-d') : '2000-01-01' ,\n 'relDate:text' : to ? to.format('Y-m-d') : '2100-01-01',\n \n \n 'useDocDate:text' : 'TRUE',\n 'csvTitles' : '*',\n 'csvCols' : '*'\n };\n \n var cust_id = _this.form.findField('cohead_cust_id').getValue();\n if (cust_id * 1 > 0) {\n params['cust_id:number'] = cust_id;\n }\n \n new Pman.Download({\r\n url : baseURL + '/Roo/Metasql',\r\n params : params,\r\n method : 'GET'\r\n });\r\n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\r\n \r\n}"
},
"text" : "Summary Excel",
"xtype" : "Item",
"$ xns" : "Roo.menu"
}
]
}
]
},
{
"text" : "Customer History",
"xtype" : "Item",
"$ xns" : "Roo.menu",
"items" : [
{
"xtype" : "Menu",
"$ xns" : "Roo.menu",
"* prop" : "menu",
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n var cust_id = _this.form.findField('cohead_cust_id').getValue();\n if (cust_id * 1 < 1) {\n Roo.Msg.alert('Error', 'Please select a customer');\n return;\n }\n \n var from = _this.form.findField('_fromdate').getValue();\n var to = _this.form.findField('_todate').getValue();\n \n if(!from || !to){\n Roo.Msg.alert('Error', 'Please select a date range for the report');\n return;\n }\n \n var params = {\n template: 'customer_ar_history',\n filename : 'customer_ar_history-' + to.format('Y-m-d'),\n 'param[0]': \"startDate:string='\" + from.format('Y-m-d') + \"'\",\n 'param[1]': \"endDate:string='\" + to.format('Y-m-d') + \"'\",\n 'param[2]': \"cust_id:number=\" + cust_id\n };\n \n new Pman.Download({\n url : baseURL + '/Xtuple/Print',\n params : params,\n method : 'GET'\n });\n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\n}"
},
"text" : "as PDF",
"xtype" : "Item",
"$ xns" : "Roo.menu"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n var cust_id = _this.form.findField('cohead_cust_id').getValue();\n if (cust_id * 1 < 1) {\n Roo.Msg.alert('Error', 'Please select a customer');\n return;\n }\n \n var from = _this.form.findField('_fromdate').getValue();\n var to = _this.form.findField('_todate').getValue();\n \n \n \n var params = {\n '_group' : 'customerHistory',\n '_name' : 'detail',\n 'limit' : 99999,\n \n 'startDate:text' : from ? from.format('Y-m-d') : '2000-01-01' ,\n 'endDate:text' : to ? to.format('Y-m-d') : '2100-01-01',\n \n 'cust_id:number' : cust_id,\n 'csvTitles' : '*',\n 'csvCols' : '*'\n };\n \n \n new Pman.Download({\r\n url : baseURL + '/Roo/Metasql',\r\n params : params,\r\n method : 'GET'\r\n });\r\n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\n}"
},
"text" : "as Excel",
"xtype" : "Item",
"$ xns" : "Roo.menu"
}
]
}
]
},
{
"text" : "Customer Statement",
"xtype" : "Item",
"$ xns" : "Roo.menu",
"items" : [
{
"xtype" : "Menu",
"$ xns" : "Roo.menu",
"* prop" : "menu",
"items" : [
{
"listeners" : {
"click" : "function (_self, e)\n{\n var cust_id = _this.form.findField('cohead_cust_id').getValue();\n if (cust_id * 1 < 1) {\n Roo.Msg.alert('Error', 'Please select a customer');\n return;\n }\n \n var from = _this.form.findField('_fromdate').getValue();\n var to = _this.form.findField('_todate').getValue();\n \n \n \n var params = {\n template: 'customer_ar_statement',\n filename : 'customer_ar_statement-' +(to ? to.format('Y-m-d') : '2100-01-01'),\n 'param[0]': \"startDate:string='\" + (from ? from.format('Y-m-d') : '2000-01-01') + \"'\",\n 'param[1]': \"asofdate:string='\" + (to ? to.format('Y-m-d') : '2100-01-01')+ \"'\",\n 'param[2]': \"cust_id:number=\" + cust_id\n };\n \n new Pman.Download({\n url : baseURL + '/Xtuple/Print',\n params : params,\n method : 'GET'\n });\n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\n}"
},
"text" : "as PDF",
"xtype" : "Item",
"$ xns" : "Roo.menu"
},
{
"listeners" : {
"click" : "function (_self, e)\n{\n var cust_id = _this.form.findField('cohead_cust_id').getValue();\n if (cust_id * 1 < 1) {\n Roo.Msg.alert('Error', 'Please select a customer');\n return;\n }\n \n var from = _this.form.findField('_fromdate').getValue();\n var to = _this.form.findField('_todate').getValue();\n\n //if(!from || !to){\n // Roo.Msg.alert('Error', 'Please select a date range for the report');\n // return;\n //}\n \n var params = {\n '_group' : 'customerStatement',\n '_name' : 'detail',\n 'limit' : 99999,\n 'startDate:text' : from ? from.format('Y-m-d') : '2000-01-01' ,\n 'asofdate:text' : to ? to.format('Y-m-d') : '2100-01-01',\n 'cust_id:number' : cust_id,\n 'csvTitles' : '*',\n 'csvCols' : '*'\n };\n\n \n new Pman.Download({\r\n url : baseURL + '/Roo/Metasql',\r\n params : params,\r\n method : 'GET'\r\n });\r\n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\n}"
},
"text" : "as Excel",
"xtype" : "Item",
"$ xns" : "Roo.menu"
}
]
}
]
}
]
}
]
},
{
"listeners" : {
"|click" : "function (_self, e)\n{\n var sels = _this.grid.getSelectionModel().getSelections();\n \n if (!sels.length) {\n Roo.MessageBox.alert(\"Error\", \"Select an order\");\n return;\n }\n var ids = [];\n for (var i =0; i < sels.length; i++) {\n var s = sels[i]; \n \n if(s.data.cohead_qtyuninvoiced * 1 > 0){\n Roo.MessageBox.alert(\"Error\", \"Order has not been invoiced! - \" + s.data.cohead_number);\n return;\n }\n \n if(s.data.aropen_unpaid * 1 > 0){\n Roo.MessageBox.alert(\"Error\", \"Order has not been paid! - \" + s.data.cohead_number);\n return;\n }\n ids.push(s.data.cohead_id);\n }\n \n new Pman.Download({\r\n url : baseURL + '/Xtuple/Reports/SalesOrderBookingDetail',\r\n params : {\n cohead_id : ids.join(',')\n },\r\n method : 'GET'\r\n });\r\n \n Roo.MessageBox.alert(\"Notice\", \"Report will download shortly\");\n}"
},
"text" : "Email to warehouse",
"xtype" : "Button",
"cls" : "x-btn-text-icon",
"$ icon" : "Roo.rootURL + 'images/default/dd/email.gif'",
"$ xns" : "Roo.Toolbar"
},
{
"listeners" : {
"|click" : "function()\n{\n var s = _this.grid.getSelectionModel().getSelected();\n if (!s) {\n Roo.MessageBox.alert(\"Error\", \"Select an order to close\");\n return;\n }\n \n if(s.data.cohead_status == 'C'){\n Roo.MessageBox.alert(\"Error\", \"This order has been closed\");\n return;\n }\n \n Roo.MessageBox.confirm(\"Confirm\", \"Are you sure?\",\n function(v) {\n if (v != 'yes') {\n return;\n }\n new Pman.Request({\n url: baseURL + '/Roo/cohead',\n method : 'POST',\n params : {\n cohead_id : s.data.cohead_id,\n _close : 1\n },\n mask : 'Sending',\n success : function()\n {\n Roo.MessageBox.alert(\"Notice\", \"DONE\");\n _this.grid.footer.onClick('first');\n }\n });\n }\n );\n \n \n}\n"
},
"text" : "Complete and Close",
"xtype" : "Button",
"cls" : "x-btn-text-icon",
"$ icon" : "Roo.rootURL + 'images/default/tree/leaf.gif'",
"$ xns" : "Roo.Toolbar"
},
{
"listeners" : {
"|click" : "function()\n{\n \n new Pman.Request({\n url: baseURL + '/Roo/cohead',\n method : 'POST',\n params : {\n _clearUnpaid : 1\n },\n mask : 'Clearing',\n success : function()\n {\n Roo.MessageBox.alert(\"Notice\", \"DONE\");\n _this.grid.footer.onClick('first');\n }\n });\n \n}\n"
},
"text" : "Clear Unpaid Orders",
"xtype" : "Button",
"cls" : "x-btn-text-icon",
"$ icon" : "Roo.rootURL + 'images/default/tree/leaf.gif'",
"$ xns" : "Roo.Toolbar"
},
{
"xtype" : "Fill",
"$ xns" : "Roo.Toolbar"
},
{
"listeners" : {
"|click" : "function()\n{\n // check if the login in user have more than 25 open orders..\n // if yes, warning...\n new Pman.Request({\n url : baseURL + '/Roo/cohead.php',\n method :'GET',\n params : {\n viewtype : 'MYOPEN',\n _count_order : 1 // make the search faster!\n },\n success : function(res) {\n if(res.data[0].order_totals * 1 > 25){\n Roo.MessageBox.alert(\"Warning\", \"Can you please close old orders before creating new ones\");\n }\n }\n });\n \n Pman.Dialog.XtupleSalesOrderNew.show( { id : 0 } , function() {\n _this.grid.footer.onClick('first');\n }); \n}\n"
},
"text" : "Add",
"xtype" : "Button",
"cls" : "x-btn-text-icon",
"$ icon" : "Roo.rootURL + 'images/default/dd/drop-add.gif'",
"$ xns" : "Roo.Toolbar"
},
{
"listeners" : {
"|click" : "function()\n{\n var s = _this.grid.getSelectionModel().getSelected();\n if (!s) {\n Roo.MessageBox.alert(\"Error\", \"Select an order to copy\");\n return;\n }\n \n \n Pman.Dialog.XtupleSalesOrderCopy.show( { _copy_cohead_id : s.data.cohead_id } , function(data) {\n \n // get the id from the data, then \n \n _this.grid.footer.onClick('first');\n Pman.Tab.XtupleSales.grid.footer.onClick('first');\n // get the id from the data, then start editing it..\n Roo.log(data);\n _this.dialog.show(data, function() {\n _this.grid.footer.onClick('refresh');\n Pman.Tab.XtupleSales.grid.footer.onClick('first');\n }); \n \n }); \n}\n"
},
"text" : "Copy",
"xtype" : "Button",
"cls" : "x-btn-text-icon",
"$ icon" : "Roo.rootURL + 'images/default/dd/drop-add.gif'",
"$ xns" : "Roo.Toolbar"
}
]
},
{
"xtype" : "ColumnModel",
"sortable" : true,
"header" : "Ordered",
"width" : 75,
"$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_orderdate",
"# builderCfg" : "{\"table\":\"cohead\",\"column\":\"cohead_orderdate\",\"columnshort\":\"cohead_orderdate\",\"ctype\":\"date\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ordered\"}"
},
{
"hidden" : true,
"xtype" : "ColumnModel",
"sortable" : true,
"header" : "Target Delivery",
"width" : 75,
"$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_targetdate"
},
{
"xtype" : "ColumnModel",
"sortable" : true,
"header" : "Staff IC.",
"width" : 100,
"$ renderer" : "function(v,x,r) { \n\n if (r.data.cohead_display_salesrep_id) {\n return String.format('{0} ({1})', v, r.data.cohead_display_salesrep_id_salesrep_name);\n }\n return String.format('{0}', v );\n \n \n }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_salesrep_id_salesrep_name",
"# builderCfg" : "{\"table\":\"cohead\",\"column\":\"cohead_orderdate\",\"columnshort\":\"cohead_orderdate\",\"ctype\":\"date\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ordered\"}"
},
{
"xtype" : "ColumnModel",
"sortable" : true,
"header" : "#order",
"width" : 100,
"$ renderer" : "function(v,x,r) {\n\n \n // we want to show more detail about status..\n // like payment status / delivery etc...\n \n // I = invoiced\n // R = Reserved\n // S = shipped (or partial shipped)\n // P = paid (or partial paid)\n // online payment failed? >> on terms?\n // \n var tags = {\n invoiced : 'I',\n invoiced_not : 'I',\n stock_not : 'S', \n stock_reserved : 'R',\n stock_shipped : 'S',\n paid : 'P',\n paid_not : 'P'\n }; \n \n // invoiced\n var tg = '';\n \n // stock status...\n if (r.data.cohead_qtyunshipped > 0) {\n \n tg += (r.data.shipitem_qty*1 > 0) ? tags.stock_reserved :tags.stock_not;\n } else {\n \n tg += tags.stock_shipped;\n }\n \n tg += (r.data.cohead_qtyuninvoiced > 0) ? tags.invoiced_not : tags.invoiced;\n // ?? partially invoiced??\n \n \n if (r.data.cohead_qtyuninvoiced*1 < 1) {\n tg += (r.data.aropen_unpaid*1 > 0) ? tags.paid_not : tags.paid;\n }\n \n \n \n // payment status??\n\n if (r.data.cohead_status == 'C') {\n return tg + ' ' + String.format('{0}', v); \n }\n if (r.data.cohead_status == 'X') {\n return tg + ' ' + String.format('{0}', v) ; \n }\n return tg + ' ' + String.format('{0}', v); \n }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_number"
},
{
"xtype" : "ColumnModel",
"sortable" : true,
"header" : "Customer#",
"width" : 100,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_cust_id_cust_number",
"# builderCfg" : "{\"table\":\"custinfo\",\"column\":\"cohead_cust_id_cust_name\",\"columnshort\":\"cust_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":1,\"title\":\"Customer\"}"
},
{
"xtype" : "ColumnModel",
"sortable" : true,
"header" : "Customer",
"width" : 200,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_cust_id_cust_name",
"# builderCfg" : "{\"table\":\"custinfo\",\"column\":\"cohead_cust_id_cust_name\",\"columnshort\":\"cust_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":1,\"title\":\"Customer\"}"
},
{
"xtype" : "ColumnModel",
"header" : "Cust. PO#",
"width" : 50,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_custponumber",
"# builderCfg" : "{\"table\":\"cohead\",\"column\":\"cohead_custponumber\",\"columnshort\":\"cohead_custponumber\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Cust. PO#\"}"
},
{
"xtype" : "ColumnModel",
"header" : "Type",
"width" : 50,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_type",
"# builderCfg" : "{\"table\":\"cohead\",\"column\":\"cohead_type\",\"columnshort\":\"cohead_type\",\"ctype\":\"bpchar\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Type\"}"
},
{
"xtype" : "ColumnModel",
"header" : "From",
"width" : 100,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_src_locations"
},
{
"xtype" : "ColumnModel",
"header" : "Ship to",
"width" : 200,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_shiptoaddress1",
"# builderCfg" : "{\"table\":\"shiptoinfo\",\"column\":\"cohead_shipto_id_shipto_name\",\"columnshort\":\"shipto_name\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Ship to\"}"
},
{
"xtype" : "ColumnModel",
"header" : "Terms",
"width" : 100,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_terms_id_terms_descrip",
"# builderCfg" : "{\"table\":\"terms\",\"column\":\"cohead_terms_id_terms_descrip\",\"columnshort\":\"terms_descrip\",\"ctype\":\"text\",\"desc\":\"\",\"use\":1,\"use_ex\":\"\",\"title\":\"Terms\"}"
},
{
"hidden" : true,
"xtype" : "ColumnModel",
"header" : "Notes",
"width" : 100,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_ordercomments"
},
{
"align" : "right",
"xtype" : "ColumnModel",
"header" : "Total",
"width" : 100,
"$ renderer" : "function(v,x,r) { \n var ret = String.format('{0} {1}',\n r.data.cohead_curr_id_curr_name, v ? parseFloat(v).toFixed(3) : '---'\n ); \n \n if (parseInt(r.data.cohead_qtyordered) != 0 && \n parseInt(r.data.cohead_unshipped) == 0 && \n parseInt(r.data.cohead_qtyunshipped) == 0 &&\n parseInt(r.data.cohead_qtyuninvoiced) == 0 && \n parseInt(r.data.cohead_unshipped) == 0 &&\n parseInt(r.data.cohead_uninvoiced) == 0 \n ) {\n return ret;\n }\n \n return String.format('{0}',\n ret, \n r.data.cohead_unshipped, r.data.cohead_uninvoiced, r.data.cohead_subtotal,\n r.data.cohead_qtyordered, r.data.cohead_qtyunshipped, r.data.cohead_qtyuninvoiced\n );\n \n }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "cohead_total"
}
]
}
]
},
{
"background" : false,
"region" : "west",
"xtype" : "ContentPanel",
"$ xns" : "Roo",
"items" : [
{
"xtype" : "Toolbar",
"$ xns" : "Roo",
"* prop" : "toolbar",
"items" : [
{
"xtype" : "Fill",
"$ xns" : "Roo.Toolbar"
},
{
"listeners" : {
"|click" : "function (_self, e)\n{\n_this.grid.footer.onClick('first');\n}"
},
"xtype" : "Button",
"cls" : "x-btn-icon",
"$ icon" : "rootURL + '/Pman/templates/images/search.gif'",
"$ xns" : "Roo.Toolbar"
},
{
"listeners" : {
"|click" : "function (_self, e)\n{\n _this.form.reset('');\n\n \n _this.grid.footer.onClick('first');\n}"
},
"xtype" : "Button",
"cls" : "x-btn-icon",
"$ icon" : "rootURL + '/Pman/templates/images/edit-clear.gif'",
"$ xns" : "Roo.Toolbar"
}
]
},
{
"listeners" : {
"|rendered" : "function (form)\n{\n _this.form= form;\n}\n"
},
"labelAlign" : "top",
"style" : "margin:5px;",
"method" : "POST",
"xtype" : "Form",
"$ xns" : "Roo.form",
"items" : [
{
"listeners" : {
"|render" : "function (_self)\n{\n _this.viewtypeSel = _self;\n}",
"|select" : "function (combo, record, index)\n{\n _this.grid.footer.onClick('first');\n}"
},
"listWidth" : 200,
"triggerAction" : "all",
"fieldLabel" : "View",
"forceSelection" : true,
"selectOnFocus" : true,
"pageSize" : 20,
"displayField" : "value",
"emptyText" : "View type",
"minChars" : 2,
"value" : "MYOPEN",
"valueField" : "key",
"xtype" : "ComboBox",
"allowBlank" : false,
"typeAhead" : true,
"editable" : false,
"width" : 150,
"$ xns" : "Roo.form",
"name" : "viewtype",
"qtip" : "Select Action",
"queryParam" : "query[action]",
"tpl" : "