コード例 #1
0
        public void CloseUsingExcel()
        {
            //TODO: Процесс все равно остается в диспетчере задач
            //Возможно нужно освобождать вообще все объекты, которые использовались - https://stackoverflow.com/a/28080347. ЭТО НЕ ПОМОГАЕТ
            //При этом процесс исчезает при нормальном закрытии Navis

            if (excelWorkSheets != null)
            {
                foreach (Excel._Worksheet ws in excelWorkSheets)
                {
                    //System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
                }
            }



            //Закрытие предыдущей используемой книги Excel
            if (OWB != null)
            {
                try { OWB.Close(false); } catch { }
                //System.Runtime.InteropServices.Marshal.ReleaseComObject(OWB);
                OWB = null;
            }
            //Закрытие Excel
            if (OXL != null)
            {
                try { OXL.Quit(); } catch { }
                //System.Runtime.InteropServices.Marshal.ReleaseComObject(OXL);
                OXL = null;
            }
        }
コード例 #2
0
        public void FillMandantAndFactory(WMSBusinessObject entity)
        {
            var obj = entity as OWBPos;

            if (obj == null)
            {
                return;
            }

            if (obj.OWBID_R == null)
            {
                obj.MandantID   = null;
                obj.FactoryID_R = null;
                return;
            }

            OWB owb = null;

            using (var mgr = GetManager <OWB>())
                owb = mgr.Get(obj.OWBID_R);
            obj.MandantID   = owb == null ? null : owb.MandantID;
            obj.FactoryID_R = owb == null ? null : owb.FactoryID_R;
        }