Esempio n. 1
0
 private bool CheckExistUniqueID(SAPbouiCOM.Form pForm, string pItemID)
 {
     if (pForm.DataSources.DataTables.Count > 0)
     {
         for (int i = 0; i < pForm.DataSources.DataTables.Count; i++)
         {
             if (pForm.DataSources.DataTables.Item(i).UniqueID == pItemID)
             {
                 return(true);
             }
         }
         return(false);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 2
0
 //Print Button
 private void Button1_PressedAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
 {
     try
     {
         DataTable rs = Get_MenuUID("Ủy nhiệm chi");
         if (rs.Rows.Count > 0)
         {
             oApp.ActivateMenuItem(rs.Rows[0]["MenuUID"].ToString());
             SAPbouiCOM.Form act_frm = oApp.Forms.ActiveForm;
             ((SAPbouiCOM.EditText)act_frm.Items.Item("1000003").Specific).Value = BatchNum.ToString();
             act_frm.Items.Item("1").Click();
         }
     }
     catch (Exception ex)
     {
         oApp.MessageBox("Error! " + ex.Message);
     }
 }
Esempio n. 3
0
 private void Grid0_DoubleClickAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
 {
     //throw new System.NotImplementedException();
     if (Grid0.Rows.SelectedRows.Count == 1)
     {
         DataTable rs = Get_MenuUID();
         if (rs.Rows.Count > 0)
         {
             oApp.ActivateMenuItem(rs.Rows[0]["MenuUID"].ToString());
             SAPbouiCOM.Form act_frm = oApp.Forms.ActiveForm;
             ((SAPbouiCOM.EditText)act_frm.Items.Item("1000003").Specific).Value = EditText0.Value;
             ((SAPbouiCOM.EditText)act_frm.Items.Item("1000009").Specific).Value = EditText1.Value;
             string STK = Grid0.DataTable.GetValue(1, Grid0.Rows.SelectedRows.Item(0, SAPbouiCOM.BoOrderType.ot_RowOrder)).ToString();
             ((SAPbouiCOM.EditText)act_frm.Items.Item("1000027").Specific).Value = STK;
             act_frm.Items.Item("1").Click();
         }
     }
 }
Esempio n. 4
0
    private double getItemDoubleValue(SAPbouiCOM.Form form, string id)
    {
        double ret = 0;

        try
        {
            string s = getFormEditVal(form, id);
            if (s != "")
            {
                ret = double.Parse(s.Replace("$", "").Replace(",", "").Trim());
            }
        }
        catch (Exception ex)
        {
            errorLog("Item ID: " + id + " error. " + ex.Message);
        }
        return(ret);
    }
Esempio n. 5
0
 public void SBO_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
 {
     BubbleEvent = true;
     if (pVal.Before_Action == false)
     {
         if (pVal.FormType == 142)
         {
             if (pVal.ItemUID == "1")
             {
                 if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK)
                 {
                     SAPbouiCOM.Form f1 = SubMain.SBO_Application.Forms.ActiveForm;
                     SaveAsXML(ref f1);
                 }
             }
         }
     }
 }
Esempio n. 6
0
        /// <summary>
        /// Enlaza el combobox de pagos con los datos de pagos de la BD.
        /// </summary>
        /// <param name="FormUID"></param>
        private void DefinirFormulario(string FormUID)
        {
            // Form actual.
            oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);

            // Asociar Fecha
            SAPbouiCOM.Item     oItem     = oForm.Items.Item("6");
            SAPbouiCOM.EditText oEditText = ((SAPbouiCOM.EditText)(oItem.Specific));

            oForm.DataSources.UserDataSources.Add("udsFecha", SAPbouiCOM.BoDataType.dt_DATE, 100);
            oEditText.DataBind.SetBound(true, "", "udsFecha");

            // Crear Datasource para pagos
            oItem = oForm.Items.Item("4");
            SAPbouiCOM.ComboBox oComboBox = ((SAPbouiCOM.ComboBox)(oItem.Specific));
            oForm.DataSources.UserDataSources.Add("udsPagos", SAPbouiCOM.BoDataType.dt_LONG_TEXT, 100);
            oComboBox.DataBind.SetBound(true, "", "udsPagos");
        }
Esempio n. 7
0
    public string getDocDate(SAPbouiCOM.Form form)
    {
        string s = "";

        try
        {
            s = getItemValue(form, "46");
            if (s.Length == 8)
            {
                s = string.Format("{0}/{1}/{2}", s.Substring(4, 2), s.Substring(6, 2), s.Substring(0, 4));
                return(s);
            }
        }catch (Exception ex)
        {
            errorLog(ex);
        }
        return(s);
    }
        private void SaveAsXML(ref SAPbouiCOM.Form pForm)
        {
            System.Xml.XmlDocument oXmlDoc = null;
            oXmlDoc = new System.Xml.XmlDocument();
            string sXmlString = null;

            sXmlString = oForm.GetAsXML();

            oXmlDoc.LoadXml(sXmlString);

            string sPath = null;

            sPath = System.IO.Directory.GetParent(Application.StartupPath).ToString();

            oXmlDoc.Save(sPath + @"\FormSimples_1.xml");

            //oApplication.SetStatusBarMessage("Dir:" + sPath, SAPbouiCOM.BoMessageTime.bmt_Short, false);
        }
Esempio n. 9
0
    public static void GetCFL_EDIT(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent, string UDSID, string CFLID)
    {
        BubbleEvent = true;
        if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)
        {
            SAPbouiCOM.IChooseFromListEvent oCFLEvento = null;
            oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
            string sCFL_ID = null;
            sCFL_ID = oCFLEvento.ChooseFromListUID;
            SAPbouiCOM.Form oForm = null;
            oForm = SBO_Application.Forms.Item(FormUID);
            SAPbouiCOM.ChooseFromList oCFL = null;
            oCFL = oForm.ChooseFromLists.Item(sCFL_ID);
            if (oCFLEvento.BeforeAction == false)
            {
                SAPbouiCOM.DataTable oDataTable = null;
                oDataTable = oCFLEvento.SelectedObjects;
                string val = null;
                try
                {
                    val = System.Convert.ToString(oDataTable.GetValue(0, 0));
                }
                catch (Exception ex)
                {
                }
                try
                {
                    if (pVal.ItemUID == UDSID)
                    {
                        oForm.DataSources.UserDataSources.Item(UDSID).ValueEx = val;
                    }
                }
                catch (Exception ex)
                {
                    SubMain.MessageBox(ex.Message);
                }
            }
        }

        if ((FormUID == CFLID) & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_UNLOAD))
        {
            System.Windows.Forms.Application.Exit();
        }
    }
Esempio n. 10
0
        public void ChooseFromListOneValue(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            SAPbouiCOM.EditText uktzedEditText = ((SAPbouiCOM.EditText)sboObject);

            if (pVal.ActionSuccess)
            {
                SAPbouiCOM.SBOChooseFromListEventArg cfl = ((SAPbouiCOM.SBOChooseFromListEventArg)(pVal));
                if (cfl.SelectedObjects == null)
                {
                    return;
                }
                else
                {
                    var iChoose = ((SAPbouiCOM.SBOChooseFromListEventArg)(pVal));
                    SAPbouiCOM.DataTable dataTable = iChoose.SelectedObjects;

                    if (dataTable == null || dataTable.Rows.Count == 0)
                    {
                        return;
                    }

                    string          itemCode   = dataTable.GetValue(uktzedEditText.ChooseFromListAlias, 0).ToString();
                    SAPbouiCOM.Form activeForm = Application.SBO_Application.Forms.ActiveForm;
                    this._Form.Select();
                    uktzedEditText.Active = true;

                    try
                    {
                        uktzedEditText.String = itemCode;
                    }
                    catch
                    {
                    }

                    activeForm.Select();
                }
            }

            if (CFLtoEditTextAlias[uktzedEditText.Item.UniqueID] != null)
            {
                SetChooseFromList CFLEditText = (SetChooseFromList)CFLtoEditTextAlias[uktzedEditText.Item.UniqueID];
                CFLEditText();
            }
        }
Esempio n. 11
0
    private bool PMItemValidate(SAPbouiCOM.Form form)
    {
        bool   bRet = true;
        string err  = "";

        try
        {
            if (form.Mode == SAPbouiCOM.BoFormMode.fm_OK_MODE)
            {
                return(true);
            }

            if (form.TypeEx == FORMSALESORDER)
            {
                if (getFormItemVal(form, "12") == "")
                {
                    err = err + "Delivery date is required\r\n";
                }
            }

            if (err != "")
            {
                showMessage(err);
                return(false);
            }
            tProcess = new Thread(AddDocThreadProc);
            tProcess.Start();
            oFormEvent.WaitOne();
            oFormEvent.Reset();
            if (theActiveForm.Mode != SAPbouiCOM.BoFormMode.fm_OK_MODE)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        catch (Exception ex)
        {
            errorLog(ex);
        }
        return(true);
    }
Esempio n. 12
0
    private void AddTab(SAPbouiCOM.Form form, int pane, string title, string refItemID, string tabID = tbCreditCard, int tabPane = 0, bool bVisible = true, int width = 0, int left = 0)
    {
        try
        {
            SAPbouiCOM.Item oItem;

            SAPbouiCOM.Item oItemRef;

            oItemRef     = form.Items.Item(refItemID);
            oItem        = form.Items.Add(tabID, SAPbouiCOM.BoFormItemTypes.it_FOLDER);
            oItem.Top    = oItemRef.Top;
            oItem.Height = oItemRef.Height;

            oItem.Left            = oItemRef.Left + oItemRef.Width + left;
            oItem.Width           = oItemRef.Width + width;
            oItem.AffectsFormMode = false;
            try
            {
                if (refItemID == tbeBizCharge)
                {
                    oItem.Left = form.Items.Item("3").Left + 8;
                    oItem.Top  = oItemRef.Top + 28;
                }
            }
            catch (Exception ex)
            {
            }
            oItem.FromPane = tabPane;
            oItem.ToPane   = tabPane + 3;
            oItem.Visible  = bVisible;
            SAPbouiCOM.Folder oFolder = (SAPbouiCOM.Folder)oItem.Specific;
            oFolder.Caption = title;
            if (refItemID != tbeBizCharge)
            {
                oFolder.GroupWith(oItemRef.UniqueID);
            }
            oFolder.Pane = pane;
        }
        catch (Exception ex)
        {
            errorLog(ex);
        }
    }
Esempio n. 13
0
        /// <summary>
        /// Obtiene el PDF desde febos de los documentos seleccionados en grilla y levante el PDF en programa predeterminado.
        /// </summary>
        public static ResultMessage GestionarVisualizar(SAPbouiCOM.Form oForm, Int32 Row)
        {
            ResultMessage result = new ResultMessage();

            try
            {
                SAPbouiCOM.Matrix oMatrix = oForm.Items.Item("oMtx").Specific;
                String            FebosId = oMatrix.Columns.Item("col_FebId").Cells.Item(Row).Specific.Value;

                // Descargar PDF
                var clientGetPDF  = new RestClient();
                var requestGetPDF = new RestRequest(String.Format(ConfigurationManager.AppSettings["GetXML"], FebosId), Method.GET);

                requestGetPDF.RequestFormat = DataFormat.Json;
                requestGetPDF.AddHeader("token", FuncionesComunes.ObtenerToken());
                requestGetPDF.AddHeader("empresa", FuncionesComunes.ObtenerRut());
                requestGetPDF.AddHeader("imagen", "si");
                requestGetPDF.AddHeader("tipoImagen", "0");

                IRestResponse responseGetPDF = clientGetPDF.Execute(requestGetPDF);

                if (responseGetPDF.StatusDescription.Equals("OK"))
                {
                    RootObjectGetXML x = JsonConvert.DeserializeObject <RootObjectGetXML>(responseGetPDF.Content);

                    String link = x.imagenLink;

                    ProcessStartInfo info = new ProcessStartInfo();
                    info.FileName    = link;
                    info.Verb        = "open";
                    info.WindowStyle = ProcessWindowStyle.Maximized;
                    Process.Start(info);
                }
                result.Success = true;
                return(result);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Mensaje = ex.Message;
                return(result);
            }
        }
Esempio n. 14
0
    private void populateLog(SAPbouiCOM.Form form)
    {
        string sql = "";

        try
        {
            //SAPbouiCOM.EditText customer = form.Items.Item(fidCustID).Specific;
            SAPbouiCOM.Matrix oMatrix = form.Items.Item(mxtCCLog).Specific;
            oMatrix.Clear();
            //oMatrix.AutoResizeColumns();
            SAPbouiCOM.DataTable oDts = getDataTable(form);

            sql = string.Format("select top " + GetConfig("maxSelectRow") + " InvoiceID, CCAccountID as CCAID, OrderID, PaymentID, DownPaymentInvoiceID, CreditMemoID as CMID, custNum, customerID,	customerName,CardHolder,crCardNum,Description,recID,acsUrl,authAmount,authCode,avsResult,avsResultCode,	batchNum,batchRef,cardCodeResult," +
                                "cardCodeResultCode,cardLevelResult, cardLevelResultCode,conversionRate,convertedAmount,convertedAmountCurrency,error,errorCode,isDuplicate,payload,profilerScore,profilerResponse," +
                                "profilerReason,refNum,remainingBalance,result,resultCode,	status,	statusCode,	vpasResultCode, recDate, Command, Amount from CCTRANS {0} order by recDate desc", strWhere);

            oDts.ExecuteQuery(sql);
            BindMatrix(oMatrix, "RefNum", "refNum");
            BindMatrix(oMatrix, "PaymentID", "PaymentID");
            BindMatrix(oMatrix, "OrderID", "OrderID");
            BindMatrix(oMatrix, "InvoiceID", "InvoiceID");
            BindMatrix(oMatrix, "CMID", "CMID");
            BindMatrix(oMatrix, "CCAID", "CCAID");
            BindMatrix(oMatrix, "custNum", "custNum");
            BindMatrix(oMatrix, "command", "Command");
            BindMatrix(oMatrix, "Amount", "Amount");
            BindMatrix(oMatrix, "Desc", "Description");
            BindMatrix(oMatrix, "CardHolder", "CardHolder");
            BindMatrix(oMatrix, "crCardNum", "crCardNum");

            BindMatrix(oMatrix, "error", "error");
            BindMatrix(oMatrix, "avs", "avsResult");
            BindMatrix(oMatrix, "CardCode", "cardCodeResult");
            BindMatrix(oMatrix, "CardLevel", "cardLevelResult");
            BindMatrix(oMatrix, "recdate", "recDate");

            oMatrix.LoadFromDataSource();
        }catch (Exception ex)
        {
            errorLog(ex);
            errorLog(sql);
        }
    }
Esempio n. 15
0
        /// <summary>
        /// Method to call Budget Maintenance Form
        /// </summary>
        /// <returns></returns>
        public static SAPbouiCOM.Form CreateBudgetMain()
        {
            SAPbouiCOM.Form oForm = null;
            try
            {
                //oForm = Classes.CreateFormFromXML.CreateXMLForm(@"XML\UDO_BOQ.xml");
                PublicVariable.oApplication.OpenForm(SAPbouiCOM.BoFormObjectEnum.fo_UserDefinedObject, "BUDGETMAIN", "");
                oForm = PublicVariable.oApplication.Forms.ActiveForm;
            }
            catch (Exception ex)
            {
                Events.App_StatusBarEvent(
                    ex.Message
                    , SAPbouiCOM.BoMessageTime.bmt_Short
                    , SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
            }

            return(oForm);
        }
Esempio n. 16
0
        private static void LoadInfo(SAPbouiCOM.Form oForm)
        {
            SAPbobsCOM.Recordset oRecordset = null;
            SAPbouiCOM.Matrix    oMatrix    = null;
            try
            {
                oForm.Freeze(true);
                oRecordset = Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                oMatrix    = oForm.Items.Item("Mtx1").Specific;
                oRecordset.DoQuery("SELECT \"DocNum\" FROM \"@SEI_SETVALH\" ");
                if (oRecordset.RecordCount > 0)
                {
                    SAPbouiCOM.EditText oedit = null;
                    oForm.Mode  = SAPbouiCOM.BoFormMode.fm_FIND_MODE;
                    oedit       = oForm.Items.Item("DocNum").Specific;
                    oedit.Value = "1";
                    oForm.EnableMenu("1281", false); // 1281 --> Buscar
                    oForm.EnableMenu("1282", false); // 1282 --> Crear
                    oForm.Items.Item("1").Click(SAPbouiCOM.BoCellClickType.ct_Regular);
                    oForm.Items.Item("DocNum").Enabled = false;
                    oForm.Items.Item("DocNum").Visible = false;
                }
                else
                {
                    oMatrix.AddRow(2);
                    //lines
                    ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("Col_0").Cells.Item(1).Specific)).Value   = "Entrada de mercancias";
                    ((SAPbouiCOM.CheckBox)(oMatrix.Columns.Item("Col_1").Cells.Item(1).Specific)).Checked = true;
                    ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("Col_2").Cells.Item(1).Specific)).Value   = "1";
                    ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("Col_0").Cells.Item(2).Specific)).Value   = "Oferta de compra";
                    ((SAPbouiCOM.CheckBox)(oMatrix.Columns.Item("Col_1").Cells.Item(2).Specific)).Checked = true;
                    ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("Col_2").Cells.Item(1).Specific)).Value   = "2";

                    ((SAPbouiCOM.CheckBox)(oForm.Items.Item("cbSentAcep").Specific)).Checked = true;
                }
                oForm.Items.Item("Mtx1").Visible = false;
                oForm.Freeze(false);
            }
            catch (Exception ex)
            {
                oForm.Freeze(false);
            }
        }
Esempio n. 17
0
        /// <summary>
        /// Limpia combobox
        /// </summary>
        /// <param name="FormUID"></param>
        /// <param name="ItemUID"></param>
        public static void BorrarCombo(string FormUID, string ItemUID)
        {
            SAPbouiCOM.Form     oForm     = null;
            SAPbouiCOM.ComboBox oCombobox = null;
            try
            {
                oForm     = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
                oCombobox = (SAPbouiCOM.ComboBox)oForm.Items.Item(ItemUID).Specific;

                for (int i = oCombobox.ValidValues.Count - 1; i >= 0; i--)
                {
                    oCombobox.ValidValues.Remove(i, SAPbouiCOM.BoSearchKey.psk_Index);
                }
            }
            catch (Exception ex)
            {
                Comunes.Msj_Appl.Errores(14, ex.Message);
            }
        }
Esempio n. 18
0
File: Form.cs Progetto: bagundes/sui
        /// <summary>
        /// Load de srf form and load the oForm properties.
        /// </summary>
        /// <param name="srf"></param>
        protected void Load(FileInfo srf)
        {
            if (oForm != null)
            {
                return;
            }

            srf.Refresh();
            if (!srf.Exists)
            {
                throw new SUIException(3, srf.Name);
            }

            oForm = SUI.Forms.Form.Load(srf);
            //using (var reader = System.IO.File.OpenText(srf.FullName))
            //    oForm = SUI.Forms.Form.Load(reader);

            klib.Shell.WriteLine(R.Project.ID, LOG, $"Loaded the {oForm.Title} form");
        }
Esempio n. 19
0
    private void HandleItemPressIExportSO(SAPbouiCOM.Form form)
    {
        bool FlgChange = false;

        try
        {
            if (form.Items.Item(MtxExportSO) == null)
            {
                return;
            }

            form.Items.Item(MtxExportSO).AffectsFormMode = false;
            oMatrixExportSO = (SAPbouiCOM.Matrix)form.Items.Item(MtxExportSO).Specific;
            int RowCount = oDTExportSO.Rows.Count;
            if (RowCount > 0)
            {
                for (int i = oDTExportSO.Rows.Count - 1; i >= 0; i--)
                {
                    var EdDocNum = GetMatrixValue(oMatrixExportSO, i, "DocNum").ToString();

                    var chk = (SAPbouiCOM.CheckBox)oMatrixExportSO.Columns.Item("clSel").Cells.Item(i + 1).Specific;
                    if (chk.Checked)
                    {
                        FlgChange = true;
                        SalesOrder oSalesOrder = GetSO(EdDocNum);
                        PostSO(oSalesOrder, i, oMatrixExportSO);
                    }
                    else
                    {
                    }
                }
                if (FlgChange)
                {
                    //   oMatrixBpExport.LoadFromDataSource();
                    oMatrixExportSO.FlushToDataSource();
                }
            }
        }
        catch (Exception ex)
        {
            errorLog(ex.Message);
        }
    }
Esempio n. 20
0
    private void SaveAsXML(ref SAPbouiCOM.Form Form)
    {
        System.Xml.XmlDocument oXmlDoc = null;
        string sXmlString = null;

        oXmlDoc = new System.Xml.XmlDocument();

        // get the form as an XML string
        sXmlString = Form.GetAsXML();

        // load the form's XML string to the
        // XML document object
        oXmlDoc.LoadXml(sXmlString);



        // save the XML Document
        oXmlDoc.Save((@"e:\22.xml"));
    }
Esempio n. 21
0
        private void OnCustomInitialize()
        {
            oApp     = (SAPbouiCOM.Application)Application.SBO_Application;
            oCompany = (SAPbobsCOM.Company)oApp.Company.GetDICompany();

            oForm = oApp.Forms.Item("supra_sec");

            Grid0.Columns.Item("Código").TitleObject.Sortable = true;
            Grid0.DataTable.Rows.Add(1);

            for (int i = 1; i <= this.Grid0.DataTable.Rows.Count; i += 1)
            {
                if (i < this.Grid0.DataTable.Rows.Count)
                {
                    Grid0.Rows.SelectedRows.Add(i);
                }
            }
            RowNumberGrid(Grid0);
        }
 private static void  AbrirArchivoImagenArticuloBEAS(SAPbouiCOM.Form oForm, string sCampoImagen)
 {
     try
     {
         int nRow = Convert.ToInt32(oForm.DataSources.UserDataSources.Item("UD_ROWMTX").ValueEx);
         SAPbobsCOM.Recordset rs = NConsultas.ConsultarArchivoImagenArticuloBEAS(ObtenerArticuloMatrixPedidoCliente(oForm, nRow));
         if (rs.RecordCount > 0)
         {
             string sDire = rs.Fields.Item("BitmapPath").Value.ToString();
             string sFile = rs.Fields.Item(sCampoImagen).Value.ToString();
             if (sFile.Trim().Length > 0)
             {
                 Funciones.Open_File(sDire.Trim() + sFile.Trim());
             }
         }
         System.Runtime.InteropServices.Marshal.ReleaseComObject(rs);
     }
     catch (Exception) {}
 }
    private void HandleItemRecPay(SAPbouiCOM.Form form)
    {
        bool FlgChange = false;

        try
        {
            if (form.Items.Item(MtxRecPay) == null)
            {
                return;
            }

            form.Items.Item(MtxRecPay).AffectsFormMode = false;
            OMtxRecPay = (SAPbouiCOM.Matrix)form.Items.Item(MtxRecPay).Specific;
            int RowCount = odtRecPay.Rows.Count;
            if (RowCount > 0)
            {
                for (int i = odtRecPay.Rows.Count - 1; i >= 0; i--)
                {
                    var EdTemplate = GetMatrixValue(OMtxRecPay, i, "clEbizkey").ToString(); //DocNum
                    var EdDocNum   = GetMatrixValue(OMtxRecPay, i, "DocNum").ToString();    //

                    var chk = (SAPbouiCOM.CheckBox)OMtxRecPay.Columns.Item("clSel").Cells.Item(i + 1).Specific;
                    if (chk.Checked)
                    {
                        FlgChange = true;
                        PostRecPay(EdTemplate, i, OMtxRecPay, form, EdDocNum);
                    }
                    else
                    {
                    }
                }
                if (FlgChange)
                {
                    //   oMatrixBpExport.LoadFromDataSource();
                    OMtxRecPay.FlushToDataSource();
                }
            }
        }
        catch (Exception ex)
        {
            errorLog(ex.Message);
        }
    }
Esempio n. 24
0
        private SAPbouiCOM.DataTable Convert_SAP_DataTable_Details(System.Data.DataTable pDataTable)
        {
            SAPbouiCOM.DataTable oDT   = null;
            SAPbouiCOM.Form      oForm = Application.SBO_Application.Forms.ActiveForm;
            if (CheckExistUniqueID(oForm, "DT_PRDetails"))
            {
                oDT = oForm.DataSources.DataTables.Item("DT_PRDetails");
                oDT.Clear();
            }
            else
            {
                oDT = oForm.DataSources.DataTables.Add("DT_PRDetails");
            }

            //Add column to DataTable
            foreach (System.Data.DataColumn c in pDataTable.Columns)
            {
                try
                {
                    if (c.DataType.ToString() == "System.DateTime")
                    {
                        oDT.Columns.Add(c.ColumnName, SAPbouiCOM.BoFieldsType.ft_Date);
                    }
                    else
                    {
                        oDT.Columns.Add(c.ColumnName, SAPbouiCOM.BoFieldsType.ft_Text);
                    }
                }
                catch
                { }
            }
            //Add row to DataTable
            foreach (System.Data.DataRow r in pDataTable.Rows)
            {
                oDT.Rows.Add();
                foreach (System.Data.DataColumn c in pDataTable.Columns)
                {
                    oDT.SetValue(c.ColumnName, oDT.Rows.Count - 1, r[c.ColumnName].ToString());
                }
            }

            return(oDT);
        }
Esempio n. 25
0
    private void SetupFormHandler(SAPbouiCOM.Form form, SAPbouiCOM.ItemEvent pVal)
    {
        try
        {
            if (pVal.BeforeAction)
            {
            }
            else
            {
                switch (pVal.EventType)
                {
                case SAPbouiCOM.BoEventTypes.et_COMBO_SELECT:
                {
                    switch (pVal.ItemUID)
                    {
                    }
                }
                break;

                case SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED:
                {
                    switch (pVal.ItemUID)
                    {
                    case btnClose:

                        oSetupForm.Close();

                        break;

                    case btnProcess:
                        HandleSetupUpdate(form);
                        break;
                    }
                }
                break;
                }
            }
        }
        catch (Exception ex)
        {
            errorLog(ex);
        }
    }
Esempio n. 26
0
    private bool GetTotalAmount(SAPbouiCOM.Form form, ref string amt)
    {
        try
        {
            string a = getFormEditVal(form, editCAmount);
            if (a == "")
            {
                SBO_Application.MessageBox("Please enter charge amount.", 1, "Ok", "", "");
                return(false);
            }


            try
            {
                a = a.Replace("$", "").Replace(",", "");
                if (double.Parse(a) <= 0.01)
                {
                    SBO_Application.MessageBox("Invalid amount.  Please add item.", 1, "Ok", "", "");
                    return(false);
                }
                if (getItemDoubleValue(form, "14") < double.Parse(a))
                {
                    SBO_Application.MessageBox("The payment amount cannot exceed the current balance due..", 1, "Ok", "", "");
                    return(false);
                }
                amt = a;
            }
            catch (Exception)
            {
                SBO_Application.MessageBox("Invalid amount.  Please enter numerical value only.", 1, "Ok", "", "");
                return(false);
            }


            return(true);
        }
        catch (Exception ex)
        {
            errorLog(ex);
        }
        return(false);
    }
Esempio n. 27
0
        /// <summary>
        /// Controla los eventos de items del formularios
        /// </summary>
        public static void m_SBO_Appl_ItemEvent(String FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;
            SAPbouiCOM.Form oForm = null;
            oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
            ResultMessage result = new ResultMessage();

            SAPbouiCOM.Matrix oMatrix = null;
            Int32             Row     = -1;

            try
            {
                if (pVal.BeforeAction && pVal.EventType.Equals(SAPbouiCOM.BoEventTypes.et_CLICK) && pVal.ItemUID.Equals("bt_Salir"))
                {
                    oForm.Close();
                }
                if (pVal.BeforeAction && pVal.EventType.Equals(SAPbouiCOM.BoEventTypes.et_CLICK) && pVal.ItemUID.Equals("bt_Ver"))
                {
                    oMatrix = oForm.Items.Item("Item_0").Specific;
                    Row     = oMatrix.GetNextSelectedRow(0, SAPbouiCOM.BoOrderType.ot_SelectionOrder);
                    if (Row != -1)
                    {
                        Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Visualizando 1 documento. Espere un momento.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
                        result = GestionarVisualizar(oForm, Row);

                        if (!result.Success)
                        {
                            Conexion_SBO.m_SBO_Appl.StatusBar.SetText(result.Mensaje, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
                        }
                    }
                    else
                    {
                        BubbleEvent = false;
                        Conexion_SBO.m_SBO_Appl.StatusBar.SetText("Seleccione un documento para visualizar", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
                    }
                }
            }
            catch (Exception ex)
            {
                Conexion_SBO.m_SBO_Appl.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
        }
Esempio n. 28
0
        public static void toggleSelectCheckBox(SAPbouiCOM.ItemEvent pVal, string dtName, string CellNumber)
        {
            SAPbouiCOM.DataTable variable     = null;
            SAPbouiCOM.Form      variable1    = null;
            XmlDocument          xmlDocument  = null;
            XmlNodeList          xmlNodeLists = null;

            try
            {
                xmlDocument = new XmlDocument();
                variable1   = MainObject.Instance.B1Application.Forms.Item(pVal.FormUID);
                variable    = variable1.DataSources.DataTables.Item(dtName);
                xmlDocument.LoadXml(variable.SerializeAsXML(SAPbouiCOM.BoDataTableXmlSelect.dxs_DataOnly));
                xmlNodeLists = xmlDocument.SelectNodes("/DataTable/Rows/Row/Cells/Cell[" + CellNumber + "]/Value");
                if (xmlNodeLists.Count > 0)
                {
                    foreach (XmlNode xmlNodes in xmlNodeLists)
                    {
                        if (xmlNodes.InnerText != "Y")
                        {
                            xmlNodes.InnerText = "Y";
                        }
                        else
                        {
                            xmlNodes.InnerText = "N";
                        }
                    }
                }
                variable.LoadSerializedXML(SAPbouiCOM.BoDataTableXmlSelect.dxs_DataOnly, xmlDocument.InnerXml);
            }
            catch (COMException cOMException1)
            {
                COMException cOMException = cOMException1;
                Exception    exception    = new Exception(Convert.ToString(string.Concat(new object[] { "COM Error::", cOMException.ErrorCode, "::", cOMException.Message, "::", cOMException.StackTrace })));
                _Logger.Error("", exception);
            }
            catch (Exception exception2)
            {
                Exception exception1 = exception2;
                _Logger.Error("", exception2);
            }
        }
    private void HandleItemPressPendEmail(SAPbouiCOM.Form form)
    {
        bool FlgChange = false;

        try
        {
            if (form.Items.Item(MtxSendPendingEmail) == null)
            {
                return;
            }

            form.Items.Item(MtxSendPendingEmail).AffectsFormMode = false;
            oMatrixPendEmail = (SAPbouiCOM.Matrix)form.Items.Item(MtxSendPendingEmail).Specific;
            int RowCount = odtSendPendingEmail.Rows.Count;
            if (RowCount > 0)
            {
                for (int i = odtSendPendingEmail.Rows.Count - 1; i >= 0; i--)
                {
                    var EdTemplate = GetMatrixValue(oMatrixPendEmail, i, "clEbizkey").ToString();

                    var chk = (SAPbouiCOM.CheckBox)oMatrixPendEmail.Columns.Item("clSel").Cells.Item(i + 1).Specific;
                    if (chk.Checked)
                    {
                        FlgChange = true;
                        PostPendEmail(EdTemplate, i, oMatrixPendEmail, form);
                    }
                    else
                    {
                    }
                }
                if (FlgChange)
                {
                    //   oMatrixBpExport.LoadFromDataSource();
                    oMatrixPendEmail.FlushToDataSource();
                }
            }
        }
        catch (Exception ex)
        {
            errorLog(ex.Message);
        }
    }
Esempio n. 30
0
        private void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            try {
                if (FormUID.Equals(FormUID))
                {
                    if (!pVal.BeforeAction)
                    {
                        switch (pVal.EventType)
                        {
                        case SAPbouiCOM.BoEventTypes.et_FORM_RESIZE:

                            if (!Object.ReferenceEquals(btnOpen, null))
                            {
                                SAPbouiCOM.Form form = Application.SBO_Application.Forms.ActiveForm;
                                if (form.Title == "Solicitud de traslado" || form.Type.Equals(1250000940))
                                {
                                    btnOpen.Left = (form.Left / 2) + 150;
                                    btnOpen.Top  = form.Items.Item("2").Top;
                                }
                            }
                            break;

                        case SAPbouiCOM.BoEventTypes.et_MATRIX_LINK_PRESSED:


                            SAPbouiCOM.Form frm = Application.SBO_Application.Forms.ActiveForm;

                            if (frm.Title.Equals("Solicitud de traslado") || frm.Type.Equals(1250000940))
                            {
                                AddButtonToForm(frm);
                            }
                            break;
                        }
                    }
                }
            }
            catch (Exception ex) {
                LogService.WriteError(ex.Message + " " + ex.StackTrace);
            }
        }
Esempio n. 31
0
        private void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            SAPbouiCOM.BoEventTypes EventEnum = 0;
            EventEnum = pVal.EventType;
            BubbleEvent = true;

            if (pVal.FormType == 320)
            {
                if ((pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (!pVal.Before_Action))
                {
                    //Laudo_Ini
                    if (pVal.ItemUID == "Laudo_Ini")
                    {
                        abrirRelatorio("Laudo inicial", oForm.Items.Item("74").Specific.Value);
                    }

                    //Ent_Imp
                    if (pVal.ItemUID == "Ent_Imp")
                    {
                        abrirRelatorio("Descricao dos ambientes", oForm.Items.Item("74").Specific.Value);
                    }

                    //Laudo_Int
                    if (pVal.ItemUID == "Laudo_Int")
                    {
                        abrirRelatorio("Laudo intermediario", oForm.Items.Item("74").Specific.Value);
                    }
                    //NvAnalise
                    if (pVal.ItemUID == "NvAnalise")
                    {
                        abrirRelatorio("Analise critica", oForm.Items.Item("74").Specific.Value);
                    }
                    //Laudo_ent
                    if (pVal.ItemUID == "Laudo_Ent")
                    {
                        abrirRelatorio("Laudo de entrega", oForm.Items.Item("74").Specific.Value);
                    }
                    //Pesquisa de satisfacao
                    if (pVal.ItemUID == "Etg_Pq")
                    {
                        abrirRelatorio("Pesquisa de satisfacao", oForm.Items.Item("74").Specific.Value);
                    }
                    //NvLev
                    if (pVal.ItemUID == "NvLev")
                    {
                        abrirRelatorio("Levantamento", "");
                    }
                    //Etg_Decl
                    if (pVal.ItemUID == "Etg_Decl")
                    {
                        abrirRelatorio("Declaracao de conformidade", oForm.Items.Item("74").Specific.Value);
                    }

                }

                // Ao mudar o ambiente
                if (pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) && pVal.ItemUID == "Ent_Amb" && pVal.ItemChanged)
                {
                    // Verifica a descricao de Ent_Det se mudou e captura
                    oEditItem = ((SAPbouiCOM.EditText)oForm.Items.Item("Ent_Det").Specific);
                    string sEnt_Det = oEditItem.String;
                    try
                    {
                        if (sEnt_Det != sDescricaoOriginalAmbiente)
                        {
                            int idOOPR = int.Parse(((SAPbouiCOM.EditText)oForm.Items.Item("74").Specific).Value);
                            string selectedValue = ((SAPbouiCOM.ComboBox)oForm.Items.Item("Ent_Amb").Specific).Value;
                            int iSelectedValue;
                            if (selectedValue != "")
                            {
                                iSelectedValue = int.Parse(selectedValue);
                                // Atualiza a Descrição na Oportunidade de Vendas
                                AddOportunidadeVendas(idOOPR, "0", "0", "0", iSelectedValue, sEnt_Det);
                            }
                        }
                    }
                    catch
                    {
                    }
                }

                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) && pVal.ItemUID == "Ent_Amb" && pVal.ItemChanged)
                {
                    oEditItem = ((SAPbouiCOM.EditText)oForm.Items.Item("Ent_Det").Specific);

                    string idOOPR = ((SAPbouiCOM.EditText)oForm.Items.Item("74").Specific).Value;
                    string selectedValue = ((SAPbouiCOM.ComboBox)oForm.Items.Item("Ent_Amb").Specific).Value;

                    ambiente = new Ambiente(idOOPR);
                    oEditItem.Value = ambiente.getDescricaoEntrevista(selectedValue);
                }

                //Evento da Drop.

                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Ela_Amb"))
                {
                    string coluna2 = pVal.ColUID;
                    if (coluna2 == "Ela_Amb_C2")
                    {
                        string linha = pVal.Row.ToString();
                    }
                }

                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Ent_Proj"))
                {
                    upProjEnt = true;
                    //SBO_Application.MessageBox("Mudou Proj Entrevista.");
                }
                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Med_Proj"))
                {
                    upProjMed = true;
                    //SBO_Application.MessageBox("Mudou Proj Medição.");
                }
                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Apr_Proj"))
                {
                    upProjAps = true;
                    //SBO_Application.MessageBox("Mudou Proj Apresentação.");
                }
                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Ent_Amb"))
                {
                    upEtvAmb = true;
                    //SBO_Application.MessageBox("Mudou Combo de Ambiente");
                }

                //Abre tela de Atividades.
                if (((pVal.ItemUID == "Ent_Age") & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (pVal.Before_Action == false)))
                {
                    bBotaoAgendarFoiClicado = true;
                    SBO_Application.ActivateMenuItem("2563");
                }

                //Abre tela de Atividades.
                if (((pVal.ItemUID == "Med_Age") & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (pVal.Before_Action == false)))
                {
                    bBotaoAgendarFoiClicado = true;
                    SBO_Application.ActivateMenuItem("2563");
                }

                //Clique do Botão Atualizar
                if (((pVal.ItemUID == "1") & (pVal.FormMode == 1) & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (pVal.Before_Action == false)))
                {
                    if (ambiente.possuiAmbientesCadastrados())
                    {
                       Atualizar();
                    }
                }

                //Criar os campos do formulario.
                if (pVal.Before_Action && pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD)
                {
                    oForm = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);

                    AddItemsToForm();

                    oForm.Resize(300, 130);// (132, 100);

                    resumo = new Resumo(oForm);
                    fases = new Fases(oForm);
                }

                //Evento do Clique da aba Resumo.
                if (pVal.ItemUID == "Projeto1" & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK) & pVal.Before_Action)
                {
                    resumo.disableCampos();
                    oForm.PaneLevel = 8;
                }

                //Evento do Clique da aba Fases.
                if (pVal.ItemUID == "Projeto2" & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK) & pVal.Before_Action)
                {
                    oForm.PaneLevel = 9;
                }

                int panel = 9;
                if (pVal.ItemUID.StartsWith("Folder") & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK) & pVal.Before_Action)
                {
                    switch (pVal.ItemUID)
                    {
                        case "Folder1": panel = 9;
                            break;
                        case "Folder2": panel = 10;
                            break;
                        case "Folder3": panel = 11;
                            break;
                        case "Folder4": panel = 12;
                            break;
                        case "Folder5": panel = 13;
                            break;
                        case "Folder6": panel = 14;
                            break;
                        case "Folder7": panel = 15;
                            break;
                        case "Folder8": panel = 16;
                            break;
                        case "Folder9": panel = 17;
                            break;
                    }

                    oForm.PaneLevel = panel;
                }

                if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)
                {
                    SAPbouiCOM.IChooseFromListEvent oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
                    string sCFL_ID = oCFLEvento.ChooseFromListUID;
                    SAPbouiCOM.Form oForm = SBO_Application.Forms.Item(FormUID);
                    SAPbouiCOM.ChooseFromList oCFL = oForm.ChooseFromLists.Item(sCFL_ID);

                    if (oCFLEvento.BeforeAction == false && sCFL_ID == "CFL1")
                    {
                        SAPbouiCOM.DataTable oDataTable = oCFLEvento.SelectedObjects;
                        string valItemName = null;
                        string valItemCode = null;
                        try
                        {
                            valItemCode = System.Convert.ToString(oDataTable.GetValue(0, 0));
                            valItemName = System.Convert.ToString(oDataTable.GetValue(1, 0));

                            string qtdEstoque = GetQtdEmEstoque(valItemCode);
                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C4").Cells.Item(pVal.Row).Specific).Value = qtdEstoque;

                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C0").Cells.Item(pVal.Row).Specific).Value = valItemCode;
                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C1").Cells.Item(pVal.Row).Specific).Value = valItemName;
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                    else if (oCFLEvento.BeforeAction == false && sCFL_ID == "CFL2")
                    {
                        SAPbouiCOM.DataTable oDataTable = oCFLEvento.SelectedObjects;
                        string valCarName = null;
                        string idFornecedor = null;
                        try
                        {
                            idFornecedor = System.Convert.ToString(oDataTable.GetValue(0, 0));
                            valCarName = System.Convert.ToString(oDataTable.GetValue(1, 0));

                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C6").Cells.Item(pVal.Row).Specific).Value = idFornecedor;
                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C3").Cells.Item(pVal.Row).Specific).Value = valCarName;
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }

                string coluna = pVal.ColUID;

                if (EventEnum == SAPbouiCOM.BoEventTypes.et_DOUBLE_CLICK && !pVal.BeforeAction)
                {
                    //Anexo de arquivo
                    if (coluna == "Ela_Amb_C7" || coluna == "Ela_Amb_C8" || coluna == "Ela_Amb_C9" || coluna == "Med_Amb_C1"
                                               || coluna == "Apv_Amb_C3" || coluna == "Ped_Amb_C7" || coluna == "Det_Amb_C7"
                                               || coluna == "Etg_Amb_C3" || coluna == "Mon_Amb_C3" || coluna == "Mon_Amb_C4"
                                               || coluna == "Mon_Amb_C5" || coluna == "Apv_Amb_C4" || coluna == "Ans_Amb_C0")
                    {
                        oNewItem = oForm.Items.Item(pVal.ItemUID);
                        oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));
                        oEditItem = (SAPbouiCOM.EditText)oMatrix.Columns.Item(coluna).Cells.Item(pVal.Row).Specific;

                        GridComAnexo(oEditItem);
                    }

                    //Url
                    if (coluna == "Ped_Amb_C8" && ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Ped_Amb_C8").Cells.Item(pVal.Row).Specific).Value != "")
                    {
                        newProcess = new Process();
                        string valor = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Ped_Amb_C8").Cells.Item(pVal.Row).Specific).Value;
                        info = new ProcessStartInfo(valor);
                        newProcess.StartInfo = info;
                        newProcess.Start();

                    }
                }

                if (EventEnum == SAPbouiCOM.BoEventTypes.et_LOST_FOCUS && !pVal.BeforeAction)
                {
                    if (coluna == "Cmp_Amb_C2")
                    {
                        oNewItem = oForm.Items.Item("Det_Cmp");
                        oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                        string qtd = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C2").Cells.Item(pVal.Row).Specific).String;
                        decimal teste = Convert.ToDecimal(qtd);
                        string estoque = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C4").Cells.Item(pVal.Row).Specific).String;
                        decimal teste2 = Convert.ToDecimal(estoque);
                        if (qtd != "" && teste > teste2)
                        {
                            SBO_Application.MessageBox("Sem ítens sufucintes no estoque");
                        }
                    }
                }

                //Evento da grid de ambiente/análise crítica.
                if (!pVal.BeforeAction && pVal.ItemUID == "Apr_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "#" && pVal.Row > 0)
                {

                    if (modificouAnsCritica)
                    {
                        SBO_Application.MessageBox("Vai atualizar");
                        Atualizar();
                        oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;
                        modificouAnsCritica = false;
                    }

                    //Instancia a matriz de ambiente da aba apresentação.
                    oNewItem = oForm.Items.Item("Apr_Amb");
                    SAPbouiCOM.Matrix matrixApresentacao;
                    matrixApresentacao = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Instancia a matriz de análise crítica da aba apresentação.
                    oNewItem = oForm.Items.Item("Ans_Amb");
                    SAPbouiCOM.Matrix matrixAnaliseCritica;
                    matrixAnaliseCritica = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Pega a coluna onde vai setar os valores pra o ambiente na matriz de análise crítica.
                    oColumnsAnaliseCritica = matrixAnaliseCritica.Columns;
                    oColumnAnaliseCritica = oColumnsAnaliseCritica.Item("Ans_Amb_C0");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixApresentacao.Columns.Item("Apr_Amb_C2").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixApresentacao.Columns.Item("Apr_Amb_C0").Cells.Item(pVal.Row).Specific;
                    idAmbiente = int.Parse(oEditItem.String);
                    string nomeGrid = oItemGrid.String;

                    //Mostra na matriz de análise crítica qual ambiente selecionado.
                    oColumnAnaliseCritica.TitleObject.Caption = "Analise Crítica (" + nomeGrid + ")";
                    LoadGridAnaliseCritica();
                    countMatrixAnaliseCriticaAntes = matrixAnaliseCritica.RowCount;

                    if (matrixAnaliseCritica.RowCount == 0)
                    {
                        matrixAnaliseCritica.AddRow(1, 1);
                    }
                }
                //Evento da grid de ambiente/análise crítica.
                if (!pVal.BeforeAction && pVal.ItemUID == "Ans_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "Ans_Amb_C0" && pVal.CharPressed == 9)
                {
                    oNewItem = oForm.Items.Item("Ans_Amb");
                    SAPbouiCOM.Matrix matrixAnaliseCritica;
                    matrixAnaliseCritica = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixAnaliseCritica.Columns.Item("Ans_Amb_C0").Cells.Item(matrixAnaliseCritica.RowCount).Specific;
                    string nome = oEditItem.String;

                    if (matrixAnaliseCritica.RowCount > 0 && nome != "")
                    {
                        matrixAnaliseCritica.AddRow(1, matrixAnaliseCritica.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixAnaliseCritica.Columns.Item("Ans_Amb_C0").Cells.Item(matrixAnaliseCritica.RowCount).Specific).Value = "";
                        ((SAPbouiCOM.EditText)matrixAnaliseCritica.Columns.Item("Ans_Amb_C1").Cells.Item(matrixAnaliseCritica.RowCount).Specific).Value = "";
                    }
                }

                if (pVal.ItemUID == "Ans_Amb" && pVal.ColUID == "Ans_Amb_C0" && pVal.ItemChanged && !pVal.BeforeAction)
                {
                    SBO_Application.MessageBox("Teste");
                    modificouAnsCritica = true;
                }

                if (!pVal.BeforeAction && pVal.ItemUID == "Fab_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "Fab_#" && pVal.Row > 0)
                {
                    if (bGravouAvarias)
                    {
                        SBO_Application.MessageBox("Vai atualizar Avarias");
                        Atualizar();
                        oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;
                        bGravouAvarias = false;
                    }

                    oNewItem = oForm.Items.Item("Fab_Amb");
                    SAPbouiCOM.Matrix matrixFabrica;
                    matrixFabrica = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oNewItem = oForm.Items.Item("Ava_Amb");
                    SAPbouiCOM.Matrix matrixAvarias;
                    matrixAvarias = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    SAPbouiCOM.Columns oColumnsAvarias = null;
                    SAPbouiCOM.Column oColumnAvarias = null;
                    oColumnsAvarias = matrixAvarias.Columns;
                    oColumnAvarias = oColumnsAvarias.Item("Ava_Amb_C0");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixFabrica.Columns.Item("Fab_Amb_C4").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixFabrica.Columns.Item("Fab_Amb_C0").Cells.Item(pVal.Row).Specific;
                    iRowAmbiente = int.Parse(oEditItem.String);
                    string nomeGrid = oItemGrid.String;

                    oColumnAvarias.TitleObject.Caption = "Descrição (" + nomeGrid + ")";
                    LoadGridAvarias();
                    countMatrixAvariasAntes = matrixAvarias.RowCount;

                    if (matrixAvarias.RowCount == 0)
                    {
                        matrixAvarias.AddRow(1, 1);
                    }
                }

                if (!pVal.BeforeAction && pVal.ItemUID == "Ava_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "Ava_Amb_C0" && pVal.CharPressed == 9)
                {
                    oNewItem = oForm.Items.Item("Ava_Amb");
                    SAPbouiCOM.Matrix matrixAvarias;
                    matrixAvarias = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixAvarias.Columns.Item("Ava_Amb_C0").Cells.Item(matrixAvarias.RowCount).Specific;
                    string nome = oEditItem.String;

                    if (matrixAvarias.RowCount > 0 && nome != "")
                    {
                        matrixAvarias.AddRow(1, matrixAvarias.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixAvarias.Columns.Item("Ava_Amb_C0").Cells.Item(matrixAvarias.RowCount).Specific).Value = "";
                        ((SAPbouiCOM.EditText)matrixAvarias.Columns.Item("Ava_Amb_C1").Cells.Item(matrixAvarias.RowCount).Specific).Value = "";
                    }
                }

                if (pVal.ItemUID == "Ava_Amb" && pVal.ColUID == "Ava_Amb_C0" && pVal.ItemChanged && !pVal.BeforeAction)
                {
                    SBO_Application.MessageBox("Teste Avarias");
                    bGravouAvarias = true;
                }

                //Evento da grid de ambiente/conferência medições.
                if (!pVal.BeforeAction && pVal.ItemUID == "Med_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "#" && pVal.Row > 0)
                {
                    //Instancia a matriz de ambiente da aba medições.
                    oNewItem = oForm.Items.Item("Med_Amb");
                    SAPbouiCOM.Matrix matrixMedicoes;
                    matrixMedicoes = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Instancia a matriz de conferência medições da aba medições.
                    oNewItem = oForm.Items.Item("Med_Cnf");
                    SAPbouiCOM.Matrix matrixConferenciaMedicoes;
                    matrixConferenciaMedicoes = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Pega a coluna onde vai setar os valores para o ambiente na matriz de conferência medições.
                    oColumnsConferenciaMedicoes = matrixConferenciaMedicoes.Columns;
                    oColumnConferenciaMedicoes = oColumnsConferenciaMedicoes.Item("med_Cnf_C1");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixMedicoes.Columns.Item("Med_Amb_C2").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixMedicoes.Columns.Item("Med_Amb_C0").Cells.Item(pVal.Row).Specific;
                    iIdAmbienteMedicao = int.Parse(oEditItem.String);
                    string nomeGrid = oItemGrid.String;

                    //Mostra na matriz de conferência medições qual ambiente selecionado.
                    oColumnConferenciaMedicoes.TitleObject.Caption = "Conferente (" + nomeGrid + ")";
                    LoadGridConferenciaMedicao();
                    countMatrixConfMedAntes = matrixConferenciaMedicoes.RowCount;

                    if (matrixConferenciaMedicoes.RowCount == 0)
                    {
                        matrixConferenciaMedicoes.AddRow(1, 1);
                        //Projetistas - Grid Conferencia de Medicao
                        loadComboEmGrid("Med_Cnf", "med_Cnf_C1", projetistas);
                    }
                }
                //Evento da grid de ambiente/conferência medições.
                if (pVal.CharPressed == 9 && !pVal.BeforeAction && pVal.ItemUID == "Med_Cnf" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "med_Cnf_C1")
                {
                    oNewItem = oForm.Items.Item("Med_Cnf");
                    SAPbouiCOM.Matrix matrixConferenciaMedicao;
                    matrixConferenciaMedicao = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixConferenciaMedicao.Columns.Item("Med_Cnf_C0").Cells.Item(matrixConferenciaMedicao.RowCount).Specific;
                    string data = oEditItem.String;
                    SAPbouiCOM.ComboBox combo = (SAPbouiCOM.ComboBox)matrixConferenciaMedicao.Columns.Item("med_Cnf_C1").Cells.Item(matrixConferenciaMedicao.RowCount).Specific;
                    string nome = combo.Value;

                    if (matrixConferenciaMedicao.RowCount > 0 && data != "" && nome != "")
                    {
                        matrixConferenciaMedicao.AddRow(1, matrixConferenciaMedicao.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixConferenciaMedicao.Columns.Item("Med_Cnf_C0").Cells.Item(matrixConferenciaMedicao.RowCount).Specific).Value = "";
                        //Projetistas - Grid Conferencia de Medicao
                        RemoveValoresDeCombo(ref combo);
                        loadComboEmGrid("Med_Cnf", "med_Cnf_C1", projetistas);
                        ((SAPbouiCOM.ComboBox)matrixConferenciaMedicao.Columns.Item("med_Cnf_C1").Cells.Item(matrixConferenciaMedicao.RowCount).Specific).Select("", SAPbouiCOM.BoSearchKey.psk_ByValue);
                        ((SAPbouiCOM.EditText)matrixConferenciaMedicao.Columns.Item("Med_Cnf_C2").Cells.Item(matrixConferenciaMedicao.RowCount).Specific).Value = "";

                    }
                }

                //Evento da grid de Entrega
                if (!pVal.BeforeAction && pVal.ItemUID == "Etg_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "Etg_#" && pVal.Row > 0)
                {

                    if (modificouPendecia)
                    {
                        SBO_Application.MessageBox("Vai atualizar Pendencia");
                        Atualizar();
                        oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;
                        modificouPendecia = false;
                    }

                    //Instancia a matriz de ambiente da aba apresentação.
                    oNewItem = oForm.Items.Item("Etg_Amb");
                    SAPbouiCOM.Matrix matrixEntrega;
                    matrixEntrega = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Instancia a matriz de análise crítica da aba apresentação.
                    oNewItem = oForm.Items.Item("Pen_Amb");
                    SAPbouiCOM.Matrix matrixPendencia;
                    matrixPendencia = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Pega a coluna onde vai setar os valores pra o ambiente na matriz de Pendencia.
                    oColumnsPendencia = matrixPendencia.Columns;
                    oColumnPendencia = oColumnsPendencia.Item("Pen_Amb_C0");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixEntrega.Columns.Item("Etg_Amb_C6").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixEntrega.Columns.Item("Etg_Amb_C0").Cells.Item(pVal.Row).Specific;
                    idAmbientePendencia = int.Parse(oEditItem.String);
                    string nomeAmbiente = oItemGrid.String;

                    //Mostra na matriz de Pendencia qual ambiente selecionado.
                    oColumnPendencia.TitleObject.Caption = "Ambiente (" + nomeAmbiente + ")";
                    LoadGridPendencias();
                    countMatrixPendenciaAntes = matrixPendencia.RowCount;

                    if (matrixPendencia.RowCount == 0)
                    {
                        matrixPendencia.AddRow(1, 1);
                    }
                }
                //Evento da grid de ambiente/análise crítica.
                if (!pVal.BeforeAction && pVal.ItemUID == "Pen_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "Pen_Amb_C0" && pVal.CharPressed == 9)
                {
                    oNewItem = oForm.Items.Item("Pen_Amb");
                    SAPbouiCOM.Matrix matrixPendencia;
                    matrixPendencia = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixPendencia.Columns.Item("Pen_Amb_C0").Cells.Item(matrixPendencia.RowCount).Specific;
                    string nome = oEditItem.String;

                    if (matrixPendencia.RowCount > 0 && nome != "")
                    {
                        matrixPendencia.AddRow(1, matrixPendencia.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixPendencia.Columns.Item("Pen_Amb_C0").Cells.Item(matrixPendencia.RowCount).Specific).Value = "";
                        ((SAPbouiCOM.EditText)matrixPendencia.Columns.Item("Pen_Amb_C1").Cells.Item(matrixPendencia.RowCount).Specific).Value = "";
                    }
                }

                if (pVal.ItemUID == "Pen_Amb" && pVal.ColUID == "Pen_Amb_C0" && pVal.ItemChanged && !pVal.BeforeAction)
                {
                    SBO_Application.MessageBox("Teste Pendencia");
                    modificouPendecia = true;
                }
            }

            if (pVal.FormType == 651)
            {
                if (pVal.EventType != SAPbouiCOM.BoEventTypes.et_FORM_UNLOAD)
                {
                    oFormAtual = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);

                    if (pVal.ItemUID == "Ata_Ativ" & pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED & !pVal.Before_Action)
                    {
                        abrirRelatorio("Ata de reuniao", oFormAtual.Items.Item("5").Specific.Value);
                    }

                    if (!pVal.Before_Action && (pVal.EventType == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "67"))
                    {
                        if (oFormAtual.Items.Item("67").Specific.Value == "M")
                        {
                            atividade.habilitaBotaoAta();
                        }
                        else
                        {
                            atividade.desabilitaBotaoAta();
                        }
                    }

                    if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD)
                    {

                        if (pVal.Before_Action)
                        {
                            atividade = new Atividade(oFormAtual);
                        }

                        if (bBotaoAgendarFoiClicado)
                        {
                            oFormPai = SBO_Application.Forms.GetFormByTypeAndCount(320, iUltimoFormTypeCount_SalesOpportunities);

                            sSalesOpportunities_Id = ((SAPbouiCOM.EditText)oFormPai.Items.Item("74").Specific).Value;
                            sBPCode = ((SAPbouiCOM.EditText)oFormPai.Items.Item("9").Specific).Value;

                            oFormAtual = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);

                            ((SAPbouiCOM.EditText)oFormAtual.Items.Item("9").Specific).Value = sBPCode;

                            bBotaoAgendarFoiClicado = false;
                        }
                    }
                }
            }
        }