Untitled
unknown
plain_text
2 years ago
185 kB
6
Indexable
using Exact.SystemLayer.TypeExtension; using Microsoft.VisualBasic; using System; using System.Collections.Specialized; using System.Diagnostics; using System.Drawing; using System.IO; using System.Text; using System.Windows.Forms; using UpgradeHelpers.Gui; using UpgradeHelpers.Helpers; namespace Exact.Inventory.ItemBrowser { [Exact.Win.UI.Form.FormLayout(ShowExactMenu=false, ShowActionBar=true, ShowStatusBar=true)] internal partial class frmMain : Exact.Win.UI.Form.ExactFormBase { private Exact.SystemLayer.Interfaces.IExactMaintenance m_maint = null; //To start maintenance apps private Exact.DataLayer.IEdlRef ref_Renamed = null; private clsItem m = null; private Exact.SystemLayer.Interfaces.IApplication m_App = null; private Exact.SystemLayer.Interfaces.ICompany m_Comp = null; private Exact.SystemLayer.Interfaces.ITranslator m_Term = null; private Exact.SystemLayer.Interfaces.ISettings m_Set = null; private Exact.DataLayer.IEdlConnection m_Conn = null; private Exact.SystemLayer.Interfaces.IGateKeeper m_gk = null; //BR41.204.403 tans285567 - Precision of prices is not rounded correctly private Exact.SystemLayer.Interfaces.ICurrencyCalculator m_CurCalc = null; private string gsValutaCode = ""; private string gsValutaCodeDef = ""; private string gItemCode = ""; private string gOriginalItemCode = ""; //FC 16.044.993 private int hAncient = 0; private bool gbBusy = false; private bool gbBrowserSelType = false; private bool gbBrowserReplSelType = false; private GlobalInterfaces.GI_Exact.Inventory.SerialBatch.ISerialBatch gObjSerialBatch = null; private bool gbIsHourItem = false; //BR:12.368.269 chin31862 15/09/2004 private bool gbIsExtraItem = false; //br25.109.858(simc178002)[31/12/2007] Test case 1-1: Outsourced item browser is launches item maintenance window in standard mode when click on 'Add' icon/ <Copy> button private bool gbIsOutsourcedItem = false; private int lUserID = 0; private GlobalInterfaces.GI_Exact.Inventory.Warehouse.IclsEstkWarehouse mObjWareH = null; private GlobalInterfaces.GI_Exact.Inventory.StockQuantities.IclsStockQuantities mObjStkQty = null; private bool m_bItemRange = false; private bool gbRefreshBrowser = false; private GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton gBtnClicked = GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious; //hooho private bool gBtnPrevIsNotNull = false; //hooho //FC 16.045.238 Item browser navigation private clsStack m_oStackItemNav = null; private object m_sNavItemBrowserVal = null; private string m_sNavItemBrowserCol = ""; private string m_sNavItemBrowserOrderBy = ""; private int m_iMaxRows = 0; private bool m_bDescOrder = false; //BR 16.409.543 private string m_sPrevOrderBy = ""; private bool m_bPrevSortOrder = false; private bool m_bBrowserRefreshed = false; public bool bBusyLoading = false; private const int OPT_COMPACT = 200; const int BUT_DUMMY = 0; const int BUT_SELECT = 1; const int BUT_REPLACE = 2; const int BUT_ALLITEMS = 3; const int BUT_BYSUPPLIER = 4; const int BUT_BYWAREHOUSE = 5; const int BUT_ITEMPLAN = 6; const int BUT_MRP = 7; const int BUT_CARD = 8; const int BUT_OPEN = 9; const int BUT_NEW = 10; const int BUT_CLOSE = 11; const int BUT_COPY = 12; const string BROWSE_MAIN = "M"; const string BROWSE_REPLACE = "R"; const int BROWSE_WAREHOUSE = 1; //item selection const string ALL_ITEMS = "U"; const string PRODUCT_BY_DEBTOR = "P"; //08.891.478 bool bHaveMaintainItem = false; private enum QualifyAs { QA_SUPPLIERCODE = 3, QA_DESCRIPTION = 2, QA_SEARCHCODE = 1, QA_ITEMCODE = 0, QA_NOTHING = 9 } private bool bShowReplaceBrowser = false; //UPGRADE_NOTE: (2041) The following line was commented. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2041 //[DllImport("user32.dll", EntryPoint = "SetFocus", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] //extern public static int Putfocus(int hwnd); //[jose276913 14-03-2011 16:10 (GMT +08:00)] 38.542.616 private GlobalInterfaces.GI_Exact.Cmdm.Tools.IclsGeneral m_oCMDMTools = null; private const string gsCMDMTopicItem = "ITEM"; //Constant to hold the topic value private bool bUseCentralData = false; public frmMain(GlobalProps globalProps) : base() { gProps = globalProps; // gProps needs to be assigned before calling InitializeComponent() //This call is required by the Windows Form Designer. isInitializingComponent = true; InitializeComponent(); isInitializingComponent = false; ReLoadForm(false); } private GlobalProps gProps; private void actActionBar_ButtonClick(object eventSender, Exact.Win.UI.Controls.Interfaces.ButtonClickEventArgs eventArgs) { int nID = eventArgs.nID; try { if (gbBusy) { return; } switch(nID) { case BUT_SELECT : if (DoSelect()) { gProps.ModItemBrowser.gbCancel = false; //UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069 try { ItemFilter.Focus(); this.Hide(); } catch (Exception catchedException) { Exact.Exceptions.Globe.BaseGlobeException exc = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException); } } break; case BUT_REPLACE : if (!pnlReplaceBrowser.Visible) { if (!(Browser[1].SelectedRowCount > 1)) { //UPGRADE_WARNING: (1068) Browser()() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gOriginalItemCode = Convert.ToString(Browser[1].get_value("items.ItemCode")); } } pnlReplaceBrowser.Visible = !pnlReplaceBrowser.Visible; bShowReplaceBrowser = pnlReplaceBrowser.Visible; if (pnlReplaceBrowser.Visible) { ItemFilter.IsExpanded = GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.ExpansionTypes.Collapsed; } FormResize(); //13.472.241, if only multiple rows selected just display the repl. browser items if the fellow keep on activate/deactivate the browser. if (!(Browser[1].SelectedRowCount > 1)) { //UPGRADE_WARNING: (1068) Browser()() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gItemCode = Convert.ToString(Browser[1].get_value("items.ItemCode")); } RefreshReplacementBrowser(true); //FC 16.044.993 fill back the original item data if (!pnlReplaceBrowser.Visible) { gItemCode = gOriginalItemCode; FillItemInfo(); } break; case BUT_ALLITEMS : ActionBar.EnableButton(BUT_ALLITEMS, false); ActionBar.EnableButton(BUT_BYSUPPLIER, true); DoRefresh(); break; case BUT_BYSUPPLIER : ActionBar.EnableButton(BUT_ALLITEMS, true); ActionBar.EnableButton(BUT_BYSUPPLIER, false); DoRefresh(); break; case BUT_BYWAREHOUSE : OpenWarehouse(); break; case BUT_ITEMPLAN : //>> Br : 09.795.509 OpenItemPlanning(); break; case BUT_MRP : //YMM, Br : 09.150.141 BrowseMRPItemPlanning(); break; case BUT_CARD : SpawnItemCard(); break; case BUT_OPEN : OpenMaint(false); break; case BUT_NEW : OpenMaint(true); break; case BUT_COPY : OpenMaint(true, true); break; case BUT_CLOSE : gProps.ModItemBrowser.gbCancel = true; //UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069 try { ItemFilter.Focus(); this.Hide(); } catch (Exception catchedException) { Exact.Exceptions.Globe.BaseGlobeException exc2 = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException); } break; } } finally { eventArgs.nID = nID; } } private bool DoSelect() { bool result = false; string vID = ""; if (IsEdlBusy()) { Browser[1].StopBackgroundFetch(); } //mandatory check on the edl threading result = true; int i = 0; if (!gProps.ModItemBrowser.gbMultiSelect) { if (pnlReplaceBrowser.Visible && BrowserRepl[1].CurrentRow != 0) { gProps.FrmConfirm.ShowDialog(); } else { gProps.ModItemBrowser.giWhichItem = GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SELECT_MAIN_ITEM; } switch(gProps.ModItemBrowser.giWhichItem) { case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SELECT_MAIN_ITEM : //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gProps.ModItemBrowser.gSelectArtCd = Convert.ToString(Browser[1].get_value("items.ItemCode")); //ngty@ 06.653.193 //BR 12.447.878 do not return recipve.version for gappMode = TYPE_PROD_ALL since it not link to recipe table anymore //If gParentApp = INTERNAL_ORDER And (gAppMode = TYPE_PROD_FILLED Or gAppMode = TYPE_PROD_ALL) And Not IsNull(Browser(1).value("recipe.version")) Then //PBI33204 - Kanban order entry in EGN: Param for Kanban order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN) && !Exact.SystemLayer.Common.ConvertHelper.IsNull(Browser[1].get_value("recipe.version"))) { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to int. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gProps.ModItemBrowser.glItemVersion = Convert.ToInt32(Browser[1].get_value("recipe.version")); } break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SELECT_REPLACE_ITEM : //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gProps.ModItemBrowser.gSelectArtCd = Convert.ToString(BrowserRepl[1].get_value("items.ItemCode")); //ngty@ 06.653.193 //BR 12.447.878 do not return recipve.version for gappMode = TYPE_PROD_ALL since it not link to recipe table anymore //If gParentApp = INTERNAL_ORDER And (gAppMode = TYPE_PROD_FILLED Or gAppMode = TYPE_PROD_ALL) And Not IsNull(Browser(1).value("recipe.version")) Then //PBI33204 - Kanban order entry in EGN: Param for Kanban order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN) && !Exact.SystemLayer.Common.ConvertHelper.IsNull(Browser[1].get_value("recipe.version"))) { //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to int. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gProps.ModItemBrowser.glItemVersion = Convert.ToInt32(BrowserRepl[1].get_value("recipe.version")); } break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SELECT_CANCEL : result = false; break; } } else { i = 1; //13.857.206 lohp17191 Make sure to Initialize array before we start filling it. gProps.ModItemBrowser.gSelectedItemCodes = new System.Collections.Generic.List<string>(); if (!pnlReplaceBrowser.Visible) { if (Browser[1].SelectedRowCount == 1) { //BR 24.410.116 - this should works as well if using cursor to move to the desired item line // - so, when press enter, the dotted line should be selected instead although the highlighted item line is different Browser[1].SelectRow(Browser[1].CurrentRow, true); //gProps.ModItemBrowser.gSelectedItemCodes = ArraysHelper.RedimPreserve(gProps.ModItemBrowser.gSelectedItemCodes, new int[]{i + 1}); //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 //gProps.ModItemBrowser.gSelectedItemCodes[i - 1] = Convert.ToString(Browser[1].get_value("items.ItemCode")); gProps.ModItemBrowser.gSelectedItemCodes.Add(Convert.ToString(Browser[1].get_value("items.ItemCode"))); //The codes below commented by BR 24.410.116, not sure why it was implemented as below as there's no comments stated here // Call Browser(1).SelectRow(Browser(1).SelectedRows(0), True) // ReDim Preserve gSelectedItemCodes(i) // // gSelectedItemCodes(i - 1) = Browser(1).Value("items.ItemCode") 'Browser(1).RowValue(Browser(1).SelectedRows(0), "items.ItemCode") } else { foreach (string vIDIterator in (System.Collections.IEnumerable) Browser[1].get_SelectedRowValues("items.ItemCode")) { //vID = vIDIterator; //gProps.ModItemBrowser.gSelectedItemCodes = ArraysHelper.RedimPreserve(gProps.ModItemBrowser.gSelectedItemCodes, new int[]{i + 1}); //gProps.ModItemBrowser.gSelectedItemCodes[i - 1] = vID; //i++; ////vID //vID = default(string); gProps.ModItemBrowser.gSelectedItemCodes.Add(vIDIterator); i++; } } } else { if (BrowserRepl[1].SelectedRowCount > 0) { foreach (string vIDIterator2 in (System.Collections.IEnumerable) BrowserRepl[1].get_SelectedRowValues("items.ItemCode")) { //vID = vIDIterator2; //gProps.ModItemBrowser.gSelectedItemCodes = ArraysHelper.RedimPreserve(gProps.ModItemBrowser.gSelectedItemCodes, new int[]{i + 1}); //gProps.ModItemBrowser.gSelectedItemCodes[i - 1] = vID; //i++; ////vID //vID = default(string); gProps.ModItemBrowser.gSelectedItemCodes.Add(vIDIterator2); i++; } } else { foreach (string vIDIterator3 in (System.Collections.IEnumerable) Browser[1].get_SelectedRowValues("items.ItemCode")) { //vID = vIDIterator3; //gProps.ModItemBrowser.gSelectedItemCodes = ArraysHelper.RedimPreserve(gProps.ModItemBrowser.gSelectedItemCodes, new int[]{i + 1}); //gProps.ModItemBrowser.gSelectedItemCodes[i - 1] = vID; //i++; ////vID //vID = default(string); gProps.ModItemBrowser.gSelectedItemCodes.Add(vIDIterator3); i++; } } } } return result; } //UPGRADE-WARNING: Parameter Params was changed from byref to byval. //UPGRADE-WARNING: Parameter sExename was changed from byref to byval. public int GetFuncID(string sExename, string Params) { int result = 0; using (Exact.DataLayer.IEdlRef qryref = m_Conn.CreateRef("pwfunc", "exename,param,descr64", "fnc_id", Exact.DataLayer.LockModes.edlReadOnly)) { if (qryref.Find3(sExename, Params, "maintain")) { result = qryref.get_Long("fnc_id"); } } return result; } //Start maintenance private void OpenMaint(bool bNew, bool bCopy = false) { if (IsEdlBusy()) { Browser[1].StopBackgroundFetch(); } //mandatory check on the edl threading Exact.DataLayer.EdlObject ID = null; string sItemCode = ""; int lLineNum = 0; Exact.SystemLayer.Interfaces.IValueSet vs = null; bool bRowSelected = false; //br25.109.858(simc178002)[31/12/2007]Test 1-4 RTE when add new Exact.DataLayer.EdlObject vIsOutsourced = null; //Create maint object, if necessary if (m_maint is null) { m_maint = (Exact.SystemLayer.Interfaces.IExactMaintenance) GlobalInterfaces.Factory.CreateInstance<GlobalInterfaces.GI_Exact.Maintenance.Inventory.Items.IItems>(); m_App.ConnectObject(m_maint, m_Comp, m_Term); } //Start maintenenance if (!bNew && !bCopy) { if (pnlReplaceBrowser.Visible && BrowserRepl[1].SelectedRowCount > 0) { //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(BrowserRepl[1].get_value("items.itemcode")); lLineNum = BrowserRepl[1].CurrentRow; } else { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.itemcode")); lLineNum = Browser[1].CurrentRow; bRowSelected = Browser[1].SelectedRowCount != 0; } // 15.123.908 lohp17191 only call edit screen when a row has been selected in the browsers if (lLineNum > 0 || bRowSelected) { ID = m_Conn.Query("SELECT ID FROM items WHERE ItemCode = ?", sItemCode, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(ID)) { m_App.Message(this.Handle, m_Term.String(11337, "Not found") + ": " + sItemCode); } m_maint.Edit(this.Handle, (int) ID, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal); } } else { // 11.894.077 lohp17191 If Copy is true and New flag is true, then the Copy button must've been clicked // Start the maintanance item in Add mode, and pass in the ID of the selected item in a valueset if (bCopy) { if (pnlReplaceBrowser.Visible && BrowserRepl[1].SelectedRowCount > 0) { //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(BrowserRepl[1].get_value("items.itemcode")); lLineNum = BrowserRepl[1].CurrentRow; } else { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.itemcode")); lLineNum = Browser[1].CurrentRow; } //br25.109.858(simc178002)[31/12/2007] Test case 1-1: Outsourced item browser is launches item maintenance window in standard mode when click on 'Add' icon/ <Copy> button ID = m_Conn.Query("SELECT ID, Type, IsOutsourcedItem FROM items WHERE ItemCode = ?", sItemCode, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(ID)) { m_App.Message(this.Handle, m_Term.String(11337, "Not found") + ": " + sItemCode); } else { gbIsHourItem = ((string) ID[1]) == "L" || ((string) ID[1]) == "M"; gbIsExtraItem = ((string) ID[1]) == "P"; //br25.109.858(simc178002)[31/12/2007]Test case 1-1: Outsourced item browser is launches item maintenance window in standard mode when click on 'Add' icon/ <Copy> button gbIsOutsourcedItem = ((double) ID[2]) == 1; } // Create valueset and add the ID before passing it to mitems vs = new Exact.SystemLayer.Common.ValueSet(); vs.Add("record", ID[0].Data); //BR:12.220.318 Chin31862 06/09/2004 //For Hour Item Maintenance will display others Screen if (gbIsHourItem) { m_maint.Add(this.Handle, vs, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal, "ITEMS -MNTN -BLMH -COPY"); } else { //BR:12.368.269 chin31862 16/09/2004 //For Extra Item will display Extra item screen //add by chan24680 for br 14.871.690 //check the item is it a extra charges. if (gbIsExtraItem) { m_maint.Add(this.Handle, vs, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal, "ITEMS -MNTN -BLMP -COPY"); } else if (gbIsOutsourcedItem) { //br25.109.858(simc178002)[31/12/2007] Test case 1-1: Outsourced item browser is launches item maintenance window in standard mode when click on 'Add' icon/ <Copy> button m_maint.Add(this.Handle, vs, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal, "ITEMS -MNTN -BLMS -COPY"); } else { m_maint.Add(this.Handle, vs, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal, ""); } } } else { //br25.109.858(simc178002)[31/12/2007] Test case 1-1: Outsourced item browser is launches item maintenance window in standard mode when click on 'Add' icon/ <Copy> button //Add new //Test 1-4 RTE when add new //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.itemcode")); vIsOutsourced = m_Conn.Query("SELECT IsOutsourcedItem FROM items WHERE ItemCode = ?", sItemCode, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (((double) vIsOutsourced) == 1) { m_maint.Add(this.Handle, vs, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal, "ITEMS -MNTN -BLMS"); } else { m_maint.Add(this.Handle, vs, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal); } } } m_maint = null; Browser[1].Refresh(); //Fc:24.877.475 - load the stock qty into edl browser. //refresh stock qty col LoadStockQty(); } //UPGRADE-WARNING: Parameter bItem was changed from byref to byval. //UPGRADE_NOTE: (7001) The following declaration (OpenHRMPlanning) seems to be dead code More Information: https://www.mobilize.net/vbtonet/ewis/ewi7001 //private void OpenHRMPlanning(bool bItem) //{ //if (IsEdlBusy()) //{ //Browser[1].StopBackgroundFetch(); //} //mandatory check on the edl threading // //Exact.SystemLayer.Interfaces.IValueSet vsSpawn = new Exact.SystemLayer.Common.ValueSet(); //string sItemCode = ""; //string sShow = ""; //string sParam = ""; // //if (BrowserRepl[1].Visible && BrowserRepl[1].SelectedRowCount > 0) //{ ////UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 //sItemCode = Convert.ToString(BrowserRepl[1].get_Value("items.ItemCode")); //} //else //{ ////UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 //sItemCode = Convert.ToString(Browser[1].get_Value("items.ItemCode")); //} // //if (bItem) //{ //sShow = "I"; //sParam = "I"; // //vsSpawn.Add("ItemCode", sItemCode); //vsSpawn.Add("Warehouse", gProps.ModItemBrowser.gWareHs); //vsSpawn.Add("Content", "A"); //vsSpawn.Add("Options", "X"); //} //else //{ //sShow = "M"; //sParam = "ME"; // //vsSpawn.Add("fipShow", sShow); //vsSpawn.Add("fipActivity", sItemCode); //vsSpawn.Add("fipCostcenterFrom", ""); //vsSpawn.Add("fipCostcenterTo", ""); //vsSpawn.Add("fipJobGroup", ""); //vsSpawn.Add("fipProject", ""); //vsSpawn.Add("fipResource", m_Comp.User.ID); //vsSpawn.Add("ComboFip", DateTime.Parse(Exact.SystemLayer.API.vbdate.VBGetSysDate()).Month); //vsSpawn.Add("ParentClause", " IS NULL "); //} // //Exact.SystemLayer.Interfaces.ISpawner spnApp = (Exact.SystemLayer.Interfaces.ISpawner) Exact.SystemLayer.API.misc.GetApp(); //spnApp.SpawnEx(new IntPtr(frmMain.DefInstance.Handle), "ehmroPlanning.exe", Exact.SystemLayer.Interfaces.SpawnFlags.spawnWait, null, sParam, vsSpawn); //gProps.ModItemBrowser.ForceToForeGround(); // //} //view stock level by warehouse private void OpenWarehouse() { if (IsEdlBusy()) { Browser[1].StopBackgroundFetch(); } //mandatory check on the edl threading string sItemCode = ""; string sSelectWareHs = ""; string sSelectWHLoc = ""; bool bCancel = false; //Create warehouse browser object, if necessary if (mObjWareH is null) { mObjWareH = GlobalInterfaces.Factory.CreateInstance<GlobalInterfaces.GI_Exact.Inventory.Warehouse.IclsEstkWarehouse>(); } //First get information if (!pnlReplaceBrowser.Visible) { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.ItemCode")); } else { if (BrowserRepl[1].SelectedRowCount > 0) { //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(BrowserRepl[1].get_value("items.ItemCode")); } else { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.ItemCode")); } } mObjWareH.WHCodeLoctBrw(gProps.FrmMain.Handle , "O", BROWSE_WAREHOUSE, sItemCode, ref sSelectWareHs, ref sSelectWHLoc, ItemFilter.GetWarehouse(), ref bCancel); if (!bCancel) { ItemFilter.DefaultFilterValue("warehouse", sSelectWareHs); } } public void BrowseMRPItemPlanning() { object sItemCode = null; //doc :02.972.465 if (IsEdlBusy()) { Browser[1].StopBackgroundFetch(); } //mandatory check on the edl threading if (!pnlReplaceBrowser.Visible) { sItemCode = (gProps.ModItemBrowser.gbMultiSelect) ? Browser[1].get_SelectedRowValues("items.ItemCode") : Browser[1].get_value("items.ItemCode"); } else { if (BrowserRepl[1].SelectedRowCount > 0) { sItemCode = (gProps.ModItemBrowser.gbMultiSelect) ? BrowserRepl[1].get_SelectedRowValues("items.ItemCode") : BrowserRepl[1].get_value("items.ItemCode"); } else { sItemCode = (gProps.ModItemBrowser.gbMultiSelect) ? Browser[1].get_SelectedRowValues("items.ItemCode") : Browser[1].get_value("items.ItemCode"); } } string sWarehr = ItemFilter.GetWarehouse(); this.Cursor = Cursors.WaitCursor; Exact.SystemLayer.Interfaces.IValueSet vs = new Exact.SystemLayer.Common.ValueSet(); if (~((System.String.IsNullOrWhiteSpace(sWarehr)) ? -1 : 0) != 0) { vs.Add("Warehouse", sWarehr); } //FC 17.845.818 //Call vs.Add("ItemCode", sItemCode) vs.Add("ItemLists", sItemCode); //UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081 vs.Add("Date", new object[]{gProps.ModItemBrowser.gdDate, gProps.ModItemBrowser.gdDate.AddDays(14)}); vs.Add("Content", "A"); vs.Add("Options", "X"); vs.Add("Scale", "D"); vs.Add("Show", "ALL"); //Call vs.Add("GroupBy", "O") //YMM, 09.150.141, document id : 02.972.465 vs.Add("GroupBy", "I"); Exact.SystemLayer.Interfaces.ISpawner MySpawner = (Exact.SystemLayer.Interfaces.ISpawner) m_App; MySpawner.SpawnEx(this.Handle, "eStkoPlanning", Exact.SystemLayer.Interfaces.SpawnFlags.spawnWait | Exact.SystemLayer.Interfaces.SpawnFlags.spawnNewProcess, null, "I", vs); MySpawner = null; vs = null; this.Cursor = Cursors.Default; //Chan31941, 20040706 (BR 11.475.425): Display previous active screen once this screen is closed. gProps.ModItemBrowser.ForceToForeGround(this); } private void OpenItemPlanning() { if (IsEdlBusy()) { Browser[1].StopBackgroundFetch(); } //mandatory check on the edl threading GlobalInterfaces.GI_Exact.Inventory.ItemPlan.IclsItem oB = GlobalInterfaces.Factory.CreateInstance<GlobalInterfaces.GI_Exact.Inventory.ItemPlan.IclsItem>(); string sItemCode = ""; string sItemUnits = ""; if (!pnlReplaceBrowser.Visible) { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.ItemCode")); //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemUnits = Convert.ToString(Browser[1].get_value("Items.PackageDescription")); } else { if (BrowserRepl[1].SelectedRowCount > 0) { //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(BrowserRepl[1].get_value("items.ItemCode")); //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemUnits = Convert.ToString(BrowserRepl[1].get_value("Items.PackageDescription")); } else { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.ItemCode")); //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemUnits = Convert.ToString(Browser[1].get_value("Items.PackageDescription")); } } oB.BrowseExpectedPlanningPerDay(gProps.ModItemBrowser.gParentApp, gProps.ModItemBrowser.gAppMode, sItemCode, sItemUnits, ItemFilter.GetWarehouse(), "", DateTime.Parse(Exact.SystemLayer.API.vbdate.VBGetSysDate())); } //FC 16.045.238 Item browser navigation //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void Browser_ColumnsChanged(Object eventSender, EventArgs eventArgs) { Exact.DataLayer.IEdlSql oSql = null; string sOrderKey = ""; string sDefOrderKey = ""; int lRec = 0; if (!(Browser[1].SQLObject is null)) { oSql = (Exact.DataLayer.IEdlSql) Browser[1].SQLObject; m_sNavItemBrowserOrderBy = oSql.get_Clause(Exact.DataLayer.EdlSqlClauses.edlSqlOrderBy); //BR 16.409.543 enable next btn if numrows>0 disable prev btn whenever columns changed ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); if (Browser[1].NumRows > 0) { //solve for when change on column sorting, if numrow = 0, don't enable the next btn if (Browser[1].NumRows < ItemFilter.MaxRows) { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, false); } else { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, true); } } //BR 16.263.480 workaround to solve for the restore default function sDefOrderKey = "items.Description_" + m_Comp.MultiLang.DefaultIndex.ToString(); //everytime refreshbrowser() called, set the registry if (gProps.ModItemBrowser.gbRefreshBrowserCall) { lRec = modRegistry.UpdateRegistry(m_App, "[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode, m_sNavItemBrowserOrderBy); } if (m_sNavItemBrowserOrderBy != sDefOrderKey) { sOrderKey = modRegistry.QueryRegistry(m_App, "[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode); //if sOrderKey is empty meant it has been restored default, refresh the browser to default state if (System.String.IsNullOrWhiteSpace(sOrderKey)) { lRec = modRegistry.UpdateRegistry(m_App, "[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode, m_sNavItemBrowserOrderBy); m_sNavItemBrowserOrderBy = ""; oSql.set_Clause(Exact.DataLayer.EdlSqlClauses.edlSqlOrderBy, sDefOrderKey); Browser[1].SQL = oSql.Sql; Browser[1].Refresh(); } } else { lRec = modRegistry.UpdateRegistry(m_App, "[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode, sDefOrderKey); } // end BR 16.263.480 //FC 16.045.238 Check if order by desc, need to eliminate the DESC from the column name if (m_sNavItemBrowserOrderBy.IndexOf("DESC") >= 0) { m_sNavItemBrowserCol = StringsHelper.Replace(m_sNavItemBrowserOrderBy, " DESC", "", 1, -1, CompareMethod.Binary); m_bDescOrder = true; } else { m_sNavItemBrowserCol = m_sNavItemBrowserOrderBy; m_bDescOrder = false; } m_sNavItemBrowserVal = ""; //FC 16.045.238 if sorting change on the same column, if the current browser record = 0, the browser is won't show any record after change sorting //force refresh browser with m_sNavItemBrowserCol= "" if (m_bPrevSortOrder != m_bDescOrder && (m_sPrevOrderBy == m_sNavItemBrowserCol)) { m_oStackItemNav.Clear(); //BR 16.409.543 always clear the stack when changing of column sorting m_bPrevSortOrder = m_bDescOrder; //set previous order by = current order by //BR 16.409.543 only for numrows = 0 if (Browser[1].NumRows == 0) { gProps.ModItemBrowser.bGlobalTrigger = true; //need to include this to include the search criteria when refreshing DoRefresh(); ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); } } //BR 16.409.543 if current browser return 0 record and different column is selected for sorting , it wont show any record, //therefore need to force refresh again to show the data if (m_sPrevOrderBy != m_sNavItemBrowserCol) { m_oStackItemNav.Clear(); //always clear the stack when changing of column sorting //the m_bBrowserRefreshed is to prevent infinite looping when numrows is always 0 even after different column sorting has fired //If Browser(1).NumRows = 0 And Not m_bBrowserRefreshed Then 'br30.041.183 chon32144 sorting for price no record show in next page m_sPrevOrderBy = m_sNavItemBrowserCol; //br30.041.183 chon32144 sorting for price no record show in next page m_bBrowserRefreshed = true; gProps.ModItemBrowser.bGlobalTrigger = true; //need to include this to include the search criteria when refreshing DoRefresh(); ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); //Else // m_bBrowserRefreshed = False //End If } m_sPrevOrderBy = m_sNavItemBrowserCol; //Fc:24.877.475 - load the stock qty into edl browser. //refresh stock qty col LoadStockQty(); oSql = null; //end of BR 16.409.543 } } //Change event for multiselect and single select browser //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void Browser_SelectionChanged(Object eventSender, EventArgs eventArgs) { int i = 0; int SelectedRow = 0; if (gProps.ModItemBrowser.gbMultiSelect) { SelectedRow = Browser[1].get_SelectedRows(0); } else { SelectedRow = Browser[1].CurrentRow; } //FC 17.845.818 if (SelectedRow < 1) { ActionBar.EnableButton(BUT_MRP, false); ActionBar.EnableButton(BUT_SELECT, false); ActionBar.EnableButton(BUT_CARD, false); ActionBar.EnableButton(BUT_COPY, false); fbCommand[1].Enabled = false; } else { //angs BR 20.756.775 Hide <add>, <Edit> and copy buttons with E-Branche if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_POS_BRANCHE_OFFICE))) { fbCommand[1].Enabled = SelectedRow > 0 && Browser[1].NumRows > 0; //BR 22.530.908 Felix (29187): If no row selected or browser is empty, disabled to edit icon. } } gbBusy = true; if (this.Visible) { ActionBar.get_Button(BUT_DUMMY).Focus = true; } //Browser[1].Enabled = false; //ItemFilter.Enabled = false; //BR 22.319.808 Felix (29187): Do not obtain item code/currency if selected row is 0 if (SelectedRow > 0) { //UPGRADE_WARNING: (1068) Browser().RowValue() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gItemCode = Convert.ToString(Browser[1].get_RowValue(SelectedRow, "items.ItemCode")); if (!Exact.SystemLayer.Common.ConvertHelper.IsNull(Browser[1].get_RowValue(SelectedRow, "ItemAccounts.PurchaseCurrency"))) { //UPGRADE_WARNING: (1068) Browser().RowValue() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gsValutaCode = Convert.ToString(Browser[1].get_RowValue(SelectedRow, "ItemAccounts.PurchaseCurrency")); } else { gsValutaCode = gsValutaCodeDef; } //UPGRADE_WARNING: (1068) Browser().RowValue() of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 if (Convert.ToDouble(Browser[1].get_RowValue(SelectedRow, "items.IsStockItem")) != 0) { gbIsHourItem = false; } } else { gItemCode = ""; gsValutaCode = gsValutaCodeDef; gbIsHourItem = false; } if (((gProps.ModItemBrowser.gbMultiSelect && Browser[1].SelectedRowCount != 1) || (!gProps.ModItemBrowser.gbMultiSelect && Browser[1].CurrentRow == 0)) || (Browser[1].NumRows < 1)) { DoButtons(false); ClearAllValues(); RefreshReplacementBrowser(false); } else { DoButtons(true); if (pnlReplaceBrowser.Visible) { RefreshReplacementBrowser(true); } FillItemInfo(); //ngty@ put this here because i dont want it to fire when another item is selected } //Browser[1].Enabled = true; //ItemFilter.Enabled = true; if (this.Visible) { Browser[1].Focus(); } gbBusy = false; } //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void Browser_RowsetFetched(Object eventSender, EventArgs eventArgs) { if (Browser[1].NumRows == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.MAX_REC) { ItemFilter.WarningMessage(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.MessageType.REC_EXCEEDED); } else if (Browser[1].NumRows > 0 && Browser[1].NumRows < GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.MAX_REC) { ItemFilter.WarningMessage(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.MessageType.REC_NORMAL); } else if (Browser[1].NumRows == 0) { ItemFilter.WarningMessage(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.MessageType.REC_NONE); } } //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void Browser_Selected(Object eventSender, EventArgs eventArgs) { if (!gProps.ModItemBrowser.gbCancel) { return; } if (Browser[1].SelectedRowCount == 0) { //ngty@ 04.940.811 make sure at least one row is selected Browser[1].SelectRow(Browser[1].CurrentRow, true); } ActionBar.ClickButton(BUT_SELECT); } private void RefreshReplacementBrowser(bool bSelected) { if (IsEdlBusy()) { return; } //mandatory check on the edl threading string sRecipeVersion = ""; string sRecipeJoin = ""; string sAssortmentJoin = ""; string[] sWareHsRights = new string[]{"", ""}; string sIsAssembled = ""; if (!bSelected && BrowserRepl[1].NumRows == 0) { return; } SetupBrowsers(BROWSE_REPLACE); //use proper language description string sOms30 = "items.Description_" + m_Comp.MultiLang.DefaultIndex.ToString(); //check if serial batch is in the license string sSerialBatch = (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_SERIEBATCH))) ? "Items.IsSerialNumberItem, " : ""; //ngty@ 07.285.877 if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_STUKLIJSTEN)) || m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_PAS_RECEPTUUR))) { //ngty@ 08.787.338 //sIsAssembled = "(CASE WHEN recipe.ID IS NULL THEN 0 ELSE 1 END) AS [Items.IsAssembled], " sIsAssembled = "Items.IsAssembled AS [Items.IsAssembled], "; } //check for prod order //ngty@ 08.789.273 //BR 12.447.878 gappMode = TYPE_PROD_ALL not link to recipe table anymore //If gParentApp = INTERNAL_ORDER And (gAppMode = TYPE_PROD_FILLED Or gAppMode = TYPE_PROD_ALL) Then //PBI33204 - Kanban order entry in EGN: Param for Kanban order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN)) { sRecipeVersion = " recipe.version,recipe.MainVersion, "; sRecipeJoin = " LEFT OUTER JOIN recipe ON Items.ItemCode = recipe.itemprod AND recipe.sequenceno = 0 AND recipe.version > 0 "; } else { sRecipeVersion = ""; sRecipeJoin = ""; } //ngty@ 08.789.273 if (ItemFilter.bUseItemassortment) { sAssortmentJoin = " LEFT JOIN ItemAssortment ON Items.Assortment = ItemAssortment.Assortment"; } else { sAssortmentJoin = ""; } //BR 18.128.324 Add user number 9 -13 string sUserDefined = "items.UserNumber_01, items.UserNumber_02, items.UserNumber_03, items.UserNumber_04, items.UserNumber_05, items.UserNumber_06, items.UserNumber_07, items.UserNumber_08, items.UserNumber_09, items.UserNumber_10, items.UserNumber_11, items.UserNumber_12, items.UserNumber_13, " + "items.UserField_01, items.UserField_02, items.UserField_03, items.UserField_04, items.UserField_05, items.UserField_06, items.UserField_07, items.UserField_08, items.UserField_09,items.UserField_10, " + "items.UserDate_01, items.UserDate_02, items.UserDate_03, items.UserDate_04,items.UserDate_05, " + "items.UserYesNo_01, items.UserYesNo_02, items.UserYesNo_03, items.UserYesNo_04, items.UserYesNo_05"; //ngty@ 08.709.652, //08.965.346, take out the 'cicmpy.cmp_name AS MainSupplier' if ItemFilter.bShowData is false. string sSQL = "SELECT artver.priority, Items.ID, Items.ItemCode," + sRecipeVersion + sOms30 + " AS [Items.Description], Items.PackageDescription, Items.Condition, Items.SearchCode, Items.IsSalesItem, Items.IsPurchaseItem, " + sIsAssembled + "Items.IsExplode, Items.IsStockItem, " + sSerialBatch + "(CASE WHEN Items.Picture IS NULL THEN 0 ELSE 1 END) AS HasPicture, Items.SalesPackagePrice AS SalesPrice," + ((gProps.ModItemBrowser.gbShowPurchaseInfo) ? " (ItemAccounts.PurchasePrice / (CASE WHEN SlsPkgsPerPurPkg = 0 THEN 1 ELSE SlsPkgsPerPurPkg END)) AS PurchasePrice," : "") + " ItemAccounts.PurchaseCurrency AS Currency, Items.Warehouse, " + ((ItemFilter.bShowdata) ? " cicmpy.cmp_name AS MainSupplier, " : "") + sUserDefined + " FROM Items" + " INNER JOIN artver ON items.ItemCode = artver.subart"; //modified by Chan for br 08.205.082 if (gItemCode.TrimNullAndSpaces() != "") { sSQL = sSQL + " AND artver.artcode = " + m_Conn.LitString(gItemCode); } //ngty@ 08.789.273 sSQL = sSQL + " LEFT OUTER JOIN ItemAccounts ON ItemAccounts.ItemCode = Items.ItemCode AND ItemAccounts.crdnr = Items.lev_crdnr AND ItemAccounts.crdnr IS NOT NULL AND Items.lev_crdnr IS NOT NULL" + ((ItemFilter.bShowdata) ? " LEFT OUTER JOIN cicmpy ON cicmpy.cmp_wwn = ItemAccounts.AccountCode" : "") + sRecipeJoin + sAssortmentJoin; //13.472.241, add in this dummy to avoid any codes below cause SQL syntax error. the 'AND' sSQL = sSQL + " WHERE (1=1) "; if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_MAGAZIJNEN))) { if (ItemFilter.IsWarehouseAll) { // 12.517.720 lohp17191 Remove Subquery on Voorrd when user is administrator or has all rights to warehouse so that ALL items are shown, // or else just display the items of which the user has rights on the warehouse if (!gProps.ModItemBrowser.gbUserHasAllWrhHseRights) { sSQL = sSQL + " AND items.ItemCode IN (SELECT artcode FROM voorrd WHERE magcode IN " + gProps.ModItemBrowser.gWareHs + ") "; } } else { sSQL = sSQL + " AND items.ItemCode IN (SELECT artcode FROM voorrd WHERE magcode = " + m_Conn.LitString(gProps.ModItemBrowser.gWareHs) + ") "; } } // lohp17191 12.147.931 Replacement item browser should also show only items with recipe defined //is an assembled unit. for internal use & production order only if (ItemFilter.GetFilterValue(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_MAKEITEMS)) { sSQL = sSQL + " AND recipe.id IS NOT NULL"; //ngty@ 06.653.193 sSQL = sSQL + " AND (recipe.eff_date <= " + m_Conn.LitDate(DateTime.Parse(Exact.SystemLayer.API.vbdate.VBGetSysDate())) + ")"; sSQL = sSQL + " AND (recipe.exp_date IS NULL OR recipe.exp_date > " + m_Conn.LitDate(DateTime.Parse(Exact.SystemLayer.API.vbdate.VBGetSysDate())) + ") "; } if (bSelected) { sSQL = sSQL + " AND artver.artcode = " + m_Conn.LitString(gItemCode); } else { sSQL = sSQL + " AND artver.artcode = ''"; } sSQL = sSQL + " ORDER BY artver.priority, Items.Description"; BrowserRepl[1].StorageKey = "Exact Globe 2000\\[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-Replacement-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode; BrowserRepl[1].SQL = sSQL; BrowserRepl[1].Refresh(); } private void GetCicmpyGuid(ref string sDebtorGuid, ref bool bPriceAgreementExist, bool bOrderDebtorOnly = false) { string sSQL = ""; bPriceAgreementExist = false; Exact.DataLayer.IEdlConnection oCheck = (Exact.DataLayer.IEdlConnection) m_Comp.EDLConnection; //11.091.282 lohp17191 added support to look for guid from orderdebtor variable Exact.DataLayer.EdlObject vInfo = oCheck.Query("SELECT TOP 1 cmp_wwn FROM cicmpy WHERE debnr = ? ", (bOrderDebtorOnly) ? gProps.ModItemBrowser.gOrderDebtor : gProps.ModItemBrowser.gDebtorOrCreditor, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vInfo)) { sDebtorGuid = (string) vInfo; sSQL = "SELECT TOP 1 1 FROM Staffl WHERE Staffl.AccountID = ? "; //FC 20.841.087 Price lists/agreements per item group if (!gProps.ModItemBrowser.gbPricelistPerItemGroup) { sSQL = sSQL + " AND staffl.LineType = '1' "; } vInfo = oCheck.Query(sSQL, sDebtorGuid, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vInfo)) { bPriceAgreementExist = true; } } } //BR 23.650.118 - the codes below moved from RefreshBrowser, for single sorting column usage private string GetSingleSortFilterSQL() { string sFilterWhere = ""; //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 m_sNavItemBrowserVal = StringsHelper.Replace(Convert.ToString(m_sNavItemBrowserVal), "#¿", "", 1, -1, CompareMethod.Binary); //br30.041.183 chon32144 sorting for price no record show in next page if (m_sNavItemBrowserVal == null) { sFilterWhere = sFilterWhere + " AND (NOT " + m_sNavItemBrowserCol + " IS NULL) "; } else { //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 if (m_sNavItemBrowserVal.GetType() == typeof(bool)) { //BR 16.409.543 if (m_sNavItemBrowserOrderBy.IndexOf("DESC") >= 0) { //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to bool. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sFilterWhere = sFilterWhere + " AND " + m_sNavItemBrowserCol + " < " + ((Convert.ToBoolean(m_sNavItemBrowserVal)) ? 1 : 0).ToString(); } else { //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to bool. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sFilterWhere = sFilterWhere + " AND " + m_sNavItemBrowserCol + " > " + ((Convert.ToBoolean(m_sNavItemBrowserVal)) ? 1 : 0).ToString(); } } else if (m_sNavItemBrowserVal.GetType() == typeof(decimal) || m_sNavItemBrowserVal.GetType() == typeof(double) || m_sNavItemBrowserVal.GetType() == typeof(short) || m_sNavItemBrowserVal.GetType() == typeof(int) || m_sNavItemBrowserVal.GetType() == typeof(float) || (IsDouble(ref m_sNavItemBrowserVal) && m_sNavItemBrowserCol == "Items.SalesPackagePrice")) { //BR30.394.504 chon32144 to prevent itemcode treat as integer, added And m_sNavItemBrowserCol = "Items.SalesPackagePrice" //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sFilterWhere = sFilterWhere + " AND " + m_sNavItemBrowserCol + ((m_bDescOrder) ? " < " : " > ") + Convert.ToString(m_sNavItemBrowserVal); } else if (!System.String.IsNullOrWhiteSpace(Convert.ToString(m_sNavItemBrowserVal))) { //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sFilterWhere = sFilterWhere + " AND " + m_sNavItemBrowserCol + ((m_bDescOrder) ? " < " : " > ") + m_Conn.LitString(Convert.ToString(m_sNavItemBrowserVal)); } else if (System.String.IsNullOrWhiteSpace(Convert.ToString(m_sNavItemBrowserVal)) && gBtnClicked == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext) { sFilterWhere = sFilterWhere + " AND " + m_sNavItemBrowserCol + " IS NOT NULL "; //br30.041.183 chon32144 } else if (System.String.IsNullOrWhiteSpace(Convert.ToString(m_sNavItemBrowserVal)) && gBtnClicked == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious && m_oStackItemNav.Size != 0) { sFilterWhere = sFilterWhere + " AND " + m_sNavItemBrowserCol + " IS NOT NULL "; //br30.041.183 chon32144 } } //UPGRADE_WARNING: (6021) Casting 'int' to Enum may cause different behaviour. More Information: https://www.mobilize.net/vbtonet/ewis/ewi6021 gBtnClicked = (GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton) 99; //reset return sFilterWhere; } //br30.041.183 chon32144 sorting for price no record show in next page private bool IsDouble(ref object d) { bool result = false; //If d is a number if (Information.IsNumeric(d)) { //Convert the number to a double and check if the original and the converted //numbers match - if they do then original is a double //UPGRADE_WARNING: (1068) d of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 if (Conversion.Str(d).Trim() == Conversion.Str(Convert.ToDouble(d)).Trim()) { //UPGRADE_WARNING: (1068) d of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 d = StringsHelper.Replace(Convert.ToString(d), ",", ".", 1, -1, CompareMethod.Binary); result = true; } } return result; } //BR 23.650.118 - in case there's multiple sorting columns, make sure that the filteration constructed correctly // - this browser need to cater manually for condition "Add to sorting order", make sure it behaves the same as system layer logic // e.g. AND (( colA=x AND colB=y and colC>z ) OR (colA=x AND col>y) OR (colA > x)) private string GetMultipleSortFilterSQL(string[] arrCol, string[] arrVal, int iEnd) { string sNavBrowserVal = ""; string sNavBrowserCol = ""; bool bLastCol = false; bool bFirstCol = false; StringBuilder sFilterWhere = new StringBuilder(); int tempForEndVar = iEnd; for (int i = arrCol.GetLowerBound(0); i <= tempForEndVar; i++) { sNavBrowserVal = arrVal[i]; sNavBrowserCol = arrCol[i]; bLastCol = (i == iEnd); bFirstCol = (i == arrCol.GetLowerBound(0)); if (!bFirstCol) { sFilterWhere.Append(" AND "); } if (Exact.SystemLayer.Common.ConvertHelper.IsNull(sNavBrowserVal)) { sFilterWhere.Append(" (NOT " + sNavBrowserCol + " IS NULL) "); } else { if (sNavBrowserVal.GetType() == typeof(bool)) { //BR 16.409.543 if (bLastCol) { if (m_sNavItemBrowserOrderBy.IndexOf("DESC") >= 0) { bool tempBool = false; sFilterWhere.Append(sNavBrowserCol + " < " + ((((Boolean.TryParse(sNavBrowserVal, out tempBool)) ? tempBool : Convert.ToBoolean(Double.Parse(sNavBrowserVal)))) ? 1 : 0).ToString()); } else { bool tempBool2 = false; sFilterWhere.Append(sNavBrowserCol + " > " + ((((Boolean.TryParse(sNavBrowserVal, out tempBool2)) ? tempBool2 : Convert.ToBoolean(Double.Parse(sNavBrowserVal)))) ? 1 : 0).ToString()); } } else { bool tempBool3 = false; sFilterWhere.Append(sNavBrowserCol + " = " + ((((Boolean.TryParse(sNavBrowserVal, out tempBool3)) ? tempBool3 : Convert.ToBoolean(Double.Parse(sNavBrowserVal)))) ? 1 : 0).ToString()); } } else if (sNavBrowserVal.GetType() == typeof(decimal) || sNavBrowserVal.GetType() == typeof(double) || sNavBrowserVal.GetType() == typeof(short) || sNavBrowserVal.GetType() == typeof(int) || sNavBrowserVal.GetType() == typeof(float)) { if (bLastCol) { sFilterWhere.Append(sNavBrowserCol + ((m_bDescOrder) ? " < " : " > ") + sNavBrowserVal); } else { sFilterWhere.Append(sNavBrowserCol + " = " + sNavBrowserVal); } } else if (!System.String.IsNullOrWhiteSpace(sNavBrowserVal)) { if (bLastCol) { sFilterWhere.Append(sNavBrowserCol + ((m_bDescOrder) ? " < " : " > ") + m_Conn.LitString(sNavBrowserVal)); } else { sFilterWhere.Append(sNavBrowserCol + "=" + m_Conn.LitString(sNavBrowserVal)); } } } } return sFilterWhere.ToString(); } //BR 23.650.118 - to construct where clause for sorting order filteration, cater for single/multiple sorting columns private string GetWhereSortSQL() { StringBuilder sFilterWhere = new StringBuilder(); int iCount = 0; bool bLastCol = false; //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 string[] arrVal = (string[]) Convert.ToString(m_sNavItemBrowserVal).Split(new string[]{"#¿¢"}, StringSplitOptions.None); //BR 25.668.309 - When Sorting column containing "," in the data, then will cause RTE, thus change to use "#¿¢" in stead of "," string[] arrCol = (string[]) m_sNavItemBrowserCol.Split(','); bool bMultipleSort = (arrVal.GetUpperBound(0) > arrVal.GetLowerBound(0)); if (bMultipleSort) { sFilterWhere = new StringBuilder(" AND ("); int tempForEndVar = arrVal.GetUpperBound(0); for (int i = arrVal.GetLowerBound(0); i <= tempForEndVar; i++) { bLastCol = (i == arrVal.GetUpperBound(0)); sFilterWhere.Append("(" + GetMultipleSortFilterSQL(arrCol, arrVal, arrVal.GetUpperBound(0) - iCount) + ")"); if (!bLastCol) { sFilterWhere.Append(" OR "); } iCount++; } sFilterWhere.Append(")"); } else { sFilterWhere = new StringBuilder(GetSingleSortFilterSQL()); } return sFilterWhere.ToString(); } //Browser refreshing private void RefreshBrowser() { string sRecipeVersion = ""; string sRecipeJoin = ""; string sAssortmentJoin = ""; string sByWarehouse = ""; string sGroupOrder = ""; string sJoinRule = ""; string[] sWareHsRights = new string[]{"", ""}; string sProductRange = ""; string sOrderSuppl = ""; string sEancode = ""; string sIsAssembled = ""; string sItemRestriction = ""; string sItemRangeDebtorJoin = ""; // 11.091.282 lohp17191 string sItemGLJoin = ""; //FC26.191.598 yoon109184 Recurring Sales Order string sItemCodeDebtor = ""; // 11.091.282 lohp17191 string sStockPosition = ""; //@LowJay br 18.163.941 + 18.775.722 : Barcodes for POS and items are duplicate at Item browser: caused by multiple barcodes string sColInfo = ""; string sColStkInfo = ""; string sDetItemCode = ""; string sDetEancode = ""; string sCompare = "%"; if (gbRefreshBrowser) return; // prevent recursive calls gbRefreshBrowser = true; SetupBrowsers(BROWSE_MAIN); // 08.152.157 lohp17191 if (gProps.ModItemBrowser.gAppMode != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { gProps.ModItemBrowser.gWareHs = ItemFilter.GetWarehouse(true); } string sBySupplier = ""; //FC 16.045.238 Item browser navigation, get maxrows with ties //sSQL = "SELECT TOP " & ItemFilter.MaxRows & vbCrLf string sSQL = "SELECT TOP " + ItemFilter.MaxRows.ToString() + " WITH TIES " + Environment.NewLine; //use proper language description string sOms30 = "items.Description_" + m_Comp.MultiLang.DefaultIndex.ToString(); //BR 15.924.502 add isbatchitem //check if serial batch is in the license string sSerialBatch = (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_SERIEBATCH))) ? "Items.IsSerialNumberItem,Items.IsBatchItem, " : ""; //ngty@ 07.285.877 if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_STUKLIJSTEN)) || m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_PAS_RECEPTUUR))) { sIsAssembled = "Items.IsAssembled AS [Items.IsAssembled], "; } // lohp17191 13.588.212 // If the Search-CustomerItemCode is enabled, then a JOIN should be made to ItemAccounts, and the CustomerItemCode field // should be displayed on the browser if (ItemFilter.GetFilterValueGlobalSearch(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_CUSTITEMCODE)) { // lohp17191 11.091.282 //FC26.191.598 yoon109184 Recurring Sales Order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER) { sItemCodeDebtor = " IADebtor.ItemCodeAccount, "; sItemRangeDebtorJoin = " LEFT OUTER JOIN ItemAccounts IADebtor ON Items.Itemcode = IADebtor.Itemcode AND IADebtor.Accountcode = " + m_Conn.LitString((gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.MODE_SALESORDER) ? gProps.ModItemBrowser.gOrderDebtorGuid : gProps.ModItemBrowser.gDebtorOrCreditorGuid); } } //FC26.191.598 yoon109184 Recurring Sales Order //LEFT JOIN grtbk ON Items.GLAccountDistribution = grtbk.reknr if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER) { sItemGLJoin = " LEFT JOIN grtbk ON Items.GLAccountDistribution = grtbk.reknr "; } //@LowJay br 18.163.941 + 18.775.722 : Barcodes for POS and items are duplicate at Item browser: caused by multiple barcodes // for now display only the one with default barcode if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE) { if (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_BARCODE))) { //angs BR 20.413.990 item code with same barcode but with different supplier item code is displayed in item browser. //- (Added: SELECT Account field) //- (Added: GROUP BY Account field) //- (Added: JOIN BY Account "AND b.Account = ItemAccounts.AccountCode") //angs BR 18.940.323 barcode only display for item even barcode exist for more than one items. //sItemRangeDebtorJoin = sItemRangeDebtorJoin & " LEFT OUTER JOIN (SELECT TOP 1 Itemcode,Barcode FROM Barcodes WHERE Barcodes.IsDefault = 1 " sItemRangeDebtorJoin = sItemRangeDebtorJoin + " LEFT OUTER JOIN (SELECT Itemcode, MAX(Barcode) AS Barcode, Account FROM Barcodes WHERE Barcodes.IsDefault = 1 "; if (ItemFilter.GetFilterItemsForBarcode(ref sDetItemCode, ref sDetEancode)) { if (sDetItemCode.TrimNullAndSpaces() != "") { sItemRangeDebtorJoin = sItemRangeDebtorJoin + " AND Barcodes.Itemcode LIKE " + m_Conn.LitString(sCompare + sDetItemCode.Trim() + sCompare); } if (sDetEancode.TrimNullAndSpaces() != "") { sItemRangeDebtorJoin = sItemRangeDebtorJoin + " AND Barcodes.Barcode LIKE " + m_Conn.LitString(sCompare + sDetEancode.Trim() + sCompare); } } //angs BR 18.940.323 (GROUP BY) barcode only display for item even barcode exist for more than one items. sItemRangeDebtorJoin = sItemRangeDebtorJoin + " GROUP BY Itemcode, Account) AS b ON b.Itemcode = Items.Itemcode "; sItemRangeDebtorJoin = sItemRangeDebtorJoin + " AND b.Account = ItemAccounts.AccountCode"; } } } //check for prod order //ngty@ 08.789.273 //BR 12.447.878 gappMode = TYPE_PROD_ALL not link to recipe table anymore, therefore do not show recipe version and mainversion //If gParentApp = INTERNAL_ORDER And (gAppMode = TYPE_PROD_FILLED Or gAppMode = TYPE_PROD_ALL) Then //PBI33204 - Kanban order entry in EGN: Param for Kanban order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN)) { sRecipeVersion = " recipe.version, recipe.MainVersion,"; sRecipeJoin = " LEFT OUTER JOIN recipe ON Items.ItemCode = recipe.itemprod AND recipe.sequenceno = 0 AND recipe.version > 0 "; } else if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_SALES_ALL) { sRecipeVersion = ""; //BR 16.563.821 for internal use, show only the main version //sRecipeJoin = " LEFT OUTER JOIN recipe ON Items.ItemCode = recipe.itemprod AND recipe.sequenceno = 0 AND recipe.version > 0 " sRecipeJoin = " LEFT OUTER JOIN recipe ON Items.ItemCode = recipe.itemprod AND recipe.sequenceno = 0 AND MainVersion = 1 "; } else { sRecipeVersion = ""; sRecipeJoin = ""; } //ngty@ 08.789.273 if (ItemFilter.bUseItemassortment) { sAssortmentJoin = " LEFT JOIN ItemAssortment ON Items.Assortment = ItemAssortment.Assortment"; } else { sAssortmentJoin = ""; } // lohp17191 13.588.212 // If the Search-SupplierItemCode is enabled,the SupplierItemCode field should be displayed on the browser if (ItemFilter.GetFilterValueGlobalSearch(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_SUPPLIERITEMCODE)) { //ngty@ 08.485.615 //BR 19.133.839 //FC26.191.598 yoon109184 Recurring Sales Order if ((gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER) || (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_SALES_ALL || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_SALES_RMA || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_DIRECT_INVOICE)) || (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE) || (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER)) { sOrderSuppl = " ItemAccounts.ItemCodeAccount, "; } else { sOrderSuppl = ""; } } else { //BR 16.409.543 if itemcodeaccount is the first sorting column, when the supplier code is uncheck, change the description field as the first column if (m_sNavItemBrowserOrderBy == "ItemAccounts.ItemCodeAccount") { m_sNavItemBrowserOrderBy = sOms30; } } if ((gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE) && gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { //@LowJay br 18.163.941 + 18.775.722 : Barcodes for POS and items are duplicate at Item browser: caused by multiple barcodes //sEancode = " ItemAccounts.EANCode, " if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE) { if (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_BARCODE))) { sEancode = "(CASE WHEN ItemAccounts.EANCode IS NULL THEN b.Barcode ELSE ItemAccounts.EANCode END) AS BarCode, "; sColInfo = "BarCode,13036,Bar code;"; } } } else { sEancode = " ItemAccounts.EANCode, "; } } else { sEancode = ""; } //BR 18.128.324 Add user number 9 -13 //setup the user defined fields string sUserDefined = "items.UserNumber_01, items.UserNumber_02, items.UserNumber_03, items.UserNumber_04, items.UserNumber_05, items.UserNumber_06, items.UserNumber_07, items.UserNumber_08, items.UserNumber_09, items.UserNumber_10, items.UserNumber_11, items.UserNumber_12, items.UserNumber_13, " + "items.UserField_01, items.UserField_02, items.UserField_03, items.UserField_04, items.UserField_05, items.UserField_06, items.UserField_07, items.UserField_08, items.UserField_09,items.UserField_10, " + "items.UserDate_01, items.UserDate_02, items.UserDate_03, items.UserDate_04,items.UserDate_05, " + "items.UserYesNo_01, items.UserYesNo_02, items.UserYesNo_03, items.UserYesNo_04, items.UserYesNo_05"; //Fc: 24.877.475 stock position columns if (ItemFilter.bShowStockPos) { //CBR79.675.937 - stock position solution to used *1 as Key Tag sStockPosition = ", CONVERT(float, 0*1) AS PhysicalStock, CONVERT(float, 0) AS FreeStock"; //Column name,Header TermID,Header,Width,Scale,Options,Invisible,Checkmark,Order By,Term ID column; sColStkInfo = "PhysicalStock,8859,Stock,12,3,2;FreeStock,1041,Free Stock,12,3,2;"; } //ngty@ 08.135.267: Get the whereclause first //sWareHsRights(0) = " items.ItemCode IN (SELECT artcode FROM voorrd WHERE magcode IN " & m_Conn.LitString(gWareHs) & ") " if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_MAGAZIJNEN))) { if (ItemFilter.IsWarehouseAll) { // 12.517.720 lohp17191 Remove Subquery on Voorrd when user is administrator or has all rights to warehouse so that ALL items are shown, // or else just display the items of which the user has rights on the warehouse if (!gProps.ModItemBrowser.gbUserHasAllWrhHseRights) { sByWarehouse = " items.ItemCode IN (SELECT artcode FROM voorrd WHERE magcode IN " + gProps.ModItemBrowser.gWareHs + ") "; } } else { sByWarehouse = " items.ItemCode IN (SELECT artcode FROM voorrd WHERE magcode = " + m_Conn.LitString(gProps.ModItemBrowser.gWareHs) + ") "; } } string sFilterWhere = ItemFilter.GetWhere((((sByWarehouse) is null) ? 0 : sByWarehouse.Length) != 0); //ngty@ 07.634.446 - added checking for TYPE_POS_INVOICE to join on main supplier switch(gProps.ModItemBrowser.gParentApp) { //FC26.191.598 yoon109184 Recurring Sales Order case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER : // lohp17191 13.588.212 Only when Search-SupplierItemCode is enabled, then apply the following clauses for ItemAccounts if (ItemFilter.GetFilterValueGlobalSearch(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_SUPPLIERITEMCODE)) { //ngty@ 08.135.267 if (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { sItemRestriction = (gProps.ModItemBrowser.gbBrowseMultiEAN) ? "" : " AND ItemAccounts.crdnr = Items.lev_crdnr"; } else { sItemRestriction = " AND ItemAccounts.crdnr = Items.lev_crdnr"; } //angs BR 20.413.990 Item Browser lists more than once for some items - Added: (gAppMode = TYPE_POS_INVOICE) } else { if (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { sItemRestriction = " AND ItemAccounts.crdnr = Items.lev_crdnr"; } } //ngty@ 08.789.273 //BR 16.947.557 remove stock columns in compact sSQL = sSQL + " Items.ID, " + sOms30 + " AS [Items.Description], Items.ItemCode," + sItemCodeDebtor + sRecipeVersion + " Items.SearchCode, Items.PackageDescription," + sOrderSuppl + sEancode + " Items.Condition, Items.IsSalesItem, Items.IsPurchaseItem, " + sIsAssembled + " Items.IsExplode, " + ((!m_Comp.GetOpt(OPT_COMPACT)) ? "Items.IsStockItem, " : "") + sSerialBatch + " (CASE WHEN Items.Picture IS NULL THEN 0 ELSE 1 END) AS HasPicture, Items.SalesPackagePrice AS SalesPrice,"; // lohp17191 13.588.212 When either ViewCostPurch rights exists, and Search-SupplierItemCode is enabled, show the purchase price // information from ItemAccounts if (gProps.ModItemBrowser.gbShowPurchaseInfo && ItemFilter.GetFilterValueGlobalSearch(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_SUPPLIERITEMCODE)) { sSQL = sSQL + " (ItemAccounts.PurchasePrice / (CASE WHEN ItemAccounts.SlsPkgsPerPurPkg = 0 THEN 1 ELSE ItemAccounts.SlsPkgsPerPurPkg END)) AS PurchasePrice,ItemAccounts.PurchaseCurrency AS Currency, "; } //BR 16.947.508 remove user defined columns in compact // sSQL = sSQL & _ //' " Items.Warehouse, " & _ //' IIf(ItemFilter.bShowdata, " ,cicmpy.cmp_name AS MainSupplier, ", "") & sUserDefined & _ //' " FROM Items" sSQL = sSQL + " Items.Warehouse " + ((ItemFilter.bShowdata) ? " ,cicmpy.cmp_name AS MainSupplier " : "") + ((!m_Comp.GetOpt(OPT_COMPACT)) ? "," + sUserDefined : "") + sStockPosition + " FROM Items"; // lohp17191 13.588.212 When Search-SupplierItemcode is enabled, or we are in POS_INVOICE mode(mandatory JOIN to retrieve the barcode), // make a JOIN to the ItemAccounts table, and cicmpy if necessary //BR 16.300.334 Felix: production browse: = gParentApp = INTERNAL_ORDER And (gAppMode = TYPE_PROD_FILLED Or gAppMode = TYPE_PROD_ALL) // don't link to ItemAccounts table if supplier's item code checked box not check, else will create multiple item code //PBI33204 - Kanban order entry in EGN: Param for Kanban order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_ALL || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN)) { if (ItemFilter.GetFilterValueGlobalSearch(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_SUPPLIERITEMCODE)) { sSQL = sSQL + " LEFT OUTER JOIN ItemAccounts ON ItemAccounts.ItemCode = Items.ItemCode" + sItemRestriction + ((ItemFilter.bShowdata) ? " LEFT OUTER JOIN cicmpy ON cicmpy.cmp_wwn = ItemAccounts.AccountCode" : ""); } } else if (ItemFilter.GetFilterValueGlobalSearch(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_SUPPLIERITEMCODE) || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_ALL || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN)) { sSQL = sSQL + " LEFT OUTER JOIN ItemAccounts ON ItemAccounts.ItemCode = Items.ItemCode" + sItemRestriction + ((ItemFilter.bShowdata) ? " LEFT OUTER JOIN cicmpy ON cicmpy.cmp_wwn = ItemAccounts.AccountCode" : ""); } //FC26.191.598 yoon109184 recurring sales order sSQL = sSQL + sRecipeJoin + sAssortmentJoin + sItemRangeDebtorJoin + sItemGLJoin; //BR 13.581.868 // if (Exact.SystemLayer.API.misc.VBGetOpt(OPT_COMPACT)) if (m_Comp.GetOpt(OPT_COMPACT)) { if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE) { sFilterWhere = sFilterWhere + " AND items.type NOT IN ('L') "; } } //FC 16.045.238 Item browser navigation if (!System.String.IsNullOrWhiteSpace(m_sNavItemBrowserOrderBy)) { //CBR79.675.937 - stock position switch(m_sNavItemBrowserOrderBy) { case "CONVERT(float, 0*1)" : sGroupOrder = " ORDER BY PhysicalStock"; break; case "CONVERT(float, 0)" : sGroupOrder = " ORDER BY FreeStock"; break; default: m_sNavItemBrowserOrderBy = StringsHelper.Replace(m_sNavItemBrowserOrderBy, "CONVERT(float, 0*1)", "PhysicalStock", 1, -1, CompareMethod.Binary); m_sNavItemBrowserOrderBy = StringsHelper.Replace(m_sNavItemBrowserOrderBy, "CONVERT(float, 0)", "FreeStock", 1, -1, CompareMethod.Binary); sGroupOrder = " ORDER BY " + m_sNavItemBrowserOrderBy; break; } } else { sGroupOrder = " ORDER BY Items.ItemCode";// + sOms30; // Performance fix: Do not order by description (it can be empty or duplicated) } //ngty@ 08.197.791 all this hassle!! //FC26.191.598 yoon109184 Recurring Sales Order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER) { if (m_bItemRange && gProps.ModItemBrowser.gPriceAgreementExists && ActionBar.get_Button(BUT_ALLITEMS).Enabled) { //FC 20.841.087 Price lists/agreement per group sProductRange = " AND items.ItemCode IN (SELECT Staffl.artcode FROM Staffl WHERE Staffl.AccountID = " + m_Conn.LitString(gProps.ModItemBrowser.gDebtorOrCreditorGuid) + " AND staffl.LineType ='1')"; } if (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_SALES_CONTRACTS) { //See document 04.993.209 //sFilterWhere = sFilterWhere & " AND (Items.Type = 'S' AND Items.IsSalesItem = 1 AND Items.IsSerialNumberItem = 1 AND Items.IsStockItem = 0 AND Items.PackageDescription IN (SELECT Unit FROM ItemUnits WHERE UnitType = 'T'))" //tanc30792 [BR 11.419.568] [2004 Jul 1] //Removed Items.IsStockItem = 0, add Items.GLAccountDistribution = P&L Account sFilterWhere = sFilterWhere + " AND (Items.Type = 'S' AND Items.IsSalesItem = 1 AND Items.IsSerialNumberItem = 1"; sFilterWhere = sFilterWhere + " AND Items.PackageDescription IN (SELECT Unit FROM ItemUnits WHERE UnitType = 'T')"; sFilterWhere = sFilterWhere + " AND Items.GLAccountDistribution IN (SELECT reknr FROM grtbk WHERE bal_vw = 'W'))"; } } //FC 16.045.238 Item browser navigation // 1 - if item is null, use NULL clause // 2 - if item is bool, convert to integer // 3 - if item is string, just concatenate //BR 23.650.118 - commented below codes which is cater for single sorting criteria only // - moved the codes below to GetSingleSortFilterSQL() // - call GetWhereSortSQL() instead sFilterWhere = sFilterWhere + GetWhereSortSQL(); // If IsNull(m_sNavItemBrowserVal) Then // sFilterWhere = sFilterWhere & " AND (NOT " & m_sNavItemBrowserCol & " IS NULL) " // Else // If VarType(m_sNavItemBrowserVal) = vbBoolean Then // // 'BR 16.409.543 // If InStr(m_sNavItemBrowserOrderBy, "DESC") Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & " < " & IIf(m_sNavItemBrowserVal, 1, 0) // Else // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & " > " & IIf(m_sNavItemBrowserVal, 1, 0) // End If // // ElseIf VarType(m_sNavItemBrowserVal) = vbDecimal Or _ //' VarType(m_sNavItemBrowserVal) = vbDouble Or _ //' VarType(m_sNavItemBrowserVal) = vbInteger Or _ //' VarType(m_sNavItemBrowserVal) = vbLong Or _ //' VarType(m_sNavItemBrowserVal) = vbSingle Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & IIf(m_bDescOrder, " < ", " > ") & m_sNavItemBrowserVal // ElseIf m_sNavItemBrowserVal <> "" Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & IIf(m_bDescOrder, " < ", " > ") & m_Conn.LitString(m_sNavItemBrowserVal) // End If // End If break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER : if (ActionBar.get_Button(BUT_ALLITEMS).Enabled) { sBySupplier = "ItemAccounts.crdnr = " + m_Conn.LitString(gProps.ModItemBrowser.gDebtorOrCreditor) + " AND "; sJoinRule = ""; //>>FC : 11.034.764 -PO ENTRY: Approved suppliers. //If an item requires approved supplier, then the supplier must also be the approved supplier. //else show all items that have links to supplier. if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER) { if ((((sFilterWhere) is null) ? 0 : sFilterWhere.Length) > 0) { sFilterWhere = sFilterWhere + Environment.NewLine + " AND "; } sFilterWhere = sFilterWhere + " (items.RequiresApprovedSupplier = 0 OR items.RequiresApprovedSupplier IS NULL " + Environment.NewLine; sFilterWhere = sFilterWhere + " OR (items.RequiresApprovedSupplier = 1 AND ItemAccounts.SupplierPreference = 1)) "; } } else { sBySupplier = ""; sJoinRule = " AND ItemAccounts.crdnr = Items.lev_crdnr"; } //BR 16.947.508 remove user defined columns in compact //BR 16.947.557 remove stock columns in compact // sSQL = sSQL & _ //' " Items.ID, " & sOms30 & " AS [Items.Description], Items.ItemCode, Items.SearchCode, ItemAccounts.PurchasePackage, ItemAccounts.ItemCodeAccount, Items.Condition, Items.IsSalesItem, Items.IsPurchaseItem, " & sIsAssembled & "Items.IsStockItem, " & sSerialBatch & "(CASE WHEN Items.Picture IS NULL THEN 0 ELSE 1 END) AS HasPicture, Items.SalesPackagePrice AS SalesPrice, ItemAccounts.PurchasePrice AS PurchasePrice, ItemAccounts.PurchaseCurrency AS Currency, Items.Warehouse, " & _ //' IIf(ItemFilter.bShowdata, " cicmpy.cmp_name AS MainSupplier, ", "") & sUserDefined & _ //' " FROM Items" & _ //' " LEFT OUTER JOIN ItemAccounts ON ItemAccounts.ItemCode = Items.ItemCode" & sJoinRule & _ //' IIf(ItemFilter.bShowdata, " LEFT OUTER JOIN cicmpy ON cicmpy.cmp_wwn = ItemAccounts.AccountCode", "") & _ //' sAssortmentJoin sSQL = sSQL + " Items.ID, " + sOms30 + " AS [Items.Description], Items.ItemCode, Items.SearchCode, ItemAccounts.PurchasePackage, ItemAccounts.ItemCodeAccount, Items.Condition, Items.IsSalesItem, Items.IsPurchaseItem, " + sIsAssembled + ((!m_Comp.GetOpt(OPT_COMPACT)) ? "Items.IsStockItem, " : "") + sSerialBatch + "(CASE WHEN Items.Picture IS NULL THEN 0 ELSE 1 END) AS HasPicture, Items.SalesPackagePrice AS SalesPrice, ItemAccounts.PurchasePrice AS PurchasePrice, ItemAccounts.PurchaseCurrency AS Currency, Items.Warehouse " + ((ItemFilter.bShowdata) ? " ,cicmpy.cmp_name AS MainSupplier " : "") + ((!m_Comp.GetOpt(OPT_COMPACT)) ? "," + sUserDefined : "") + " FROM Items" + " LEFT OUTER JOIN ItemAccounts ON ItemAccounts.ItemCode = Items.ItemCode" + sJoinRule + ((ItemFilter.bShowdata) ? " LEFT OUTER JOIN cicmpy ON cicmpy.cmp_wwn = ItemAccounts.AccountCode" : "") + sAssortmentJoin; //FC 16.045.238 Item browser navigation if (!System.String.IsNullOrWhiteSpace(m_sNavItemBrowserOrderBy)) { sGroupOrder = " ORDER BY " + m_sNavItemBrowserOrderBy; } else { sGroupOrder = " ORDER BY " + sOms30; //" ORDER BY Items.Description" } //FC 16.045.238 Item browser navigation // 1 - if item is null, use NULL clause // 2 - if item is bool, convert to integer // 3 - if item is string, just concatenate //BR 23.650.118 - commented below codes which is cater for single sorting criteria only // - moved the codes below to GetSingleSortFilterSQL() // - call GetWhereSortSQL() instead sFilterWhere = sFilterWhere + GetWhereSortSQL(); // If IsNull(m_sNavItemBrowserVal) Then // sFilterWhere = sFilterWhere & " AND (NOT " & m_sNavItemBrowserCol & " IS NULL) " // Else // If VarType(m_sNavItemBrowserVal) = vbBoolean Then // // 'BR 16.409.543 // If InStr(m_sNavItemBrowserOrderBy, "DESC") Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & " < " & IIf(m_sNavItemBrowserVal, 1, 0) // Else // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & " > " & IIf(m_sNavItemBrowserVal, 1, 0) // End If // // ElseIf VarType(m_sNavItemBrowserVal) = vbDecimal Or _ //' VarType(m_sNavItemBrowserVal) = vbDouble Or _ //' VarType(m_sNavItemBrowserVal) = vbInteger Or _ //' VarType(m_sNavItemBrowserVal) = vbLong Or _ //' VarType(m_sNavItemBrowserVal) = vbSingle Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & IIf(m_bDescOrder, " < ", " > ") & m_sNavItemBrowserVal // ElseIf m_sNavItemBrowserVal <> "" Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & IIf(m_bDescOrder, " < ", " > ") & m_Conn.LitString(m_sNavItemBrowserVal) // End If // End If break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.RECEIPT : sSQL = sSQL + " Items.ID, " + sOms30 + " AS [Items.Description], Items.ItemCode, Items.PackageDescription, Items.Condition, Items.IsSalesItem, Items.IsPurchaseItem, " + sIsAssembled + "Items.IsStockItem, " + sSerialBatch + "(CASE WHEN Items.Picture IS NULL THEN 0 ELSE 1 END) AS HasPicture, " + sUserDefined + " FROM Items"; //FC 16.045.238 Item browser navigation if (!System.String.IsNullOrWhiteSpace(m_sNavItemBrowserOrderBy)) { sGroupOrder = " ORDER BY " + m_sNavItemBrowserOrderBy; } else { sGroupOrder = " ORDER BY " + sOms30; //" ORDER BY Items.Description" } //FC 16.045.238 Item browser navigation // 1 - if item is null, use NULL clause // 2 - if item is bool, convert to integer // 3 - if item is string, just concatenate //BR 23.650.118 - commented below codes which is cater for single sorting criteria only // - moved the codes below to GetSingleSortFilterSQL() // - call GetWhereSortSQL() instead sFilterWhere = sFilterWhere + GetWhereSortSQL(); // If IsNull(m_sNavItemBrowserVal) Then // sFilterWhere = sFilterWhere & " AND (NOT " & m_sNavItemBrowserCol & " IS NULL) " // Else // If VarType(m_sNavItemBrowserVal) = vbBoolean Then // // 'BR 16.409.543 // If InStr(m_sNavItemBrowserOrderBy, "DESC") Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & " < " & IIf(m_sNavItemBrowserVal, 1, 0) // Else // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & " > " & IIf(m_sNavItemBrowserVal, 1, 0) // End If // // ElseIf VarType(m_sNavItemBrowserVal) = vbDecimal Or _ //' VarType(m_sNavItemBrowserVal) = vbDouble Or _ //' VarType(m_sNavItemBrowserVal) = vbInteger Or _ //' VarType(m_sNavItemBrowserVal) = vbLong Or _ //' VarType(m_sNavItemBrowserVal) = vbSingle Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & IIf(m_bDescOrder, " < ", " > ") & m_sNavItemBrowserVal // ElseIf m_sNavItemBrowserVal <> "" Then // sFilterWhere = sFilterWhere & " AND " & m_sNavItemBrowserCol & IIf(m_bDescOrder, " < ", " > ") & m_Conn.LitString(m_sNavItemBrowserVal) // End If // End If break; } //'Putting it all together sSQL = sSQL + " WHERE " + sBySupplier + sByWarehouse + sFilterWhere + sProductRange + sGroupOrder; Browser[1].StorageKey = "Exact Globe 2003\\[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode; Browser[1].ColInfo = Browser[1].ColInfo + sColStkInfo; //@LowJay br 18.163.941 : Barcodes created by SE4030 not recognized in E-Pos if (~((System.String.IsNullOrWhiteSpace(sColInfo)) ? -1 : 0) != 0) { //angs BR 22.023.714 incomplete change for BR 18.163.941: If e-barcode used, column width is too large can happened //-- existing code : .ColInfo = sColInfo //-- New code: .ColInfo = .ColInfo & sColInfo [added: sColInfo] Browser[1].ColInfo = Browser[1].ColInfo + sColInfo; } //.SelectColumnsMode = 0 Browser[1].SQL = sSQL; gProps.ModItemBrowser.gbRefreshBrowserCall = true; //BR 16.263.480 to determine whether column_change fired from RefreshBrowser() Browser[1].Refresh(); gProps.ModItemBrowser.gbRefreshBrowserCall = false; //BR 16.263.480 //Fc:24.877.475 - load stock qty LoadStockQty(); gbRefreshBrowser = false; } //Fc:24.877.475 - load the stock qty into edl browser. //max 50 item per query trip private void LoadStockQty() { if (gProps.ModItemBrowser.gbRefreshBrowserCall) { return; } if (Browser[1].NumRows == 0) { return; } if (!ItemFilter.bShowStockPos) { return; } //logic: //retrieve stock pos for 50 item in a batch int iCount = 0; string sItemCode = ""; Exact.DataLayer.EdlObject vPhysicalQty = null, vFreeQty = null; double dPhysicalQty = 0, dFreeQty = 0; string sQtyItem = ""; OrderedDictionary dicPhysicalQty = new OrderedDictionary(System.StringComparer.CurrentCultureIgnoreCase); OrderedDictionary dicFreeStock = new OrderedDictionary(System.StringComparer.CurrentCultureIgnoreCase); //init the stock query dll InitStockObj(); iCount = 0; int tempForEndVar = Browser[1].NumRows; for (int iReadRow = 1; iReadRow <= tempForEndVar; iReadRow++) { iCount++; //to counter the 50 item if (iCount <= 50) { //UPGRADE_WARNING: (1068) Browser().RowValue() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = sItemCode + "," + m_Conn.LitString(Convert.ToString(Browser[1].get_RowValue(iReadRow, "Items.ItemCode"))); } if (iCount == 50 || iReadRow == Browser[1].NumRows) { //calculate the qty sItemCode = sItemCode.Substring(1); //UPGRADE_WARNING: (1068) GetPhysicalStock() of type Variant is being forced to Scalar. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 vPhysicalQty = new Exact.DataLayer.EdlObject (GetPhysicalStock(sItemCode, gProps.ModItemBrowser.gsWarehouse, true)); //get stock qty //UPGRADE_WARNING: (1068) GetFreeStock() of type Variant is being forced to Scalar. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 vFreeQty = new Exact.DataLayer.EdlObject (GetFreeStock(sItemCode, gProps.ModItemBrowser.gsWarehouse, true)); //get free stock //add to dic if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vPhysicalQty)) { int tempForEndVar2 = vPhysicalQty.GetUpperBound(0); for (int iNum = vPhysicalQty.GetLowerBound(0); iNum <= tempForEndVar2; iNum++) { //UPGRADE_WARNING: (1068) vPhysicalQty() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sQtyItem = Convert.ToString(vPhysicalQty[iNum, 0].Data); //UPGRADE_WARNING: (1068) vPhysicalQty() of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dPhysicalQty = Convert.ToDouble(vPhysicalQty[iNum, 2].Data); if (dicPhysicalQty.Contains(sQtyItem)) { //UPGRADE_WARNING: (1068) dicPhysicalQty.Item() of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dPhysicalQty += Convert.ToDouble(dicPhysicalQty[sQtyItem]); dicPhysicalQty.Remove(sQtyItem); } dicPhysicalQty.Add(sQtyItem, dPhysicalQty); } } //add free qty into dic if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vFreeQty)) { int tempForEndVar3 = vFreeQty.GetUpperBound(0); for (int iNum = vFreeQty.GetLowerBound(0); iNum <= tempForEndVar3; iNum++) { //UPGRADE_WARNING: (1068) vFreeQty() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sQtyItem = Convert.ToString(vFreeQty[iNum, 0].Data); //UPGRADE_WARNING: (1068) vFreeQty() of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dFreeQty = Convert.ToDouble(vFreeQty[iNum, 1].Data); if (dicFreeStock.Contains(sQtyItem)) { //UPGRADE_WARNING: (1068) dicFreeStock.Item() of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dFreeQty += Convert.ToDouble(dicFreeStock[sQtyItem]); dicFreeStock.Remove(sQtyItem); } dicFreeStock.Add(sQtyItem, dFreeQty); } } sItemCode = ""; iCount = 0; } } Exact.DataLayer.IEdlQuery qu = (Exact.DataLayer.IEdlQuery) Browser[1].QueryObject; Exact.DataLayer.IEdlColumn colPhysicalStock = (Exact.DataLayer.IEdlColumn) qu.Column("PhysicalStock"); Exact.DataLayer.IEdlColumn colFreeStock = (Exact.DataLayer.IEdlColumn) qu.Column("FreeStock"); //load qty to grid int tempForEndVar4 = Browser[1].NumRows; for (int iReadRow = 1; iReadRow <= tempForEndVar4; iReadRow++) { //UPGRADE_WARNING: (1068) Browser().RowValue() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_RowValue(iReadRow, "Items.ItemCode")); if (dicPhysicalQty.Contains(sItemCode)) { //UPGRADE_WARNING: (1068) dicPhysicalQty.Item() of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 colPhysicalStock.Dbl = Convert.ToDouble(dicPhysicalQty[sItemCode]); } if (dicFreeStock.Contains(sItemCode)) { //UPGRADE_WARNING: (1068) dicFreeStock.Item() of type Variant is being forced to double. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 colFreeStock.Dbl = Convert.ToDouble(dicFreeStock[sItemCode]); } Browser[1].RefreshRow(iReadRow); } } //Fc:24.877.475 - load the stock qty into edl browser. private object GetPhysicalStock(string sItemCode, string sWhr, bool bInputItemInList) { string sItemTo = ""; object vQty = null; if (!bInputItemInList) { sItemTo = sItemCode; } // not query item qty in list, so, set the sItemTo = sItemCode mObjStkQty.ReturnResultsAsArray = true; mObjStkQty.ReturnWarehouse = (true).ToString(); mObjStkQty.InputItemInList = bInputItemInList.ToString(); vQty = mObjStkQty.StockQtyPerReferenceDate(sItemCode, sItemTo, sWhr, sWhr, m_Comp.ProcessDate); return vQty; } //Fc:24.877.475 - load the stock qty into edl browser. private object GetFreeStock(string sItemCode, string sWhr, bool bInputItemInList) { string sItemTo = ""; object vQty = null; if (!bInputItemInList) { sItemTo = sItemCode; } // not query item qty in list, so, set the sItemTo = sItemCode mObjStkQty.ReturnResultsAsArray = true; mObjStkQty.ReturnWarehouse = (true).ToString(); mObjStkQty.InputItemInList = bInputItemInList.ToString(); vQty = mObjStkQty.FreeStockTotalQty(sItemCode, sItemTo, sWhr, sWhr); return vQty; } //Fc:24.877.475 - load the stock qty into edl browser. private void InitStockObj() { if (mObjStkQty is null) { mObjStkQty = GlobalInterfaces.Factory.CreateInstance<GlobalInterfaces.GI_Exact.Inventory.StockQuantities.IclsStockQuantities>(); m_App.ConnectObject(mObjStkQty, m_Comp, m_Term); } } //Refresh form, based on current selection criteria private void DoRefresh() { Cursor iMousePtr = this.Cursor; this.Cursor = Cursors.WaitCursor; try { if (ItemFilter.MaxRows == 0 || ItemFilter.MaxRows > 500) { return; } gItemCode = ""; RefreshBrowser(); //BR 16.297.817 set tab index for browser(1) = browser(0) here else everytime when refreshbrowser, the tabindex will be changed Browser[1].TabIndex = 3; BrowserRepl[1].TabIndex = 4; } catch (Exception catchedException) { Exact.Exceptions.Globe.BaseGlobeException exc = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException); m_App.Message(this.Handle, "Error " + ": " + exc.Message); } this.Cursor = iMousePtr; } //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void BrowserRepl_SelectionChanged(Object eventSender, EventArgs eventArgs) { int SelectedRow = 0; if (gProps.ModItemBrowser.gbMultiSelect) { SelectedRow = BrowserRepl[1].get_SelectedRows(0); } else { SelectedRow = BrowserRepl[1].CurrentRow; } //FC 17.845.818 if (SelectedRow < 1) { ActionBar.EnableButton(BUT_MRP, false); ActionBar.EnableButton(BUT_SELECT, false); ActionBar.EnableButton(BUT_CARD, false); ActionBar.EnableButton(BUT_COPY, false); fbCommand[1].Enabled = false; } else { //angs BR 20.756.775 Hide <add>, <Edit> and copy buttons with E-Branche if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_POS_BRANCHE_OFFICE))) { fbCommand[1].Enabled = true; } } if (gbBrowserReplSelType) { //ngty@ 05.451.186 gbBrowserReplSelType = false; return; } gbBusy = true; if (this.Visible) { ActionBar.get_Button(BUT_DUMMY).Focus = true; } BrowserRepl[1].Enabled = false; //UPGRADE_WARNING: (1068) BrowserRepl().RowValue() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gItemCode = Convert.ToString(BrowserRepl[1].get_RowValue(SelectedRow, "items.ItemCode")); if ((BrowserRepl[1].MultiSelect && BrowserRepl[1].SelectedRowCount != 1) || (!BrowserRepl[1].MultiSelect && BrowserRepl[1].CurrentRow == 0)) { DoButtons(false); ClearAllValues(); } else { DoButtons(true); FillItemInfo(); } BrowserRepl[1].Enabled = true; if (this.Visible && BrowserRepl[1].Visible) { BrowserRepl[1].Focus(); } gbBusy = false; } //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void BrowserRepl_RowChanged(Object eventSender, EventArgs eventArgs) { gbBusy = true; if (this.Visible) { ActionBar.get_Button(BUT_DUMMY).Focus = true; } BrowserRepl[1].Enabled = false; int SelectedRow = BrowserRepl[1].CurrentRow; //UPGRADE_WARNING: (1068) BrowserRepl().RowValue() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gItemCode = Convert.ToString(BrowserRepl[1].get_RowValue(SelectedRow, "items.ItemCode")); FillItemInfo(); if ((BrowserRepl[1].MultiSelect && BrowserRepl[1].SelectedRowCount != 1) || (!BrowserRepl[1].MultiSelect && BrowserRepl[1].CurrentRow == 0)) { DoButtons(false); ClearAllValues(); } else { DoButtons(true); } BrowserRepl[1].Enabled = true; if (this.Visible && BrowserRepl[1].Visible) { BrowserRepl[1].Focus(); } gbBusy = false; gbBrowserReplSelType = true; //ngty@ 05.451.186 } //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void BrowserRepl_Selected(Object eventSender, EventArgs eventArgs) { if (!gProps.ModItemBrowser.gbCancel) { return; } if (BrowserRepl[1].SelectedRowCount == 0) { //ngty@ 04.940.811 make sure at least one row is selected BrowserRepl[1].SelectRow(BrowserRepl[1].CurrentRow, true); } ActionBar.ClickButton(BUT_SELECT); } private void cmdSerialBatch_Click(Object eventSender, EventArgs eventArgs) { using (ClsSerialBatch dlgSB = new ClsSerialBatch(gProps)) { //UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069 try { if (!pnlReplaceBrowser.Visible) { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dlgSB.sItemCode = Convert.ToString(Browser[1].get_value("Items.Itemcode")); //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dlgSB.sItemdesc = Convert.ToString(Browser[1].get_value("Items.Description")); } else { if (gProps.FrmMain.BrowserRepl[1].SelectedRowCount > 0) { //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dlgSB.sItemCode = Convert.ToString(BrowserRepl[1].get_value("Items.Itemcode")); //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dlgSB.sItemdesc = Convert.ToString(BrowserRepl[1].get_value("Items.Description")); } else { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dlgSB.sItemCode = Convert.ToString(Browser[1].get_value("Items.Itemcode")); //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 dlgSB.sItemdesc = Convert.ToString(Browser[1].get_value("Items.Description")); } } if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_SERIEBATCH))) { //if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_SERIEBATCH))) //{ // br 03.293.920 if (gObjSerialBatch == null) { gObjSerialBatch = new Exact.Inventory.SerialBatch.SerialBatch(); m_App.ConnectObject(gObjSerialBatch, m_Comp, m_Term); } gObjSerialBatch.sWarehouse = gProps.ModItemBrowser.gWareHs; } m_App.ConnectObject(dlgSB, m_Comp, m_Term); dlgSB.Show(Handle ); } catch (Exception catchedException) { Exact.Exceptions.Globe.BaseGlobeException exc = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException); } } } //UPGRADE-WARNING: Parameter Index was changed from byref to byval. private void fbCommand_Click(Object eventSender, EventArgs eventArgs) { int Index = Array.IndexOf(this.fbCommand, eventSender); switch(Index) { case 0 : OpenMaint(true); break; case 1 : OpenMaint(false); break; } DoButtons(true); } private void Form_Paint(Object eventSender, EventArgs eventArgs) { //br: 21.126.896 // If Len(Trim(gSelectArtCd)) = 0 Then // On Error Resume Next // ItemFilter.SetFocus // End If //BR 23.389.323 Focus issue if (Browser[1].NumRows > 0 && !System.String.IsNullOrWhiteSpace(gProps.ModItemBrowser.gSelectArtCd)) { Browser[1].Focus(); } else { ItemFilter.Focus(); } } private void LoadBrowser() { //ControlArrayHelper.LoadControl(this, "Browser", 1); //first time load of browser //Browser[0].Visible = false; Array.Resize(ref Browser, Browser.Length + 1); Browser[1] = Browser[0];// new Exact.Win.UI.DataLayerGrid.Browser(); Browser[1].SkipAutoRefresh = true; //this.pnlMainBrowser.Controls.Add(Browser[1]); // ControlArrayHelper.LoadControl(this, "BrowserRepl", 1); Array.Resize(ref BrowserRepl, BrowserRepl.Length + 1); BrowserRepl[1] = BrowserRepl[0];// new Exact.Win.UI.DataLayerGrid.Browser(); BrowserRepl[1].SkipAutoRefresh = true; //this.pnlReplaceBrowser.Controls.Add(BrowserRepl[1]); //BrowserRepl[0].Visible = false; //BrowserRepl[1].Visible = true; } private void FillDefaulFilterValues(bool bFirstLoad) { if (bFirstLoad) { ItemFilter.NoRefresh = true; // lohp17191 12.924.874 When there's only 1 warehouse in use, consider hiding the warehouse fip if (((gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE) && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_NORMAL_INVOICE || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE)) || gProps.ModItemBrowser.giWarehouseCount == 1) { //ngty@ 04.402.673 removed condition for TYPE_POS_INVOICE ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_WAREHOUSE); } switch(gProps.ModItemBrowser.gParentApp) { case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER : ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_MAKEITEMS); ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_ITEMEANCODE); ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_CUSTOMER_ITEMCODE); // lohp17191 13.588.212 Hide this checkbox ItemFilter.HideGlobalSearchFilter(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_CUSTITEMCODE); //BR 16.947.508 hide user defined checkbox if compact if (m_Comp.GetOpt(OPT_COMPACT)) { ItemFilter.HideGlobalSearchFilter(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_USERDEFINED); } break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER : ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_ITEMEANCODE); ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_CUSTOMER_ITEMCODE); // lohp17191 13.588.212 Hide this checkbox ItemFilter.HideGlobalSearchFilter(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_CUSTITEMCODE); break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER : //FC26.191.598 yoon109184 Recurring Sales Order ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_MAKEITEMS); if (gProps.ModItemBrowser.gAppMode != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_ITEMEANCODE); } //BR 16.947.508 hide user defined checkbox if compact if (m_Comp.GetOpt(OPT_COMPACT)) { ItemFilter.HideGlobalSearchFilter(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_USERDEFINED); //chan221476 (19-11-2007) [BR24.827.860] - To Hide Customer Item code and Supplier Item Code in Direct Invoice for Exact Compact ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_CUSTOMER_ITEMCODE); ItemFilter.HideGlobalSearchFilter(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_CUSTITEMCODE); ItemFilter.HideGlobalSearchFilter(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_SUPPLIERITEMCODE); } break; default: ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SUPPLIER_ITEMCODE); ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_MAKEITEMS); ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_ITEMEANCODE); // lohp17191 13.588.212 Hide this checkbox ItemFilter.HideGlobalSearchFilter(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_SEARCH_SUPPLIERITEMCODE); break; } //ngty@ 06.932.743 if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_MAGAZIJNEN))) { ItemFilter.HideControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_WAREHOUSE); } //BR 21.098.375 //Set default state to collapsed mode for Advanced //.IsExpanded = Collapsed //if this is the first time loading, then fill the default search ItemFilter.DefaultFilterValue("defsearch", gProps.ModItemBrowser.gSelectArtCd); //BR19.990.412:6/Sep/2006:chan193060 - First time loading, fip(warehouse) is enabled //BR19.990.412:DefaultFilterValue will set default value to gWareHs. But due to BR12.403.333 set fip to disable. //BR19.990.412:Inside DefaultFilterValue will not set fip value the 2nd time when form loaded. //BR19.990.412:Ensure fip(warehouse) default value is set. Defaultfilterstate of warehouse set to enabled. ItemFilter.DefaultFilterState("warehouse", true); ItemFilter.DefaultFilterValue("warehouse", gProps.ModItemBrowser.gWareHs); //BR 12.403.333 if warehouse is selected, then do not allow user to change warehouse, and it only for production order header entries //PBI33204 - Kanban order entry in EGN: Param for Kanban order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN) && !ItemFilter.IsWarehouseAll) { ItemFilter.EnabledControl(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.FIP_WAREHOUSE, false); } } ItemFilter.NoRefresh = true; if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER) { //FC26.191.598 yoon109184 Recurring Sales Order //PBI33204 - Kanban order entry in EGN: Param for Kanban order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_KANBAN)) { ItemFilter.DefaultFilterValue("artcodlev", (true).ToString()); ItemFilter.DefaultFilterState("artcodlev", false); } else { //2006-08-10;chin111989;BR 19.829.016 Enable the Show make item first ItemFilter.DefaultFilterState("artcodlev"); ItemFilter.DefaultFilterValue("artcodlev", (false).ToString()); } } else if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER) { ItemFilter.DefaultFilterValue("buy", (true).ToString()); } ItemFilter.fipFilterContain.Value = ItemFilter.Save2Registry(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.RegAction.Read, "FilterStartContain"); ItemFilter.NoRefresh = false; } private void Initializeflags() { gbBusy = false; gItemCode = ""; pnlReplaceBrowser.Visible = false; } //UPGRADE-WARNING: Parameter UnloadMode was changed from byref to byval. private void Form_FormClosing(Object eventSender, FormClosingEventArgs eventArgs) { int Cancel = (eventArgs.Cancel) ? 1 : 0; CloseReason UnloadMode = eventArgs.CloseReason; try { //UPGRADE_WARNING: (2065) QueryUnloadConstants property QueryUnloadConstants.vbFormControlMenu has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065 // checked with VB6 behavior, // only allow closing via Component disposing if (!_disposing && UnloadMode == CloseReason.UserClosing) { Cancel = -1; gProps.ModItemBrowser.gbCancel = true; //UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069 try { ItemFilter.Focus(); this.Hide(); } catch (Exception catchedException) { Exact.Exceptions.Globe.BaseGlobeException exc = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException); } } } finally { eventArgs.Cancel = Cancel != 0; } } private bool isInitializingComponent; private void Form_Resize(Object eventSender, EventArgs eventArgs) { if (isInitializingComponent) { return; } FormResize(); } //UPGRADE-WARNING: Parameter Cancel was changed from byref to byval. private void Form_Closed(Object eventSender, EventArgs eventArgs) { m_App = null; m_Conn = null; m_Comp = null; m_Term = null; m_Set = null; m_gk = null; m_oStackItemNav = null; //ngty@ who added this in? not being used? //Set vStk = Nothing gObjSerialBatch = null; mObjWareH = null; mObjStkQty = null; //BR41.204.403 tans285567 - Precision of prices is not rounded correctly m_CurCalc = null; if (hAncient != 0) { Exact.SystemLayer.API.Vsb.ReleaseOldApiCompatibility(hAncient); hAncient = 0; } } private void GetSettings() { Exact.DataLayer.EdlObject vRes = null; Exact.SystemLayer.Interfaces.ISettings iset = (Exact.SystemLayer.Interfaces.ISettings) m_Comp; //UPGRADE_WARNING: (1068) iset() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gsValutaCodeDef = Convert.ToString(iset["eaccount\\default_valutacode,c"]); //UPGRADE_WARNING: (1068) iset() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gProps.ModItemBrowser.gsMagazCodeDef = Convert.ToString(iset["ontvangst\\magcode,c"]); //UPGRADE_WARNING: (1068) iset.Setting() of type Variant is being forced to bool. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gProps.ModItemBrowser.gbPricelistPerItemGroup = Convert.ToBoolean(iset.Setting("orders\\PriceListPerItemGroup,b", 0)); // 12.517.720 lohp17191 Make a one time check to see if this user has all warehouse rights or happens to be admin if (m_Comp.User.Administrator) { gProps.ModItemBrowser.gbUserHasAllWrhHseRights = true; } else { // This query checks to see if there are any warehouses(except TRAN) that the user does not have any rights on. If we can't find any, // that means this user does have rights to all the warehouses that were created. vRes = m_Conn.Query("SELECT COUNT(*) FROM magaz LEFT JOIN pwmagaz ON magaz.magcode = pwmagaz.magcode AND pwmagaz.res_id=? WHERE magaz.magcode <> 'TRAN' AND pwmagaz.res_id IS NULL", m_Comp.User.ID, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (((double) vRes) == 0) { gProps.ModItemBrowser.gbUserHasAllWrhHseRights = true; } } gProps.ModItemBrowser.giWarehouseCount = (int) m_Conn.Query("SELECT COUNT(*) FROM magaz WHERE magaz.magcode <> 'TRAN'", null, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); //2008-01-09;chin111989;BR25.320.397 Operation setting //UPGRADE_WARNING: (1068) iset.Setting() of type Variant is being forced to bool. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 gProps.ModItemBrowser.gbUseRouting = Convert.ToBoolean(iset.Setting("manufacturing\\routing_operation,b", false)); } private void SetFormCaptions() { //PBI 116391 - Set application title //VBAppSetTitle Me, m_Term.String(9889, "Items") sepReplace.Caption = m_Term.String(9380, "Replacement items"); fbCommand[0].Caption = m_Term.String(1355, "New"); fbCommand[1].Caption = m_Term.String(25319, "Edit"); ToolTipMain.SetToolTip(cmdSerialBatch, m_Term.String(7917, "Serial/batch data")); //10.930.697, button BUT_SUPPLIER should terms with TERMS06679 (by supplier) in sales order. //FC26.191.598 yoon109184 Recurring Sales Order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER || gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER) { ActionBar[BUT_BYSUPPLIER].SetCaptionTermID(26963, "By customer", false); } } private void SetFormControlColors() { Exact.SystemLayer.Interfaces.IGraphics iGrx = new Exact.SystemLayer.Graphics(); Image icon = null; gProps.ModItemBrowser.SetToParentIcon(this); Exact.SystemLayer.Interfaces.ExactColor tempRefParam = Exact.SystemLayer.Interfaces.ExactColor.ecolBackground; Color lBackGround = iGrx.Color[tempRefParam]; Exact.SystemLayer.Interfaces.ExactColor tempRefParam2 = Exact.SystemLayer.Interfaces.ExactColor.ecolActiveBackground; Color lActiveBackGround = iGrx.Color[tempRefParam2]; try { Control ctrl = null; Exact.Win.UI.UniLabel.LabelW ctrlTyped = null; //UPGRADE_WARNING: (2065) Form property frmMain.Controls has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065 foreach (Control ctrlIterator in ContainerHelper.Controls(this)) { ctrl = ctrlIterator; if ((ctrl is Exact.Win.UI.Fip) || (ctrl is Exact.Win.UI.UniCommandButton.CommandButtonW) || (ctrl is Exact.Win.UI.Panel.Panel)) { ctrl.BackColor = lActiveBackGround; } if (ctrl is Exact.Win.UI.UniLabel.LabelW) { ctrlTyped = (Exact.Win.UI.UniLabel.LabelW) ctrl; ctrlTyped.BackColor = lActiveBackGround; } //ctrl ctrl = default(Control); } this.BackColor = lBackGround; icon = iGrx.Bitmap[GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.e4reslibIDs.IDB_SERIALBATCHDATA, (int) Exact.SystemLayer.Interfaces.IconSizes.eiconSmall]; cmdSerialBatch.MaskColor = Color.Fuchsia; cmdSerialBatch.UseMaskColor = true; cmdSerialBatch.Picture = icon; } catch { //UPGRADE_TODO: (1065) Error handling statement (Resume Next) could not be converted. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1065 } } private void SetFonts() { Exact.SystemLayer.Interfaces.IGraphics iGrx = new Exact.SystemLayer.Graphics(); Control ctrl = null; Exact.Win.UI.UniLabel.LabelW ctrlTyped = null; //UPGRADE_WARNING: (2065) Form property frmMain.Controls has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065 foreach (Control ctrlIterator in ContainerHelper.Controls(this)) { ctrl = ctrlIterator; if (ctrl is Exact.Win.UI.UniLabel.LabelW) { ctrlTyped = (Exact.Win.UI.UniLabel.LabelW) ctrl; if (!ctrlTyped.Name.StartsWith("lblQty") && !ctrlTyped.Name.StartsWith("fipInfo")) { try { ctrlTyped.Font = iGrx.Font[Exact.SystemLayer.Interfaces.ExactFont.efontDefaultButton]; } catch { } } } ctrl = default(Control); } } //UPGRADE-WARNING: Parameter bExpanded was changed from byref to byval. private void ItemFilter_Expand(Object Sender, ItemFilter.ExpandEventArgs e) { GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.ExpansionTypes bExpanded = e.bExpanded; if (pnlReplaceBrowser.Visible) { pnlReplaceBrowser.Visible = bExpanded == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.ExpansionTypes.Collapsed; } Form_Resize(this, new EventArgs()); } private void ItemFilter_ExpandProperty(Object Sender, EventArgs e) { Form_Resize(this, new EventArgs()); } //11.644.319 lohp17191 Forces focus to either the lines or the search textbox without forcing a refresh on the browser private void ItemFilter_ForceFocus(Object Sender, EventArgs e) { //UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069 try { if (Browser[1].NumRows == 1) { Browser[1].SelectRow(1, true); Browser[1].CurrentRow = 1; ActionBar.SetFocusOnButton(BUT_SELECT); } else if (Browser[1].NumRows > 1) { Browser[1].SelectRow(1, true); Browser[1].CurrentRow = 1; Browser_SelectionChanged(Browser[1], new EventArgs()); } else if (Browser[1].NumRows == 0) { if (this.Visible) { ItemFilter.Focus(); } } Form_Resize(this, new EventArgs()); } catch (Exception catchedException) { Exact.Exceptions.Globe.BaseGlobeException exc = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException); } } private void ItemFilter_ForceRefresh(Object Sender, ItemFilter.ForceRefreshEventArgs e) { bool bClear = e.bClear; if (bClear) { FillDefaulFilterValues(false); } DoRefresh(); if (Browser[1].NumRows == 1) { //11.644.319 lohp17191 Should also select the first row before setting focus on button. Without doing this, // the button will still be disabled, and no focus can be set on it. Browser[1].SelectRow(1, true); Browser[1].CurrentRow = 1; //angs BR 20.756.775 Hide <add>, <Edit> and copy buttons with E-Branche if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_POS_BRANCHE_OFFICE))) { fbCommand[1].Enabled = true; } ActionBar.SetFocusOnButton(BUT_SELECT); //BR 16.409.543 if 1 < maxrow, disable navigation btn if (Browser[1].NumRows < ItemFilter.MaxRows) { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, false); ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); } else { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, true); } } else if (Browser[1].NumRows > 1) { Browser[1].SelectRow(1, true); Browser[1].CurrentRow = 1; //angs BR 20.756.775 Hide <add>, <Edit> and copy buttons with E-Branche if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_POS_BRANCHE_OFFICE))) { fbCommand[1].Enabled = true; } //Browser_SelectionChanged(Browser[1], new EventArgs()); //BR 16.297.817 DetermineNavBtnState(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SEARCH_REFRESH); } else if (Browser[1].NumRows == 0) { if (this.Visible) { //FC 16.045.238 if no row returns disable pre&next btn ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, false); ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); fbCommand[1].Enabled = false; //UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069 try { ItemFilter.Focus(); } catch (Exception catchedException) { Exact.Exceptions.Globe.BaseGlobeException exc = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException); } } } } //BR 16.297.817 //UPGRADE-WARNING: Parameter sType was changed from byref to byval. private void DetermineNavBtnState(string sType) { if (sType == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SEARCH_REFRESH) { if (EdlBusyCheck()) { //FC 16.045.238 if row returns < than max row defined, disable pre&next btn if (Browser[1].NumRows < ItemFilter.MaxRows) { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, false); ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); } else { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, true); } } else { //if false meant edl still busy ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, true); } } else { //when next is press, the previous button always enable ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, true); //next navigation if (EdlBusyCheck()) { // if the browser is empty or browser rows returned < maxrow, disable the Next button if (Browser[1].NumRows == 0 || Browser[1].NumRows < ItemFilter.MaxRows) { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, false); } } else { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, true); } } } bool bBusy_FormResize = false; private void FormResize() { if (bBusy_FormResize) { return; } bBusy_FormResize = true; int InsideWidth = 0; int H = 0, w = 0; //FC 16.044.993 show item picture //ngty@ 08.789.273 pnlItemInfo.Visible = ItemFilter.bShowdata || ItemFilter.bShowItemData; int AvailableTop = 0; int AvailableHeight = 0; if (WindowState != FormWindowState.Minimized) { w = this.ContentPanel.Width * 15; H = (this.ClientRectangle.Height - this.OffsetClientHeight) * 15 - ActionBar.Height * 15 - 350; if (H < 9000) { H = 9000; } if (w < 12000) { w = 12000; } InsideWidth = w - 300; ItemFilter.Top = 5; ItemFilter.Left = 5; ItemFilter.Width = InsideWidth / 15; // Determine fixed height for browser1 panel //BR 16.263.480 'don't add 30, else will cause RTE when screen resolution is > 1280*768 AvailableTop = ItemFilter.Top * 15 + ItemFilter.Height * 15; // + 30 AvailableHeight = pnlMain.Height * 15 - AvailableTop - 180; // Substract item info if (pnlItemInfo.Visible) { AvailableHeight -= pnlItemInfo.Height * 15; } // Check replacement browser visibillity if (bShowReplaceBrowser) { // Both visible H = Convert.ToInt32((AvailableHeight + 450) / 2d); pnlMainBrowser.SetBounds(5, AvailableTop / 15, InsideWidth / 15, H / 15); pnlReplaceBrowser.SetBounds(5, pnlMainBrowser.Top + pnlMainBrowser.Height, InsideWidth / 15, (AvailableHeight - H) / 15); } else { // Only main browser pnlMainBrowser.SetBounds(5, (AvailableTop / 15) + 5, InsideWidth / 15, AvailableHeight / 15); } // Move item info panel pnlItemInfo.SetBounds(8, ((AvailableTop + AvailableHeight) / 15) + 5, InsideWidth / 15, 0, BoundsSpecified.X | BoundsSpecified.Y | BoundsSpecified.Width); // Main browser panel size H = pnlMainBrowser.Height * 15 - 180; fbCommand[0].Top = 43; fbCommand[1].Top = fbCommand[0].Top + fbCommand[0].Height + 4; fbCommand[0].Left = 10; fbCommand[1].Left = 10; Browser[1].SetBounds(fbCommand[0].Width + 15, 3, pnlMainBrowser.Width - 40, (H / 15) + 8); // Replace item panel size if (bShowReplaceBrowser) { sepReplace.SetBounds(6, 6, pnlReplaceBrowser.Width - 12, 0, BoundsSpecified.X | BoundsSpecified.Y | BoundsSpecified.Width); BrowserRepl[1].SetBounds(fbCommand[0].Width + 15, sepReplace.Top + sepReplace.Height, pnlReplaceBrowser.Width - 40, pnlReplaceBrowser.Height - sepReplace.Top - sepReplace.Height - 6); } switch(gProps.ModItemBrowser.gParentApp) { case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE : //hide stock quantity panels break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.RECEIPT : //always show item info pnlItemInfo.Top = pnlMainBrowser.Top + pnlMainBrowser.Height; break; } } bBusy_FormResize = false; } private void SetInitialSize() { if (this.ContentPanel.Width * 15 < 12000 || this.Height * 15 < 8999) { this.ContentPanel.Width = 833; this.Height = 600; } } private void FillCaptions() { if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER) { lblWInfoHeader[0].Caption = m_Term.String(4850, "Purchase price"); } //FC 16.044.993 //lblWInfoHeader(1).Caption = m_Term.String(3299, "Item delivery time") lblWInfoHeader[1].Caption = m_Term.String(1836, "Time of delivery"); lblWInfoHeader[2].Caption = m_Term.String(5858, "Extra item description"); lblWInfoHeader[3].Caption = m_Term.String(1401, "Main supplier"); lblWInfoHeader[4].Caption = m_Term.String(167, "Available batches"); } private void SetItemInfoVisibility() { if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_VOORRAAD)) || !m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_MRP))) { //license Stock & Purchase Control ActionBar[BUT_MRP].Visible = false; //BR 10.822.491 Hide Item Planning button if it is Compact without license for Stock & Purchase Control // 13.926.437 Hide button completely for all Compact mode (used to check on Stock&Purchase module as well) if (m_Comp.GetOpt(OPT_COMPACT)) { ActionBar[BUT_ITEMPLAN].Visible = false; } } //FC26.191.598 yoon109184 Recurring Sales Order if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER) { ActionBar[BUT_MRP].Visible = false; } switch(gProps.ModItemBrowser.gParentApp) { case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER : fipInfo[3].Visible = true; lblWInfoHeader[3].Visible = true; break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PRODUCTION_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER : //FC26.191.598 yoon109184 Recurring Sales Order //FC 16.044.993 hide sales order price and rearrange position lblWInfoHeader[0].Visible = false; fipInfo[0].Visible = false; lblWInfoHeader[2].Top = lblWInfoHeader[3].Top; fipInfo[2].Top = fipInfo[3].Top; lblWInfoHeader[3].Top = lblWInfoHeader[0].Top; fipInfo[3].Top = fipInfo[0].Top; break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.RECEIPT : cmdSerialBatch.Visible = false; fipInfo[2].Visible = false; lblWInfoHeader[2].Visible = false; break; } } private void SetButtonVisibility() { //ngty@ 05.105.403 make sure this is set to cater for font sizes //UPGRADE_ISSUE: (2064) slui.ActionBar method actActionBar.Align was not upgraded. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2064 //// ActionBar.setAlign(DockStyle.Top); //UPGRADE_ISSUE: (2064) slui.ActionBar method actActionBar.Align was not upgraded. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2064 //// ActionBar.setAlign(DockStyle.Bottom); //temp hide this ActionBar[BUT_NEW].Visible = false; ActionBar[BUT_OPEN].Visible = false; ActionBar[BUT_COPY].Visible = false; //Check rights //BR 17.950.204 if (!m_gk.Access(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PWFUNC_ITEMCARDS)) { ActionBar.get_Button(BUT_CARD).Visible = false; } //ngty@ 08.709.652 //lohp17191 12.054.336 Use View Cost/Purchase Price rights instead if (m_gk.Access(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.VIEWCPPRICERIGHTS)) { gProps.ModItemBrowser.gbShowPurchaseInfo = true; } //ngty@ 09.012.744 bHaveMaintainItem = m_gk.Access(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PWFUNC_MAINTAIN_ITEMS); //angs BR 20.756.775 Hide <add>, <Edit> and copy buttons with E-Branche if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_POS_BRANCHE_OFFICE))) { fbCommand[0].Visible = bHaveMaintainItem; fbCommand[1].Visible = bHaveMaintainItem; ActionBar[BUT_COPY].Visible = bHaveMaintainItem; // 11.894.077 lohp17191 } else { fbCommand[0].Enabled = false; fbCommand[1].Enabled = false; } //[jose276913 14-03-2011 16:10 (GMT +08:00)] 38.542.616 if (bUseCentralData) { fbCommand[0].Visible = false; ActionBar[BUT_COPY].Visible = false; } if (!m_gk.Access(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PWFUNC_MRP)) { ActionBar.get_Button(BUT_MRP).Visible = false; } //EG2003 Standard Edition Options if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_STANDARD_EDITION))) { ActionBar.get_Button(BUT_REPLACE).Visible = false; //ngty@ 07.342.911 ActionBar.get_Button(BUT_ITEMPLAN).Visible = true; //>> Br : 09.795.509 ActionBar.get_Button(BUT_MRP).Visible = false; //ngty@ 07.995.502 } else { //>>Br: 10.026.364 ActionBar.get_Button(BUT_ITEMPLAN).Visible = !m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_MRP)); //>> Br : 09.795.509 } //hide the serial batch info button & label if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_SERIEBATCH))) { lblWInfoHeader[4].Visible = false; cmdSerialBatch.Visible = false; } if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_MAGAZIJNEN)) || m_Comp.GetOpt(OPT_COMPACT)) { ActionBar.get_Button(BUT_BYWAREHOUSE).Visible = false; } //replacement item browser is only applicable for sales order and sales invoice //FC26.191.598 yoon109184 Recurring Sales Order if (m_Comp.GetOpt(OPT_COMPACT) || (gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER && gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER && gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE && gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER)) { ActionBar.get_Button(BUT_REPLACE).Visible = false; } //no item planning in compact if (m_Comp.GetOpt(OPT_COMPACT)) { ActionBar.get_Button(BUT_MRP).Visible = false; } m_bItemRange = false; //ngty@ set this to false first //all items is only applicable for purchase order if (gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER) { //FC26.191.598 yoon109184 Recurring Sales Order if (gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER && gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER) { // lohp17191 11.091.282 if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE) { GetCicmpyGuid(ref gProps.ModItemBrowser.gDebtorOrCreditorGuid, ref gProps.ModItemBrowser.gPriceAgreementExists); } ActionBar.get_Button(BUT_ALLITEMS).Visible = false; ActionBar.get_Button(BUT_BYSUPPLIER).Visible = false; } else { //ngty@ 08.197.791 all this hassle!! GetCicmpyGuid(ref gProps.ModItemBrowser.gDebtorOrCreditorGuid, ref gProps.ModItemBrowser.gPriceAgreementExists); //lohp17191 11.091.282 retrieve guid for order debtor if we're in order mode if (gProps.ModItemBrowser.gOrderDebtor == gProps.ModItemBrowser.gDebtorOrCreditor) { gProps.ModItemBrowser.gOrderDebtorGuid = gProps.ModItemBrowser.gDebtorOrCreditorGuid; gProps.ModItemBrowser.gOrderDebtorPriceAgreement = gProps.ModItemBrowser.gPriceAgreementExists; } else { GetCicmpyGuid(ref gProps.ModItemBrowser.gOrderDebtorGuid, ref gProps.ModItemBrowser.gOrderDebtorPriceAgreement, true); } //UPGRADE_WARNING: (1068) m_Set.Setting() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_PRIJSAFSPRAAK)) && gProps.ModItemBrowser.gPriceAgreementExists && Convert.ToString(m_Set.Setting("orders\\assortiment_inorder,c", "U")) == "P") { m_bItemRange = true; //BR 21.353.825 ActionBar.EnableButton(BUT_BYSUPPLIER, !ActionBar.get_Button(BUT_ALLITEMS).Enabled); } else { ActionBar.get_Button(BUT_ALLITEMS).Visible = false; ActionBar.get_Button(BUT_BYSUPPLIER).Visible = false; m_bItemRange = false; } } } else { //BR 21.353.825 ActionBar.EnableButton(BUT_BYSUPPLIER, !ActionBar.get_Button(BUT_ALLITEMS).Enabled); ActionBar.get_Button(BUT_MRP).Visible = false; } //BR 03.203.111 //POS invoice doesn't need the 'SELECT' button for item browser type 1 (stock-positions) if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER && gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { ActionBar.get_Button(BUT_SELECT).Visible = false; } if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE && gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_POS_INVOICE) { ActionBar.get_Button(BUT_BYWAREHOUSE).Visible = false; } //dummy button to set focus to when the browser is disabled during the calculations of stock positions ActionBar.get_Button(BUT_DUMMY).Visible = false; //angs BR 20.756.775 Hide <add>, <Edit> and copy buttons with E-Branche if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_POS_BRANCHE_OFFICE))) { fbCommand[0].BitmapID = GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.e4reslibIDs.IDB_ADDROW; fbCommand[1].BitmapID = GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.e4reslibIDs.IDB_EDITROW; } ActionBar[BUT_CLOSE].Visible = true; } private void SetupBrowsers(string sType) { string sHideExplode = ""; string InvisibleCols = ""; string ExtraColInfo = ""; string OtherColInfo = ""; //Dim TermString As String string sTables = ""; //BR41.204.403 tans285567 - Precision of prices is not rounded correctly int pricePrecision = 0; try { switch(gProps.ModItemBrowser.gParentApp) { //FC26.191.598 yoon109184 Recurring Sales Order case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_INVOICE : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER : case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SALES_RECURRING_ORDER : sTables = "items,ItemAccounts,recipe,itemassortment"; break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER : sTables = "items,ItemAccounts,recipe,artlev"; break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.RECEIPT : sTables = "items,ItemAccounts,recipe"; break; } //'BR 18.128.324 Add user number 9 -13 InvisibleCols = "items.ID, " + "items.UserNumber_01, items.UserNumber_02, items.UserNumber_03, items.UserNumber_04, items.UserNumber_05, items.UserNumber_06, items.UserNumber_07, items.UserNumber_08, items.UserNumber_09, items.UserNumber_10, items.UserNumber_11, items.UserNumber_12, items.UserNumber_13, " + "items.UserField_01, items.UserField_02, items.UserField_03, items.UserField_04, items.UserField_05, items.UserField_06, items.UserField_07, items.UserField_08, items.UserField_09,items.UserField_10, " + "items.UserDate_01, items.UserDate_02, items.UserDate_03, items.UserDate_04,items.UserDate_05, " + "items.UserYesNo_01, items.UserYesNo_02, items.UserYesNo_03, items.UserYesNo_04, items.UserYesNo_05"; //ngty@ Make the option available but not visible when showing all items in prod ord //BR 12.447.878 gappMode = TYPE_PROD_ALL not link to recipe table anymore, not show recepe version and mainvesion // If gParentApp = INTERNAL_ORDER And gAppMode = TYPE_PROD_ALL Then // InvisibleCols = InvisibleCols & ",recipe.version,recipe.MainVersion" // End If if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_STANDARD_EDITION))) { sHideExplode = "1"; } else { sHideExplode = ""; } //BR41.204.403 tans285567 - Precision of prices is not rounded correctly pricePrecision = m_CurCalc.CurrencyPricePrecision(); //tanc30792 [BR 09.700.237] [2004 May 31] - Change "Supplier's code" to "Supplier's item code" //BR41.204.403 tans285567 - Precision of prices is not rounded correctly //Change the Sales Price and Purchase Price precision from 2 to pricePrecision. OtherColInfo = "Items.Itemcode, 1102, ItlblWInfoHeaderem code,14;" + "ItemAccounts.ItemCodeAccount, 5501, Supplier's item code,14;" + "IADebtor.ItemCodeAccount, 24621,Customer item code,14;" + "[Items.Description], 4243, Description,30;" + "ItemAccounts.PurchasePackage, 4033, Purchase unit,14;" + "Items.IsSalesItem, 8771, Sales,,,,,1;" + "Items.IsPurchaseItem, 8674, Purchase,,,,,1;" + "[Items.IsAssembled], 0652, Make,,,,,1;" + "Items.IsExplode, 22169, Explode,,,," + sHideExplode + ",1;" + "Items.IsStockItem, 8859, Stock,,,,,1;" + "Items.IsSerialNumberItem, 31404, Serial,,,,,1;" + "Items.IsBatchItem, 4007, Batch,,,,,1;" + "Items.Condition, 4332, Status;" + "HasPicture, 9863, Picture,,,,,1;" + "SalesPrice, 4851, Sales Price, 10, " + pricePrecision.ToString() + ";" + "PurchasePrice, 4850, Purchase price, 10, " + pricePrecision.ToString() + ";" + "MainSupplier, 5098, Supplier, 45;" + "ItemAccounts.ItemCodeAccount, 5501, Supplier's item code;" + "Currency, 8509, Currency;" + "Items.Searchcode, 1816, Search code;" + "Items.Warehouse, 5071, Main Warehouse;" + "Recipe.Version, 3823, Version,,,1;" + "Recipe.MainVersion,8949,Main version,10,,,,1;"; //BR 18.128.324 Add user number 9 -13 //TermString = m_Term.String(8915, "Extra") ExtraColInfo = "items.UserNumber_01,20993,Items : UserNumber_01;" + "items.UserNumber_02,21007,Items : UserNumber_02;" + "items.UserNumber_03,21302,Items : UserNumber_03;" + "items.UserNumber_04,21307,Items : UserNumber_04;" + "items.UserNumber_05,21357,Items : UserNumber_05;" + "items.UserNumber_06,21389,Items : UserNumber_06;" + "items.UserNumber_07,21533,Items : UserNumber_07;" + "items.UserNumber_08,21555,Items : UserNumber_08;" + "items.UserNumber_09,13518,Items : UserNumber_09;" + "items.UserNumber_10,13525,Items : UserNumber_10;" + "items.UserNumber_11,13526,Items : UserNumber_11;" + "items.UserNumber_12,13527,Items : UserNumber_12;" + "items.UserNumber_13,13529,Items : UserNumber_13;"; ExtraColInfo = ExtraColInfo + "items.UserField_01, 20064,Items : UserField_01,60;" + "items.UserField_02, 20099,Items : UserField_02,60;" + "items.UserField_03, 20129,Items : UserField_03,60;" + "items.UserField_04, 20366,Items : UserField_04,60;" + "items.UserField_05, 20520,Items : UserField_05,60;" + "items.UserField_06, 20531,Items : UserField_06,60;" + "items.UserField_07, 20586,Items : UserField_07,60;" + "items.UserField_08, 20665,Items : UserField_08,60;" + "items.UserField_09, 20703,Items : UserField_09,60;" + "items.UserField_10, 20990,Items : UserField_10,60;"; ExtraColInfo = ExtraColInfo + "items.UserDate_01, 19397,Items : UserDate_01;" + "items.UserDate_02, 19442,Items : UserDate_02;" + "items.UserDate_03, 19461,Items : UserDate_03;" + "items.UserDate_04, 19463,Items : UserDate_04;" + "items.UserDate_05, 19531,Items : UserDate_05;"; ExtraColInfo = ExtraColInfo + "items.UserYesNo_01, 21567,Items : UserYesNo_01,,,,,1;" + "items.UserYesNo_02, 19240,Items : UserYesNo_02,,,,,1;" + "items.UserYesNo_03, 19298,Items : UserYesNo_03,,,,,1;" + "items.UserYesNo_04, 19339,Items : UserYesNo_04,,,,,1;" + "items.UserYesNo_05, 19371,Items : UserYesNo_05,,,,,1;"; if (sType == BROWSE_MAIN) { //ControlArrayHelper.UnloadControl(this, "Browser", 1); //ControlArrayHelper.LoadControl(this, "Browser", 1); m_App.ConnectObject(Browser[1], m_Comp, m_Term); if (gProps.ModItemBrowser.gbMultiSelect) { Browser[1].MultiSelect = true; Browser[1].MultiSelectMode = 1; } else { Browser[1].MultiSelect = false; } Browser[1].SelectionEvents = true; Browser[1].Visible = true; Browser[1].StorageKey = "Exact Globe 2003\\[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode; Browser[1].ColInfo = OtherColInfo + ExtraColInfo; Browser[1].InvisibleCols = InvisibleCols; Browser[1].Tables = sTables; //ngty@ performance settings Browser[1].LockMode = (short) Exact.DataLayer.LockModes.edlReadOnly; Browser[1].Options = (int) Exact.DataLayer.QueryOptions.edlOptFetchBackground; //BR 16.409.543 don't set this, since now have the functionality of previous,next,and number of row to return //these will cause the no valid EDL object error when retrieving large record //.RowsetSize = 50 //.FetchInterval = 100 } else { //ControlArrayHelper.UnloadControl(this, "BrowserRepl", 1); //ControlArrayHelper.LoadControl(this, "BrowserRepl", 1); m_App.ConnectObject(BrowserRepl[1], m_Comp, m_Term); if (gProps.ModItemBrowser.gbMultiSelect) { BrowserRepl[1].MultiSelect = true; BrowserRepl[1].MultiSelectMode = 1; } else { BrowserRepl[1].MultiSelect = false; } BrowserRepl[1].SelectionEvents = true; BrowserRepl[1].Visible = true; BrowserRepl[1].StorageKey = "Exact Globe 2000\\[" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + "]-Replacement-" + gProps.ModItemBrowser.gParentApp + "-" + gProps.ModItemBrowser.gAppMode; BrowserRepl[1].ColInfo = OtherColInfo + ExtraColInfo; BrowserRepl[1].InvisibleCols = InvisibleCols; BrowserRepl[1].Tables = "items,itemassortment,artver"; } FormResize(); } catch { } } private void FillItemInfo() { //ngty@ 08.789.273 if (!(ItemFilter.bShowdata || ItemFilter.bShowItemData)) { return; } //check if its needed in the first place if (IsEdlBusy()) { return; } //mandatory check on the edl threading string sSQL = ""; string sSerialOrBatch = ""; fipInfo[0].Value = ""; fipInfo[1].Value = ""; fipInfo[2].Value = ""; fipInfo[3].Value = ""; //delivery time + sales price if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER) { //ngty@ 05.918.865 sSQL = "SELECT ItemAccounts.DeliveryTimeInDays, Items.SalesPackagePrice, ItemAccounts.PurchasePrice, Items.lev_crdnr, cicmpy.cmp_name, ItemAccounts.PurchasePackage " + " FROM items " + " LEFT JOIN cicmpy ON cicmpy.crdnr = items.lev_crdnr AND cicmpy.crdnr IS NOT NULL AND items.lev_crdnr IS NOT NULL" + " LEFT JOIN ItemAccounts ON items.ItemCode = ItemAccounts.ItemCode AND Items.lev_crdnr = ItemAccounts.crdnr" + " WHERE items.ItemCode = ?"; } else { sSQL = "SELECT ItemAccounts.DeliveryTimeInDays, Items.SalesPackagePrice, ItemAccounts.PurchasePrice, Items.lev_crdnr, cicmpy.cmp_name, Items.PackageDescription " + " FROM items " + " LEFT JOIN cicmpy ON cicmpy.crdnr = items.lev_crdnr AND cicmpy.crdnr IS NOT NULL AND items.lev_crdnr IS NOT NULL" + " LEFT JOIN ItemAccounts ON items.ItemCode = ItemAccounts.ItemCode AND Items.lev_crdnr = ItemAccounts.crdnr" + " WHERE items.ItemCode = ?"; } Exact.DataLayer.EdlObject vInfo = m_Conn.Query(sSQL, gItemCode, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vInfo)) { fipInfo[1].Value = (System.String.IsNullOrWhiteSpace((string) vInfo[0])) ? "" : ((string) vInfo[0]) + " " + m_Term.String(1722, "Days"); fipInfo[3].Value = ((string) vInfo[3]).Trim() + " " + StringsHelper.Replace((string) vInfo[4], "&", "&&", 1, -1, CompareMethod.Binary); if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER) { //purchase currency gsValutacode fipInfo[0].Value = (System.String.IsNullOrWhiteSpace((string) vInfo[2])) ? "" : Exact.SystemLayer.API.vbconv.EPriceToStr(gsValutaCode, (double) vInfo[2]) + " " + gsValutaCode + " / " + ((string) vInfo[5]); //FC 16.044.993 sales price is not needed // Else // 'ngty@ 04.088.070 // Dim dDate As Date // Dim i As Integer // dDate = VBGetSysDate // // sSQL = "SELECT TOP 1 staffl.prijs83, stfoms.validfrom, stfoms.validto, items.PackageDescription, stfoms.valcode " & _ // ' " FROM stfoms" & _ // ' " INNER JOIN staffl ON stfoms.prijslijst = staffl.prijslijst" & _ // ' " LEFT OUTER JOIN items ON staffl.artcode = items.itemcode" & _ // ' " WHERE stfoms.main_pricelist = 1 AND staffl.artcode = ?" // vInfo = m_Conn.Query(sSQL, gItemCode, edlNoNulls) // // If Not IsEmpty(vInfo) Then // If (IsEmpty(vInfo(3)) Or vInfo(3) >= dDate) And vInfo(2) <= dDate Then // fipInfo(0) = EPriceToStr(vInfo(5), vInfo(1)) & " " & vInfo(5) & " / " & vInfo(4) // End If // End If } if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.PURCHASE_ORDER) { fipInfo[3].Value = ((string) vInfo[3]).Trim() + " " + StringsHelper.Replace((string) vInfo[4], "&", "&&", 1, -1, CompareMethod.Binary); } } else { fipInfo[1].Value = ""; fipInfo[3].Value = ""; } //yang29501 BR# 12.462.228: Take the 1st Extra Item Description if gExArtCd is empty if ((((gProps.ModItemBrowser.gExArtCd) is null) ? 0 : gProps.ModItemBrowser.gExArtCd.Trim().Length) > 0) { //extra item description //UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081 vInfo = m_Conn.Query("SELECT artext.tekst FROM artext WHERE artext.ex_artcode = ? AND artext.artcode = ?", new Exact.DataLayer.EdlObject[]{gProps.ModItemBrowser.gExArtCd, gItemCode}, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); } else { //UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081 vInfo = m_Conn.Query("SELECT Top 1 artext.tekst FROM artext WHERE artext.artcode = ?", new Exact.DataLayer.EdlObject[]{gItemCode}, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); } if ((((vInfo) is null) ? 0 : vInfo.Length()) > 0) { fipInfo[2].Value = ((string) vInfo).Trim(); fipInfo[2].Visible = true; } else { fipInfo[2].Visible = false; } //BR 17.021.427 enable the available serial/batch button for all the entries if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_SERIEBATCH))) { if (IsSerialOrBatchItem(gItemCode, ref sSerialOrBatch)) { if (gProps.ModItemBrowser.gParentApp != GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.RECEIPT || m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_E_SERIEBATCH))) { lblWInfoHeader[4].Visible = true; lblWInfoHeader[4].Caption = (sSerialOrBatch == "B") ? m_Term.String(167, "Available batches") : m_Term.String(166, "Available serial numbers"); cmdSerialBatch.Visible = true; } else { lblWInfoHeader[4].Visible = false; cmdSerialBatch.Visible = false; } } else { lblWInfoHeader[4].Visible = false; cmdSerialBatch.Visible = false; } } //display picture LoadImage(); } public void LoadImage() { ref_Renamed.set_Char("Picture", ""); imgPicture.Image = null; string sFileName = ""; if (ref_Renamed.Find1(gItemCode)) { if ((((ref_Renamed.get_Char("PictureFileName")) is null) ? 0 : ref_Renamed.get_Char("PictureFileName").Length) > 0) { ref_Renamed.set_Long("Picture", (int) Exact.DataLayer.edlBlobMedium.edlBlobFile); sFileName = ref_Renamed.get_Char("Picture"); if (((int) (new FileInfo(sFileName)).Length) != 0) { using (FileStream stream = new FileStream(sFileName, FileMode.Open, FileAccess.Read)) { imgPicture.Image = Image.FromStream(stream); } } } } } //UPGRADE_NOTE: (7001) The following declaration (IsHourOrExtraItem) seems to be dead code More Information: https://www.mobilize.net/vbtonet/ewis/ewi7001 //private object IsHourOrExtraItem(string sItemCode) //{ //if (IsEdlBusy()) //{ //return null; //} //mandatory check on the edl threading // // //if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(sItemCode)) //{ //return null; //} // //Exact.DataLayer.EdlObject vInfo = m_Conn.Query("SELECT Type, ItemCode FROM items WHERE ItemCode = ?", sItemCode, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); //if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vInfo)) //{ //BR:12.368.269 chin31862 15/09/2004 //If machine Hour also open Hour Screen //gbIsHourItem = ((string) vInfo[0]) == "L" || ((string) vInfo[0]) == "M"; //gbIsExtraItem = ((string) vInfo[0]) == "P"; //} //return null; //} public bool IsSerialOrBatchItem(string sItemCode, ref string sSerialOrBatch) { bool result = false; if (IsEdlBusy()) { return result; } //mandatory check on the edl threading string sSQL = "SELECT IsSerialNumberItem, IsBatchItem FROM items WHERE (IsSerialNumberItem=1 OR IsBatchItem=1) AND itemcode=?"; Exact.DataLayer.EdlObject vInfo = m_Conn.Query(sSQL, sItemCode, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls); if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vInfo)) { result = true; sSerialOrBatch = (((double) vInfo[0]) == 1) ? "S" : "B"; } return result; } private void ClearAllValues(bool bClearInfo = true) { if (!bClearInfo) { fipInfo[0].Value = ""; fipInfo[1].Value = ""; fipInfo[2].Value = ""; fipInfo[3].Value = ""; fipInfo[2].Visible = false; //FC 16.044.993 imgPicture.Image = null; } } //BR 16.297.817 //UPGRADE-WARNING: Parameter nSekunden was changed from byref to byval. private void Delay(int nSekunden) { int TimeOut = Convert.ToInt32((Environment.TickCount / 1000d) + nSekunden); do { Application.DoEvents(); } while(TimeOut >= (Environment.TickCount / 1000d)); } //BR 16.297.817 //This is to solved for edl still busy fetching data but already coming here to check for browser(1).numrow, it'll give wrong numrow returned //this is normal when the record listing is long private bool EdlBusyCheck() { bool result = false; int i = 0; if (IsEdlBusy()) { while(i != 20000) { Debug.WriteLine(i.ToString() + "-" + Browser[1].NumRows.ToString()); //Delay(Convert.ToInt32(0.8d)); i++; if (!IsEdlBusy()) { result = true; break; } }; } else { result = true; } return result; } private void DoButtons(bool bEnable) { //Call actActionBar.EnableButton(BUT_OPEN, bEnable) if (!pnlReplaceBrowser.Visible) { // If gbMultiSelect Then // If Not Browser(1).NumRows > 0 Then // fbCommand(1).Enabled = False // Else // fbCommand(1).Enabled = Browser(1).SelectedRowCount > 0 // End If // Else // // End If ActionBar.EnableButton(BUT_OPEN, bEnable); ActionBar.EnableButton(BUT_BYWAREHOUSE, bEnable); ActionBar.EnableButton(BUT_CARD, bEnable); ActionBar.EnableButton(BUT_MRP, bEnable); ActionBar.EnableButton(BUT_COPY, bEnable); //>>Br:10.026.364 ActionBar.EnableButton(BUT_ITEMPLAN, bEnable); } else { // fbCommand(1).Enabled = Not BrowserRepl(1).SelectedRowCount > 1 ActionBar.EnableButton(BUT_OPEN, !(BrowserRepl[1].SelectedRowCount > 1)); ActionBar.EnableButton(BUT_BYWAREHOUSE, !(BrowserRepl[1].SelectedRowCount > 1)); ActionBar.EnableButton(BUT_CARD, !(BrowserRepl[1].SelectedRowCount > 1)); ActionBar.EnableButton(BUT_MRP, !(BrowserRepl[1].SelectedRowCount > 1)); ActionBar.EnableButton(BUT_COPY, !(BrowserRepl[1].SelectedRowCount > 1)); //>>Br:10.026.364 ActionBar.EnableButton(BUT_ITEMPLAN, !(BrowserRepl[1].SelectedRowCount > 1)); } if (gProps.ModItemBrowser.gbMultiSelect) { if (!(Browser[1].NumRows > 0)) { fbCommand[1].Enabled = false; ActionBar.EnableButton(BUT_SELECT, false); ActionBar.EnableButton(BUT_CARD, false); ActionBar.EnableButton(BUT_MRP, false); ActionBar.EnableButton(BUT_COPY, false); //>>Br:10.026.364 ActionBar.EnableButton(BUT_ITEMPLAN, false); } else { //angs BR 20.756.775 Hide <add>, <Edit> and copy buttons with E-Branche if (!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_POS_BRANCHE_OFFICE))) { fbCommand[1].Enabled = Browser[1].SelectedRowCount > 0 || BrowserRepl[1].SelectedRowCount > 0; } ActionBar.EnableButton(BUT_SELECT, Browser[1].SelectedRowCount > 0 || BrowserRepl[1].SelectedRowCount > 0); ActionBar.EnableButton(BUT_CARD, Browser[1].SelectedRowCount > 0 || BrowserRepl[1].SelectedRowCount > 0); ActionBar.EnableButton(BUT_MRP, Browser[1].SelectedRowCount > 0 || BrowserRepl[1].SelectedRowCount > 0); ActionBar.EnableButton(BUT_COPY, Browser[1].SelectedRowCount > 0 || BrowserRepl[1].SelectedRowCount > 0); //>>Br:10.026.364 ActionBar.EnableButton(BUT_ITEMPLAN, Browser[1].SelectedRowCount > 0 || BrowserRepl[1].SelectedRowCount > 0); } } else { //09.216.558 lohp17191 Make sure its only for Production orders, and not Internal Use screen as well. //add by chan24680 for br 09.216.558, for discontinue item for production order //user cannot select it. if (gProps.ModItemBrowser.gParentApp == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.INTERNAL_ORDER && (gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_FILLED || gProps.ModItemBrowser.gAppMode == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.TYPE_PROD_ALL)) { //BR 23.801.919 - should allow to select discontinued item for PrO BOM lines (Make item line should be disallowed) // - added gbAllowDiscontinued checking //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 if (Convert.ToString(Browser[1].get_value("Item.Condition")) == GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.ITEM_STATUS_DISCONTINUED && !gProps.ModItemBrowser.gbAllowDiscontinued) { ActionBar.EnableButton(BUT_SELECT, false); } else { ActionBar.EnableButton(BUT_SELECT, bEnable); } } else { ActionBar.EnableButton(BUT_SELECT, bEnable); } ActionBar.EnableButton(BUT_CARD, bEnable); ActionBar.EnableButton(BUT_MRP, bEnable); ActionBar.EnableButton(BUT_COPY, bEnable); //>>Br:10.026.364 ActionBar.EnableButton(BUT_ITEMPLAN, bEnable); } //'ngty@ TEMP only - remove the actual button later!!! ActionBar.get_Button(BUT_BYWAREHOUSE).Visible = false; } //ngty@ function returns TRUE if the edl is busy in a background fetch private bool IsEdlBusy() { bool result = false; try { //BR 16.409.543 add error handler Exact.DataLayer.IEdlQuery qu = null; result = false; qu = (Exact.DataLayer.IEdlQuery) Browser[1].QueryObject; if (qu.BackgroundFetch((int) Exact.DataLayer.EdlBackgroundFetchOptions.edlInBackgroundFetch)) { result = true; } qu = null; } catch { result = true; } return result; } private void SpawnItemCard() { Exact.SystemLayer.Interfaces.IValueSet vs = new Exact.SystemLayer.Common.ValueSet(); string sItemCode = ""; if (BrowserRepl[1].Visible && BrowserRepl[1].SelectedRowCount > 0) { //UPGRADE_WARNING: (1068) BrowserRepl().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(BrowserRepl[1].get_value("items.ItemCode")); } else { //UPGRADE_WARNING: (1068) Browser().Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 sItemCode = Convert.ToString(Browser[1].get_value("items.ItemCode")); } vs.Clear(); vs.Add("record", sItemCode); if (m_Comp.GetOpt(OPT_COMPACT)) { vs.Add("report", "B"); vs.Add("GroupBy", "A"); } else { vs.Add("report", "S"); if (~((System.String.IsNullOrWhiteSpace(gProps.ModItemBrowser.gWareHs)) ? -1 : 0) != 0) { vs.Add("GroupBy", "A"); // BR 12.626.697 - Warehouse code is wrongly pass in in item card if (!ItemFilter.IsWarehouseAll) { vs.Add("Filter1", "[magcode]"); vs.Add("[magcode]", gProps.ModItemBrowser.gWareHs); } } else { vs.Add("GroupBy", "W"); } } Exact.SystemLayer.Interfaces.ISpawner spnApp = (Exact.SystemLayer.Interfaces.ISpawner) Exact.SystemLayer.API.misc.GetApp(); spnApp.Spawn("ESTKITEMCARD.EXE", Exact.SystemLayer.Interfaces.SpawnFlags.spawnContinue, m_Comp, null, vs); //ngty@ 05.138.046 //gProps.ModItemBrowser.ForceToForeGround(); } //BR 23.650.118 - store the navigation value for the sorting columns in m_sNavItemBrowserCol // - so that the where clause could be built based on these values in case user navigate the record (next/ previous) private void StoreNavigateValue() { string[] arrCol = (string[]) m_sNavItemBrowserCol.Split(','); m_sNavItemBrowserVal = ""; foreach (string arrCol_item in arrCol) { //UPGRADE_WARNING: (1068) Browser().RowValue() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 m_sNavItemBrowserVal = Convert.ToString(m_sNavItemBrowserVal) + Convert.ToString(Browser[1].get_RowValue(Browser[1].NumRows, arrCol_item)) + "#¿¢"; //BR 25.668.309 - When Sorting column containing "," in the data, then will cause RTE, thus change to use "#¿¢" in stead of "," } // When the user clicks on Next, push the last-row item onto the stack and then set // the last-row item as the starting point(by assigning to m_sNavItemBrowserVal) //UPGRADE_WARNING: (1068) m_sNavItemBrowserVal of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 m_sNavItemBrowserVal = Convert.ToString(m_sNavItemBrowserVal).Substring(0, Math.Min((((m_sNavItemBrowserVal) is null) ? 0 : Convert.ToString(m_sNavItemBrowserVal).Length) - 1, Convert.ToString(m_sNavItemBrowserVal).Length)); m_oStackItemNav.Push(m_sNavItemBrowserVal); } //FC 16.045.238 Item browser navigation //UPGRADE-WARNING: Parameter BtnClicked was changed from byref to byval. private void ItemFilter_NavButtonClick(Object Sender, ItemFilter.NavButtonClickEventArgs e) { GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton BtnClicked = e.BtnClicked; gBtnClicked = BtnClicked; switch(BtnClicked) { case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext : // When the user clicks on Next, push the last-row item onto the stack and then set // the last-row item as the starting point(by assigning to m_sNavItemBrowserVal) //BR 23.650.118 - no result shown when pressing on <Next> button if user make use of "Add to sorting order" option // - use the new function "StoreNavigateValue" instead StoreNavigateValue(); //Call m_oStackItemNav.Push(Browser(1).RowValue(Browser(1).NumRows, m_sNavItemBrowserCol)) //m_sNavItemBrowserVal = Browser(1).RowValue(Browser(1).NumRows, m_sNavItemBrowserCol) if (m_iMaxRows != ItemFilter.MaxRows) { m_iMaxRows = ItemFilter.MaxRows; m_oStackItemNav.Clear(); //do not clear, else after changing row number and search, when click on next btn, the record won't nagivate //m_sNavItemBrowserVal = "": m_sNavItemBrowserCol = "" } RefreshBrowser(); //BR 16.297.817 DetermineNavBtnState(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.NEXTNAV_REFRESH); break; case GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious : // Pop one item off the stack, and then retrieve the topmost item m_oStackItemNav.Pop(); //UPGRADE_WARNING: (1068) m_oStackItemNav.Value of type Variant is being forced to Scalar. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068 m_sNavItemBrowserVal = m_oStackItemNav.Value; RefreshBrowser(); // if the stack is empty, disable the Prev and enabled the Next if (m_oStackItemNav.Size == 0) { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); } else { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, true); } //next button always enable when previous button is clicked ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, true); break; } //FC 16.044.993 clear item info ClearAllValues(false); } public void Init(Exact.SystemLayer.Interfaces.IApplication vApp, Exact.SystemLayer.Interfaces.ITranslator vTerm, Exact.SystemLayer.Interfaces.ISettings vSett, Exact.DataLayer.IEdlConnection vConnection) { m_App = vApp; m_Term = vTerm; m_Comp = vApp.DefaultCompany; m_Conn = vConnection; m_gk = (Exact.SystemLayer.Interfaces.IGateKeeper)m_Comp.GateKeeper; m_Set = (Exact.SystemLayer.Interfaces.ISettings)m_Comp; ref_Renamed = m_Conn.CreateRef("Items", "ItemCode", "PictureFileName,Picture", Exact.DataLayer.LockModes.edlReadOnly); m_oStackItemNav = new clsStack(); //FC 16.045.238 Item browser navigation //BR41.204.403 tans285567 - Precision of prices is not rounded correctly m_CurCalc = m_Comp.CurrencyCalculator; GetSettings(); LoadBrowser(); ItemFilter.NoRefresh = true; hAncient = Exact.SystemLayer.API.Vsb.SetOldApiCompatibility(m_App, m_Comp); ItemFilter.ShowAssortment(!m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_STANDARD_EDITION))); lUserID = m_Comp.User.ID; //UPGRADE_WARNING: (2065) Form property frmMain.Controls has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065 //Exact.SystemLayer.API.CTL.InitControls(ContainerHelper.Controls(this), m_Term, m_App.DefaultCompany); //UPGRADE_WARNING: (2065) Form property frmMain.Controls has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065 m_App.ConnectControls(this.Controls, m_Comp, m_Term); SetFormCaptions(); Exact.SystemLayer.API.misc.EfcSetAccessKeys(efc); ActionBar[BUT_CLOSE].Visible = true; //[jose276913 14-03-2011 16:10 (GMT +08:00)] 38.542.616 if (m_Comp.GetOpt(Convert.ToInt16(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.Options.OPT_CENTRAL_MASTER_DATA))) { LoadObjCMDMToolsGeneral(); bUseCentralData = m_oCMDMTools.UseCentralMasterData; m_oCMDMTools = null; } ResetItemBrowser(false); SetInitialSize(); } //UPGRADE-WARNING: Parameter bForceFocus was changed from byref to byval. public void ResetItemBrowser(bool bForceFocus = true) { bShowReplaceBrowser = false; Initializeflags(); SetFormControlColors(); //SetFonts(); FillCaptions(); SetButtonVisibility(); SetItemInfoVisibility(); FillDefaulFilterValues(true); RefreshBrowser(); //FC 16.045.238 Item browser navigation ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnPrevious, false); if (Browser[1].NumRows == 0) { ItemFilter.EnableNavButton(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.NavButton.btnNext, false); } else { //BR 16.297.817 DetermineNavBtnState(GlobalInterfaces.GI_Exact.Inventory.ItemBrowser.modItemBrowser.SEARCH_REFRESH); } m_iMaxRows = ItemFilter.MaxRows; ItemFilter.NoRefresh = false; //BR 16.297.817 set tab index for browser(1) = browser(0) here and not in loadbrowser() else will not set properly Browser[1].TabIndex = 3; //Browser(0).TabIndex BrowserRepl[1].TabIndex = 4; //BrowserRepl(0).TabIndex if (gProps.ModItemBrowser.gbMultiSelect) { Browser[1].SelectRow(1, true); Browser[1].CurrentRow = 1; } else { Browser[1].CurrentRow = 1; } //BR 23.389.323 Focus issue if (System.String.IsNullOrWhiteSpace(gProps.ModItemBrowser.gSelectArtCd)) { return; } //br: 21.126.896 if (bForceFocus && Browser[1].NumRows > 0) { Exact.SystemLayer.Common.PInvoke.SafeNative.user32.SetFocus(pnlMainBrowser.Handle); ; Exact.SystemLayer.Common.PInvoke.SafeNative.user32.SetFocus(Browser[1].Handle); SendKeys.SendWait("\t"); } } protected override void DestroyHandle() { if (!Modal || Disposing) base.DestroyHandle(); } private void ItemFilter_ReassignHotKeys(Object Sender, EventArgs e) { Exact.SystemLayer.Interfaces.IHotKeys H = m_App.HotKeys(this.Handle); H.Initialize(this.Handle, m_Term); H.MarkAll(); H.Assign(); H = null; } //[jose276913 14-03-2011 16:10 (GMT +08:00)] 38.542.616 //Initialisation of CMDM tools. private void LoadObjCMDMToolsGeneral() { if (m_oCMDMTools is null) { m_oCMDMTools = GlobalInterfaces.Factory.CreateInstance<GlobalInterfaces.GI_Exact.Cmdm.Tools.IclsGeneral>(); m_App.ConnectObject(m_oCMDMTools, m_Comp, m_Term); m_oCMDMTools.Topic = gsCMDMTopicItem; } } static internal void Helper_DisposeArray<T>(ref T[] array) { if (array == null) return; foreach (T element in array) { (element as IDisposable)?.Dispose(); } Array.Clear(array, 0, array.Length); array = null; } private void UnwireEvents() { this.ActionBar.ButtonClick -= this.actActionBar_ButtonClick; this._fbCommand_1.Click -= this.fbCommand_Click; this._fbCommand_0.Click -= this.fbCommand_Click; if (_BrowserRepl_0 != null) { this._BrowserRepl_0.RowChanged -= this.BrowserRepl_RowChanged; this._BrowserRepl_0.Selected -= this.BrowserRepl_Selected; this._BrowserRepl_0.SelectionChanged -= this.BrowserRepl_SelectionChanged; } if (_Browser_0 != null) { this._Browser_0.ColumnsChanged -= this.Browser_ColumnsChanged; this._Browser_0.RowsetFetched -= this.Browser_RowsetFetched; this._Browser_0.Selected -= this.Browser_Selected; this._Browser_0.SelectionChanged -= this.Browser_SelectionChanged; } this.cmdSerialBatch.Click -= this.cmdSerialBatch_Click; if (ItemFilter != null) { this.ItemFilter.Expand -= this.ItemFilter_Expand; this.ItemFilter.ExpandProperty -= this.ItemFilter_ExpandProperty; this.ItemFilter.ForceFocus -= this.ItemFilter_ForceFocus; this.ItemFilter.ForceRefresh -= this.ItemFilter_ForceRefresh; this.ItemFilter.NavButtonClick -= this.ItemFilter_NavButtonClick; this.ItemFilter.ReassignHotKeys -= this.ItemFilter_ReassignHotKeys; } //this.Activated -= this.Form_Activated; this.Closed -= this.Form_Closed; this.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(this.Form_FormClosing); this.Resize -= this.Form_Resize; } private bool _disposing = false; private bool _frmMainDisposed = false; protected override void Dispose(bool disposing) { if (!_frmMainDisposed && disposing && !_disposing) { _disposing = true; this.Close(); UnwireEvents(); Events?.Dispose(); gProps = null; m_maint = null; ref_Renamed?.Dispose(); ref_Renamed = null; m = null; m_App = null; m_Comp = null; m_Term = null; m_Set = null; m_Conn = null; m_gk = null; m_CurCalc = null; gObjSerialBatch = null; mObjWareH = null; mObjStkQty = null; m_oStackItemNav = null; m_oCMDMTools = null; ActionBar?.Dispose(); ActionBar = null; ExactMenu?.Dispose(); ExactMenu = null; TitleBar?.Dispose(); Icon?.Dispose(); Icon = null; StatusBar?.Dispose(); StatusBar = null; frmMain.Helper_DisposeArray(ref visualControls); frmMain.Helper_DisposeArray(ref Browser); frmMain.Helper_DisposeArray(ref BrowserRepl); frmMain.Helper_DisposeArray(ref fbCommand); frmMain.Helper_DisposeArray(ref fipInfo); frmMain.Helper_DisposeArray(ref lblWInfoHeader); frmMain.Helper_DisposeArray(ref mnuMenu); components?.Dispose(); ToolTipMain?.Dispose(); _mnuMenu_0?.Dispose(); _mnuMenu_1?.Dispose(); _mnuMenu_2?.Dispose(); _mnuMenu_3?.Dispose(); _mnuMenu_4?.Dispose(); _mnuMenu_5?.Dispose(); _mnuMenu_6?.Dispose(); _mnuMenu_7?.Dispose(); _mnuMenu_8?.Dispose(); _mnuMenu_9?.Dispose(); _mnuMenu_10?.Dispose(); _mnuMenu_11?.Dispose(); _mnuMenu_12?.Dispose(); _mnuMenu_13?.Dispose(); _mnuMenu_14?.Dispose(); _mnuMenu_15?.Dispose(); _mnuMenu_16?.Dispose(); _mnuMenu_17?.Dispose(); mnuShortcut?.Dispose(); MainMenu1?.Dispose(); efc?.Dispose(); _fbCommand_1?.Dispose(); _fbCommand_0?.Dispose(); _BrowserRepl_0?.Dispose(); sepReplace?.Dispose(); pnlReplaceBrowser?.Dispose(); _Browser_0?.Dispose(); pnlMainBrowser?.Dispose(); _fipInfo_0?.Dispose(); _fipInfo_1?.Dispose(); _fipInfo_3?.Dispose(); _fipInfo_2?.Dispose(); cmdSerialBatch?.Dispose(); _lblWInfoHeader_4?.Dispose(); _lblWInfoHeader_2?.Dispose(); _lblWInfoHeader_1?.Dispose(); _lblWInfoHeader_0?.Dispose(); _lblWInfoHeader_3?.Dispose(); imgPicture?.Dispose(); pnlItemInfo?.Dispose(); ItemFilter?.Dispose(); pnlMain?.Dispose(); components = null; ToolTipMain = null; _mnuMenu_0 = null; _mnuMenu_1 = null; _mnuMenu_2 = null; _mnuMenu_3 = null; _mnuMenu_4 = null; _mnuMenu_5 = null; _mnuMenu_6 = null; _mnuMenu_7 = null; _mnuMenu_8 = null; _mnuMenu_9 = null; _mnuMenu_10 = null; _mnuMenu_11 = null; _mnuMenu_12 = null; _mnuMenu_13 = null; _mnuMenu_14 = null; _mnuMenu_15 = null; _mnuMenu_16 = null; _mnuMenu_17 = null; mnuShortcut = null; MainMenu1 = null; efc = null; _fbCommand_1 = null; _fbCommand_0 = null; _BrowserRepl_0 = null; sepReplace = null; pnlReplaceBrowser = null; _Browser_0 = null; pnlMainBrowser = null; _fipInfo_0 = null; _fipInfo_1 = null; _fipInfo_3 = null; _fipInfo_2 = null; cmdSerialBatch = null; _lblWInfoHeader_4 = null; _lblWInfoHeader_2 = null; _lblWInfoHeader_1 = null; _lblWInfoHeader_0 = null; _lblWInfoHeader_3 = null; imgPicture = null; pnlItemInfo = null; ItemFilter = null; pnlMain = null; _frmMainDisposed = true; } base.Dispose(disposing); } } }
Editor is loading...