Ejemplo n.º 1
0
        private static void LoadInfo(SAPbouiCOM.Form oForm)
        {
            SAPbobsCOM.Recordset oRecordset = null;
            SAPbouiCOM.Matrix    oMatrix    = null;
            SAPbouiCOM.Matrix    oMatrixMm  = null;

            try
            {
                oForm.Freeze(true);
                oRecordset = Conexion_SBO.m_oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                oMatrixMm  = oForm.Items.Item("Mtx_Mn").Specific;
                oRecordset.DoQuery("SELECT \"DocNum\" FROM \"@SEI_SETVALH\" ");
                if (oRecordset.RecordCount > 0)
                {
                    SAPbouiCOM.EditText oedit = null;
                    oForm.Mode = SAPbouiCOM.BoFormMode.fm_FIND_MODE;
                    String docNUM = Convert.ToString(oRecordset.Fields.Item(0).Value);
                    oedit       = oForm.Items.Item("DocNum").Specific;
                    oedit.Value = docNUM;
                    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;
                    oMatrixMm.AddRow();
                }
                else
                {
                    oForm.Mode = SAPbouiCOM.BoFormMode.fm_ADD_MODE;
                    //oForm.Items.Item("DocNum").Enabled = false;
                    oForm.Items.Item("DocNum").Visible = false;
                    //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;

                    oMatrixMm.AddRow();
                    ((SAPbouiCOM.EditText)(oMatrixMm.Columns.Item("Col_0").Cells.Item(1).Specific)).Value = "0";
                    ((SAPbouiCOM.EditText)(oMatrixMm.Columns.Item("Col_1").Cells.Item(1).Specific)).Value = "0";
                }
                //oForm.Items.Item("Mtx1").Visible = false;
                oForm.Freeze(false);
            }
            catch (Exception ex)
            {
                oForm.Freeze(false);
            }
        }
Ejemplo n.º 2
0
        private void Matrix1_ChooseFromListAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            if (pVal.ColUID == "code")
            {
                SAPbouiCOM.ISBOChooseFromListEventArg chflarg = (SAPbouiCOM.ISBOChooseFromListEventArg)pVal;
                SAPbouiCOM.DataTable dt = chflarg.SelectedObjects;
                if (dt == null)
                {
                    this.UIAPIRawForm.Freeze(false); return;
                }

                string ItemName = dt.GetValue("ItemName", 0).ToString();
                string ItemCode = dt.GetValue("ItemCode", 0).ToString();

                this.UIAPIRawForm.Items.Item("Item_23").Click(SAPbouiCOM.BoCellClickType.ct_Regular);
                Matrix1.Columns.Item("code").Editable  = false;
                Matrix1.Columns.Item("title").Editable = false;

                (Matrix1.Columns.Item("code").Cells.Item(pVal.Row).Specific as SAPbouiCOM.EditText).Value  = ItemCode;
                (Matrix1.Columns.Item("title").Cells.Item(pVal.Row).Specific as SAPbouiCOM.EditText).Value = ItemName;

                Matrix1.Columns.Item("code").Editable  = true;
                Matrix1.Columns.Item("title").Editable = true;

                Matrix1.Columns.Item("batch").Editable          = true;
                Matrix1.Columns.Item("batch").ChooseFromListUID = "CFL_BatchNumber";

                Matrix1.AddRow();
                (Matrix1.Columns.Item("insID").Cells.Item(pVal.Row + 1).Specific as SAPbouiCOM.EditText).Value = EditText7.Value;
            }

            if (pVal.ColUID == "batch")
            {
                SAPbouiCOM.ISBOChooseFromListEventArg chflarg = (SAPbouiCOM.ISBOChooseFromListEventArg)pVal;
                SAPbouiCOM.DataTable dt = chflarg.SelectedObjects;
                if (dt == null)
                {
                    this.UIAPIRawForm.Freeze(false); return;
                }

                try
                {
                    var a = dt.GetValue("BatchNum", 0).ToString();
                    (Matrix1.Columns.Item("batch").Cells.Item(indexRow).Specific as SAPbouiCOM.EditText).Value = a;
                }
                catch
                {
                    (Matrix1.Columns.Item("batch").Cells.Item(indexRow).Specific as SAPbouiCOM.EditText).Value = dt.GetValue("BatchNum", 0).ToString();
                    UIApp.Forms.ActiveForm.Close();
                }

                indexRow = pVal.Row;
            }
        }
        internal void populateItemsFromGR(List <Item> items)
        {
            grMatrix.Clear();
            this.UIAPIRawForm.Freeze(true);
            int rows = items.Count;

            for (int i = 1; i <= rows; i++)
            {
                grMatrix.AddRow();
                try
                {
                    //grMatrix.SetCellWithoutValidation(i,"1", items[i - 1].ItemCode);
                    //SAPbouiCOM.EditText tempCell2 = (grMatrix.Columns.Item("2").Cells.Item(i).Specific as SAPbouiCOM.EditText);


                    grMatrix.SetCellValue("1", i, items[i - 1].ItemCode); //ItemCode
                    grMatrix.SetCellValue("9", i, items[i - 1].Quantity); //Item Quantity
                    grMatrix.SetCellValue("15", i, items[i - 1].WhsCode); //Item Whs Code
                    //grMatrix.SetCellWithoutValidation(i, "15", items[i - 1].WhsCode);
                    //(grMatrix.Columns.Item("15").Cells.Item(i).Specific as SAPbouiCOM.EditText).String = items[i - 1].WhsCode;


                    // grMatrix.SetCellValue("231000074", i, items[i - 1].BaseDocEntry); //Base Reference
                }
                catch (Exception ex)
                {
                    Utilities.LogErrors(string.Concat("Exception Occured at GoodsReceipt.populateItemsFromGR: ", ex.ToString()));
                    Application.SBO_Application.MessageBox(string.Format("Error Can't Add {0}. {1}", items[i - 1].ItemCode, ex.ToString()));
                }
            }
            this.UIAPIRawForm.Freeze(false);
        }
Ejemplo n.º 4
0
        private void addEmptyRow(SAPbouiCOM.Matrix mt, SAPbouiCOM.DataTable dt, string firstCol)
        {
            if (dt.Rows.Count == 0)
            {
                dt.Rows.Add(2);
                dt.Rows.Remove(1);
                dt.SetValue("Id", 0, "1");
                mt.AddRow(1, mt.RowCount + 1);
            }
            else
            {
                if (Convert.ToString(dt.GetValue(firstCol, dt.Rows.Count - 1)) == "")
                {
                    string strCostCode = Convert.ToString(dt.GetValue(firstCol, dt.Rows.Count - 1));
                }
                else
                {
                    mt.AddRow(1, mt.RowCount + 1);
                    mt.SetLineData(mt.RowCount);
                    mt.FlushToDataSource();


                    dt.SetValue("Id", dt.Rows.Count - 1, dt.Rows.Count.ToString());
                    dt.SetValue(firstCol, dt.Rows.Count - 1, "");



                    BOQD.SetValue("STD", dt.Rows.Count - 1, "");
                    BOQD.SetValue("ETD", dt.Rows.Count - 1, "");
                    BOQD.SetValue("WBL", dt.Rows.Count - 1, "");
                    BOQD.SetValue("WBD", dt.Rows.Count - 1, "");
                    BOQD.SetValue("Type", dt.Rows.Count - 1, "");
                    BOQD.SetValue("Code", dt.Rows.Count - 1, "");
                    BOQD.SetValue("Name", dt.Rows.Count - 1, "");
                    BOQD.SetValue("Remarks", dt.Rows.Count - 1, "");
                    BOQD.SetValue("Qty", dt.Rows.Count - 1, "0");
                    BOQD.SetValue("UP", dt.Rows.Count - 1, "0");
                    BOQD.SetValue("BGTC", dt.Rows.Count - 1, "0");



                    mt.SetLineData(mt.RowCount);
                }
            }
            //    mt.LoadFromDataSource();
        }
Ejemplo n.º 5
0
 public void MatrixDataWrite()
 {
     Users = UserController.GetAllUser();
     for (int i = 0; i < Users.Count; i++)
     {
         Matrix0.AddRow();
         ((SAPbouiCOM.EditText)Matrix0.Columns.Item("Name").Cells.Item(i + 1).Specific).Value       = Users[i].Name;
         ((SAPbouiCOM.EditText)Matrix0.Columns.Item("Surname").Cells.Item(i + 1).Specific).Value    = Users[i].Surname;
         ((SAPbouiCOM.EditText)Matrix0.Columns.Item("FatherName").Cells.Item(i + 1).Specific).Value = Users[i].Fathername;
     }
 }
Ejemplo n.º 6
0
 public static void AddLine(this SAPbouiCOM.Matrix mtxControl)
 {
     try
     {
         SAPbouiCOM.EditText currentControl;
         if (mtxControl.RowCount <= 0)
         {
             mtxControl.AddRow();
             mtxControl.ClearRowData(1);
         }
         else
         {
             mtxControl.AddRow(1, mtxControl.RowCount + 1);
             mtxControl.ClearRowData(mtxControl.RowCount);
         }
         currentControl        = mtxControl.GetCellSpecific(1, mtxControl.RowCount) as SAPbouiCOM.EditText;
         currentControl.Active = true;
     }
     catch (Exception ex)
     {
     }
 }
Ejemplo n.º 7
0
        internal void AddRow(int lIntRow)
        {
            //string lStrActualRow = ((SAPbouiCOM.EditText)(lObjMatrix.Columns.Item("Rank1").Cells.Item(lIntRow).Specific)).Value;
            //int ActualRow = lObjMatrix.GetCellFocus().rowIndex;


            if (((SAPbouiCOM.EditText)(lObjMatrix.Columns.Item("Rank1").Cells.Item(lIntRow).Specific)).Value != "")
            {
                if (lStrRow == "")
                {
                    lObjMatrix.AddRow();
                }
            }
        }
Ejemplo n.º 8
0
        private void Matrix0_ChooseFromListAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            SAPbouiCOM.ISBOChooseFromListEventArg chflarg = (SAPbouiCOM.ISBOChooseFromListEventArg)pVal;
            SAPbouiCOM.DataTable dt = chflarg.SelectedObjects;
            if (dt == null)
            {
                this.UIAPIRawForm.Freeze(false); return;
            }

            string ItemName = dt.GetValue("ItemName", 0).ToString();
            string ItemCode = dt.GetValue("ItemCode", 0).ToString();

            this.UIAPIRawForm.Items.Item("Item_33").Click(SAPbouiCOM.BoCellClickType.ct_Regular);
            Matrix0.Columns.Item("code").Editable  = false;
            Matrix0.Columns.Item("title").Editable = false;

            (Matrix0.Columns.Item("code").Cells.Item(pVal.Row).Specific as SAPbouiCOM.EditText).Value  = ItemCode;
            (Matrix0.Columns.Item("title").Cells.Item(pVal.Row).Specific as SAPbouiCOM.EditText).Value = ItemName;

            Matrix0.Columns.Item("code").Editable  = true;
            Matrix0.Columns.Item("title").Editable = true;

            Matrix0.AddRow();
        }
Ejemplo n.º 9
0
        private void mBtnAdd_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;
            if (!(sboObject as SAPbouiCOM.Button).Item.Enabled)
            {
                return;
            }

            try
            {
                string lStrItemCode = mCmbType.Value.ToString();
                string lStrPrice    = mEdtAmnt.Value;
                if (mFrmInvoice.Mode != SAPbouiCOM.BoFormMode.fm_ADD_MODE && mFrmInvoice.Mode != SAPbouiCOM.BoFormMode.fm_UPDATE_MODE)
                {
                    UIApplication.ShowMessageBox("El documento actual no es editable.");
                    return;
                }
                if (mFrmInvoice.Mode != SAPbouiCOM.BoFormMode.fm_ADD_MODE && mFrmInvoice.Mode != SAPbouiCOM.BoFormMode.fm_UPDATE_MODE)
                {
                    UIApplication.ShowMessageBox("El documento actual no es editable.");
                    return;
                }
                if (Convert.ToDouble(lStrPrice) <= 0)
                {
                    UIApplication.ShowMessageBox("La comisión debe ser mayor a cero.");
                    return;
                }

                mFrmDialog.Close();

                int lIntRow = mMtxLines.RowCount;
                if ((mMtxLines.Columns.Item("1").Cells.Item(lIntRow).Specific as SAPbouiCOM.EditText).Value != "")
                {
                    mMtxLines.AddRow();
                    lIntRow++;
                }
                mMtxLines.SetCellFocus(lIntRow, 1);
                SetValueColumnEditText("1", lIntRow, lStrItemCode);
                SetValueColumnEditText("14", lIntRow, lStrPrice);
            }
            catch (Exception lObjException)
            {
                LogUtility.WriteError(string.Format("[ComissionModal - mBtnAdd_ClickBefore] Error al agregar el item con la comisión: {0}", lObjException.Message));
                UIApplication.ShowMessageBox(string.Format("Error al agregar el item con la comisión: {0}", lObjException.Message));
            }
        }
Ejemplo n.º 10
0
Archivo: f17.cs Proyecto: Fun33/code
 private void SBO_ItemEvnt(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
 {
     BubbleEvent = true;
     try
     {
         GetCFL_EDIT(FormUID, ref pVal, out BubbleEvent, "CardCode", "2");    //f.item(UID);;f.item.col.row
         GetCFL_M1_EDIT(FormUID, ref pVal, out BubbleEvent, "m1", "4");
         if (pVal.Before_Action == false)
         {
             if (pVal.ItemUID == "del")
             {
                 if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK)
                 {
                     int i = m1.GetNextSelectedRow(0, SAPbouiCOM.BoOrderType.ot_RowOrder);
                     if (i > 0)
                     {
                         m1.DeleteRow(i);
                     }
                     else
                     {
                         SubMain.MessageBox("½Ð¿ï¨ú");
                     }
                 }
             }
             else if (pVal.ItemUID == "add")
             {
                 if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK)
                 {
                     //http://scn.sap.com/thread/23469
                     //f.DataSources.DataTables.Item("RDR1").Rows.Add(1);
                     //m1.AddRow(1,m1.RowCount);
                     //f.DataSources.DBDataSources.Item(1).Clear();
                     m1.AddRow(1, m1.RowCount);
                     //((SAPbouiCOM.EditText)m1.Columns.Item(1).Cells.Item(1).Specific).Value = "0003013021000";
                 }
             }
         }
     }
     catch (Exception ex)
     {
         SubMain.MessageBox(ex.Message);
     }
 }
Ejemplo n.º 11
0
        private void Button1_PressedAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            int LineNumber = 0;

            int.TryParse(this.EditText0.Value.ToString(), out LineNumber);
            if (LineNumber > 0)
            {
                //Add Line
                this.UIAPIRawForm.PaneLevel = 2;
                SAPbouiCOM.Matrix oMtx_D = ((SAPbouiCOM.Matrix) this.GetItem("1_U_G").Specific);
                int MaxLine = 0;
                int.TryParse(((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_1").Cells.Item(oMtx_D.RowCount).Specific).Value, out MaxLine);
                for (int i = 0; i < LineNumber; i++)
                {
                    if (MaxLine + i + 1 < MaxLine + LineNumber + 1)
                    {
                        oMtx_D.AddRow();
                        ((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_1").Cells.Item(MaxLine + i + 1).Specific).Value = (MaxLine + i + 1).ToString();
                    }
                }
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Method AddRow
        /// Add row in matrix
        /// </summary>
        /// <remarks>@author RCordova-2017/08/15</remarks>
        public void AddRow()
        {
            if (txtQuantity.Value != string.Empty && cmbType.Value != string.Empty)
            {
                OnlyNumbers();
                if (ValidQuantity())
                {
                    mObjMtxInspDetails.AddRow();

                    ((SAPbouiCOM.EditText)mObjMtxInspDetails.Columns.Item("ColType").Cells.Item(mObjMtxInspDetails.RowCount).Specific).Value  = cmbType.Value.Substring(2);
                    ((SAPbouiCOM.EditText)mObjMtxInspDetails.Columns.Item("ColQuan").Cells.Item(mObjMtxInspDetails.RowCount).Specific).Value  = txtQuantity.Value;
                    ((SAPbouiCOM.EditText)mObjMtxInspDetails.Columns.Item("ColComm").Cells.Item(mObjMtxInspDetails.RowCount).Specific).Value  = txtComments.Value.ToString();
                    ((SAPbouiCOM.EditText)mObjMtxInspDetails.Columns.Item("ColTypeM").Cells.Item(mObjMtxInspDetails.RowCount).Specific).Value = cmbType.Value.Substring(0, 1);

                    DetailsList(mObjMtxInspDetails.RowCount);

                    mObjMtxInspDetails.SetCellFocus(mObjMtxInspDetails.RowCount, 0);

                    mObjMtxInspDetails.SelectRow(mObjMtxInspDetails.RowCount, true, false);

                    Application.SBO_Application.StatusBar.SetText("Linea agregada correctamente"
                                                                  , SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success);
                    ClearFields();
                    if (mObjMtxInspDetails.RowCount > 0)
                    {
                        btnMod.Item.Enabled    = true;
                        btnCancel.Item.Enabled = false;
                    }
                }
                else
                {
                }
            }
            else
            {
                Application.SBO_Application.StatusBar.SetText("Agregue Tipo y Cantidad para continuar"
                                                              , SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// obtiene una lista de documentos sap
        /// </summary>
        /// <param name="Listdocuments">Lista de documentos</param>
        public SEI_FormDocSMas(List <Documents> Listdocuments)
        {
            CargarXML();

            SAPbouiCOM.Form     oForm     = null;
            SAPbouiCOM.EditText oEditText = null;
            SAPbouiCOM.Matrix   oMatrix   = null;
            int cantRow = 1;

            try
            {
                oForm   = Conexion_SBO.m_SBO_Appl.Forms.Item("FormDocSMas");
                oMatrix = oForm.Items.Item("MatrixIM").Specific;
                foreach (Documents doc in Listdocuments)
                {
                    oMatrix.AddRow();
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_7").Cells.Item(cantRow).Specific).Value = doc.RutEmisor;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_8").Cells.Item(cantRow).Specific).Value = doc.Folio;

                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_1-1").Cells.Item(cantRow).Specific).Value = doc.DocRef;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_1-2").Cells.Item(cantRow).Specific).Value = doc.NroRef;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_1-3").Cells.Item(cantRow).Specific).Value = doc.FecRef;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_1-4").Cells.Item(cantRow).Specific).Value = doc.RzRef;

                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_9").Cells.Item(cantRow).Specific).Value     = doc.Tipo;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_10").Cells.Item(cantRow).Specific).Value    = doc.FebId;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_11").Cells.Item(cantRow).Specific).Value    = doc.CardCode;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_FEmis").Cells.Item(cantRow).Specific).Value = doc.FchEmis;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_FVenc").Cells.Item(cantRow).Specific).Value = doc.FchVenc;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_Total").Cells.Item(cantRow).Specific).Value = doc.MntTotal;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_IVA").Cells.Item(cantRow).Specific).Value   = doc.IVA;
                    ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Col_Neto").Cells.Item(cantRow).Specific).Value  = doc.Neto;
                    ++cantRow;
                }
            }
            catch (Exception ex)
            { }
        }
Ejemplo n.º 14
0
        private void DoPayment()
        {
            try
            {
                if (ValidateEmptyControls())
                {
                    Application.SBO_Application.SetStatusBarMessage("Verificar campos vacíos", SAPbouiCOM.BoMessageTime.bmt_Short, true);
                    return;
                }

                if (dtTravelExp.Rows.Count <= 0)
                {
                    Application.SBO_Application.SetStatusBarMessage("No puede crear un pago sin líneas", SAPbouiCOM.BoMessageTime.bmt_Short, true);
                    return;
                }

                if (string.IsNullOrEmpty(mStrExpDayAcct) || string.IsNullOrEmpty(mStrMinorPurchAcct) || string.IsNullOrEmpty(mStrViaticExpAcct) || string.IsNullOrEmpty(mStrViaticPaymAcct))
                {
                    Application.SBO_Application.SetStatusBarMessage("Alguna de las cuentas de configuración no tiene valor, favor de verificar", SAPbouiCOM.BoMessageTime.bmt_Short, true);
                    return;
                }

                this.UIAPIRawForm.Freeze(true);

                Application.SBO_Application.ActivateMenuItem("2818");

                if (!Application.SBO_Application.Menus.Item("6913").Checked)
                {
                    Application.SBO_Application.ActivateMenuItem("6913");//2050
                }

                SAPbouiCOM.EditText txtDocDate = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("426", -1).Items.Item("10").Specific);
                txtDocDate.Value = DateTime.Now.ToString("yyyyMMdd");

                SAPbouiCOM.OptionBtn optionBtnAccount = ((SAPbouiCOM.OptionBtn)UIApplication.GetApplication().Forms.GetForm("426", -1).Items.Item("58").Specific);
                optionBtnAccount.Selected = true;

                SAPbouiCOM.ComboBox cboPymtType = ((SAPbouiCOM.ComboBox)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_GLO_PaymentType").Specific);
                cboPymtType.Select(PaymentsTypesEnum.TravelExpenses.Value, SAPbouiCOM.BoSearchKey.psk_ByValue);

                SAPbouiCOM.EditText txtCodeMov = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_GLO_CodeMov").Specific);
                txtCodeMov.Value = txtFolio.Value;

                //SAPbouiCOM.EditText txtCostCenter = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_GLO_CostCenter").Specific);
                //txtCostCenter.Value = "MQ_MAQUI";

                SAPbouiCOM.ComboBox cboCostCenter = ((SAPbouiCOM.ComboBox)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_GLO_CostCenter").Specific);
                cboCostCenter.Select("MQ_MAQUI", SAPbouiCOM.BoSearchKey.psk_ByValue);

                SAPbouiCOM.ComboBox cboAuxiliarType = ((SAPbouiCOM.ComboBox)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_FZ_AuxiliarType").Specific);
                cboAuxiliarType.Select(((int)AuxiliaryTypeEnum.Employees).ToString(), SAPbouiCOM.BoSearchKey.psk_ByValue);

                SAPbouiCOM.EditText txtAuxiliar = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_FZ_Auxiliar").Specific);
                txtAuxiliar.Value = mStrSupervisorCode;

                SAPbouiCOM.EditText txtFolioOri = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_GLO_FolioOri").Specific);
                txtFolioOri.Value = txtRiseFolio.Value;

                SAPbouiCOM.EditText txtObjType = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("-426", -1).Items.Item("U_GLO_ObjType").Specific);
                txtObjType.Value = this.UIAPIRawForm.UniqueID;

                SAPbouiCOM.Button btnBank = ((SAPbouiCOM.Button)UIApplication.GetApplication().Forms.GetForm("426", -1).Items.Item("234000001").Specific);
                btnBank.Item.Click();

                SAPbouiCOM.Folder folderCash = ((SAPbouiCOM.Folder)UIApplication.GetApplication().Forms.GetForm("196", -1).Items.Item("6").Specific);
                folderCash.Item.Click();

                SAPbouiCOM.EditText txtAccount = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("196", -1).Items.Item("32").Specific);
                txtAccount.Value = mStrViaticPaymAcct;

                SAPbouiCOM.EditText txtImport = ((SAPbouiCOM.EditText)UIApplication.GetApplication().Forms.GetForm("196", -1).Items.Item("38").Specific);
                txtImport.Value = txtTotal.Value;

                SAPbouiCOM.Button btnOk = ((SAPbouiCOM.Button)UIApplication.GetApplication().Forms.GetForm("196", -1).Items.Item("1").Specific);
                btnOk.Item.Click();

                SAPbouiCOM.Matrix mtxPayment = ((SAPbouiCOM.Matrix)UIApplication.GetApplication().Forms.GetForm("426", -1).Items.Item("71").Specific);
                for (int i = 0; i < dtTravelExp.Rows.Count; i++)
                {
                    mtxPayment.AddRow();

                    string lStrMovTypeCode  = dtTravelExp.GetValue(9, i).ToString();
                    double lDblLineImport   = double.Parse(dtTravelExp.GetValue(8, i).ToString());
                    string lStrEmployeeType = dtTravelExp.GetValue(10, i).ToString();
                    string lStrEmployeeCode = dtTravelExp.GetValue(5, i).ToString();
                    double lDblDayPrice     = double.Parse(dtTravelExp.GetValue(7, i).ToString());

                    if (lDblDayPrice > 0)
                    {
                        ((SAPbouiCOM.EditText)mtxPayment.Columns.Item("5").Cells.Item(i + 1).Specific).Value = lDblLineImport.ToString();
                        ((SAPbouiCOM.ComboBox)mtxPayment.Columns.Item("U_GLO_TypeViatic").Cells.Item(i + 1).Specific).Select(lStrMovTypeCode.ToString(), SAPbouiCOM.BoSearchKey.psk_ByDescription);
                        ((SAPbouiCOM.ComboBox)mtxPayment.Columns.Item("U_MQ_TypeEmp").Cells.Item(i + 1).Specific).Select(lStrEmployeeType, SAPbouiCOM.BoSearchKey.psk_ByValue);
                        ((SAPbouiCOM.EditText)mtxPayment.Columns.Item("U_MQ_Aux").Cells.Item(i + 1).Specific).Value      = lStrEmployeeCode;
                        ((SAPbouiCOM.EditText)mtxPayment.Columns.Item("U_MQ_DayPrice").Cells.Item(i + 1).Specific).Value = lDblDayPrice.ToString();

                        TravelExpMovTypesEnum lTravExpTypeEnum = TravelExpMovTypesEnum.GetEnum(lStrMovTypeCode);
                        if (TravelExpMovTypesEnum.IsTravelExpensesType(lTravExpTypeEnum))
                        {
                            ((SAPbouiCOM.EditText)mtxPayment.Columns.Item("8").Cells.Item(i + 1).Specific).Value = mStrViaticExpAcct; //cuenta de mayor
                        }
                        else if (TravelExpMovTypesEnum.IsDayExpensesType(lTravExpTypeEnum))
                        {
                            ((SAPbouiCOM.EditText)mtxPayment.Columns.Item("8").Cells.Item(i + 1).Specific).Value = mStrExpDayAcct; //cuenta de mayor
                        }
                        else if (TravelExpMovTypesEnum.IsMinorExpensesType(lTravExpTypeEnum))
                        {
                            ((SAPbouiCOM.EditText)mtxPayment.Columns.Item("8").Cells.Item(i + 1).Specific).Value = mStrMinorPurchAcct; //cuenta de mayor
                        }
                    }
                }

                this.UIAPIRawForm.Close();

                #region Payment

                /*SAPbobsCOM.Payments lObjOutgoingPayment = (SAPbobsCOM.Payments)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPaymentsDrafts);
                 * lObjOutgoingPayment.DocObjectCode = SAPbobsCOM.BoPaymentsObjectType.bopot_OutgoingPayments;
                 * lObjOutgoingPayment.DocDate = DateTime.Now;
                 * lObjOutgoingPayment.DocType = SAPbobsCOM.BoRcptTypes.rAccount;
                 * lObjOutgoingPayment.CashAccount = mStrViaticPaymAcct;
                 * lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_PaymentType").Value = PaymentsTypesEnum.TravelExpenses.Value;
                 * lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_CodeMov").Value = txtFolio.Value; //folio de solicitud de viáticos
                 * lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_CostCenter").Value = "MQ_MAQUI"; //centro de costo
                 * lObjOutgoingPayment.UserFields.Fields.Item("U_FZ_AuxiliarType").Value = ((int)AuxiliaryTypeEnum.Employees).ToString(); //tipo de auxiliar
                 * lObjOutgoingPayment.UserFields.Fields.Item("U_FZ_Auxiliar").Value = mStrSupervisorCode; //auxiliar
                 * lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_FolioOri").Value = txtRiseFolio.Value;
                 * lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_ObjType").Value = this.UIAPIRawForm.UniqueID;
                 * lObjOutgoingPayment.CashSum = double.Parse(txtTotal.Value);
                 *
                 * for (int i = 0; i < dtTravelExp.Rows.Count; i++)
                 * {
                 *  string lStrMovTypeCode = dtTravelExp.GetValue(9, i).ToString();
                 *  double lDblLineImport = double.Parse(dtTravelExp.GetValue(8, i).ToString());
                 *  string lStrEmployeeType = dtTravelExp.GetValue(10, i).ToString();
                 *  string lStrEmployeeCode = dtTravelExp.GetValue(5, i).ToString();
                 *  double lDblDayPrice = double.Parse(dtTravelExp.GetValue(7, i).ToString());
                 *
                 *  if (lDblDayPrice > 0)
                 *  {
                 *      lObjOutgoingPayment.AccountPayments.SetCurrentLine(i);
                 *      lObjOutgoingPayment.AccountPayments.SumPaid = lDblLineImport;
                 *      lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_GLO_TypeViatic").Value = lStrMovTypeCode.ToString();
                 *      lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_MQ_TypeEmp").Value = lStrEmployeeType;
                 *      lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_MQ_Aux").Value = lStrEmployeeCode; //code empleado
                 *      lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_MQ_DayPrice").Value = lDblDayPrice;
                 *
                 *      TravelExpMovTypesEnum lTravExpTypeEnum = TravelExpMovTypesEnum.GetEnum(lStrMovTypeCode);
                 *      if (TravelExpMovTypesEnum.IsTravelExpensesType(lTravExpTypeEnum))
                 *      {
                 *          lObjOutgoingPayment.AccountPayments.AccountCode = mStrViaticExpAcct;
                 *      }
                 *      else if (TravelExpMovTypesEnum.IsDayExpensesType(lTravExpTypeEnum))
                 *      {
                 *          lObjOutgoingPayment.AccountPayments.AccountCode = mStrExpDayAcct;
                 *      }
                 *      else if (TravelExpMovTypesEnum.IsMinorExpensesType(lTravExpTypeEnum))
                 *      {
                 *          lObjOutgoingPayment.AccountPayments.AccountCode = mStrMinorPurchAcct;
                 *      }
                 *
                 *      lObjOutgoingPayment.AccountPayments.Add();
                 *  }
                 * }
                 *
                 * if (lObjOutgoingPayment.Add() != 0)
                 * {
                 *  string lStrLastError = DIApplication.Company.GetLastErrorDescription();
                 *  UIApplication.ShowMessageBox(string.Format("Error al generar el pago: {0}", DIApplication.Company.GetLastErrorDescription()));
                 * }
                 * else
                 * {
                 *  int lIntDocEntry = int.Parse(DIApplication.Company.GetNewObjectKey());
                 *
                 *  mObjTravelExpensesDTO = mObjMachinerySeviceFactory.GetTravelExpensesService().GetDraftPayment(lIntDocEntry);
                 *
                 *  UIApplication.GetApplication().OpenForm((SAPbouiCOM.BoFormObjectEnum)140, "", lIntDocEntry.ToString());
                 *
                 *  this.UIAPIRawForm.Close();
                 * }*/
                #endregion
            }
            catch (Exception lObjException)
            {
                LogUtility.WriteError(string.Format("[frmTravelExpenses - DoPayment] Error al realizar el pago efectuado: {0}", lObjException.Message));
                Application.SBO_Application.MessageBox(string.Format("Error al realizar el pago efectuado: {0}", lObjException.Message));
            }
            finally
            {
                this.UIAPIRawForm.Freeze(false);
            }
        }
    private void ShowRecPay(SAPbouiCOM.Form form)
    {
        string sql = "";

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

            DateTime FromdtValue = getdate(ed_fromDatePyR);
            DateTime TodtValue   = getdate(ed_ToDatePyR).Add(DateTime.MaxValue.TimeOfDay);
            var      filters     = new SearchFilter[1];
            filters[0] = new SearchFilter();

            filters[0].FieldName          = "PaymentInternalId";
            filters[0].ComparisonOperator = "eq";
            filters[0].FieldValue         = "7331bcf0-4ea4-4259-a14f-3343233d295a";

            var PendingPaymentsList = ebiz.SearchEbizWebFormReceivedPayments(getToken(), "", FromdtValue, TodtValue, null, 0, 100, "");



            form.Items.Item(MtxRecPay).AffectsFormMode = false;
            OMtxRecPay = (SAPbouiCOM.Matrix)form.Items.Item(MtxRecPay).Specific;
            OMtxRecPay.Clear();
            odtRecPay = GetDatatableRecPay(form);

            sql = String.Format("select  top 1'N' as [clSel],ROW_NUMBER() OVER (ORDER BY [DocEntry]) AS [ID],[DocNum],[DocDate],[DocTotal],[CardCode],[CardName],IFNULL([U_EbizChargeID],'') as [EBiz],CASE WHEN IFNULL([U_EbizChargeID], '') = '' THEN 'False' ELSE 'True'END as [Sync] from ORDR where  [DocStatus]='100' ").Replace("]", "\"").Replace("[", "\"");
            odtRecPay.ExecuteQuery(sql);
            BindMtxRecPay(OMtxRecPay, "clSel", "clSel", dtItem, true);
            BindMtxRecPay(OMtxRecPay, "clNo", "ID");
            BindMtxRecPay(OMtxRecPay, "DocNum", "DocNum");
            BindMtxRecPay(OMtxRecPay, "DocDate", "DocDate");
            BindMtxRecPay(OMtxRecPay, "CardCode", "CardCode");
            BindMtxRecPay(OMtxRecPay, "Email", "CardName");
            BindMtxRecPay(OMtxRecPay, "DocTotal", "DocTotal");
            BindMtxRecPay(OMtxRecPay, "clEbizkey", "EBiz");
            BindMtxRecPay(OMtxRecPay, "clSync", "Sync");

            OMtxRecPay.LoadFromDataSource();
            OMtxRecPay.Clear();
            foreach (var itm in PendingPaymentsList)
            {
                OMtxRecPay.AddRow(1);
                SAPbouiCOM.EditText oEdit = (SAPbouiCOM.EditText)OMtxRecPay.Columns.Item("CardCode").Cells.Item(OMtxRecPay.RowCount).Specific;
                oEdit.Value = itm.CustomerId;
                oEdit       = (SAPbouiCOM.EditText)OMtxRecPay.Columns.Item("DocTotal").Cells.Item(OMtxRecPay.RowCount).Specific;
                oEdit.Value = itm.AmountDue;
                oEdit       = (SAPbouiCOM.EditText)OMtxRecPay.Columns.Item("DocNum").Cells.Item(OMtxRecPay.RowCount).Specific;
                oEdit.Value = itm.InvoiceNumber;
                oEdit       = (SAPbouiCOM.EditText)OMtxRecPay.Columns.Item("clEbizkey").Cells.Item(OMtxRecPay.RowCount).Specific;
                oEdit.Value = itm.PaymentInternalId;
                oEdit       = (SAPbouiCOM.EditText)OMtxRecPay.Columns.Item("Email").Cells.Item(OMtxRecPay.RowCount).Specific;
                oEdit.Value = itm.CustomerEmailAddress;
                oEdit       = (SAPbouiCOM.EditText)OMtxRecPay.Columns.Item("DocDate").Cells.Item(OMtxRecPay.RowCount).Specific;
                var date = DatetimeTosapFormatDate(Convert.ToDateTime(itm.PaymentRequestDateTime));
                oEdit.Value = date;
            }
            OMtxRecPay.AutoResizeColumns();
        }
        catch (Exception ex)
        {
            errorLog(ex);
            errorLog(sql);
        }
    }
Ejemplo n.º 16
0
 private void setMatrix(ref SAPbouiCOM.Matrix pMatrix1)
 {
     pMatrix1.AddRow(5, -1);
 }
    private void ShowSendPendEmail(SAPbouiCOM.Form form)
    {
        string sql = "";

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

            DateTime FromdtValue         = getdate(ed_fromDate);
            DateTime TodtValue           = getdate(ed_ToDate).Add(DateTime.MaxValue.TimeOfDay);
            var      PendingPaymentsList = ebiz.SearchEbizWebFormPendingPayments(getToken(), "", FromdtValue, TodtValue, null, 0, 100, "");

            //  var PaymentResp = ebiz.DeleteEbizWebFormPayment(getToken(), "");
            // var ReminderResp = ebiz.ResendEbizWebFormEmail(getToken(), "");


            form.Items.Item(MtxSendPendingEmail).AffectsFormMode = false;
            oMatrixPendEmail = (SAPbouiCOM.Matrix)form.Items.Item(MtxSendPendingEmail).Specific;
            oMatrixPendEmail.Clear();
            odtSendPendingEmail = getDataTablePendEmail(form);

            sql = String.Format("select  top 1'N' as [clSel],ROW_NUMBER() OVER (ORDER BY [DocEntry]) AS [ID],[DocNum],[DocDate],[DocTotal],[CardCode],[CardName],IFNULL([U_EbizChargeID],'') as [EBiz],CASE WHEN IFNULL([U_EbizChargeID], '') = '' THEN 'False' ELSE 'True'END as [Sync] from ORDR where  [DocStatus]='100' ").Replace("]", "\"").Replace("[", "\"");
            odtSendPendingEmail.ExecuteQuery(sql);
            BindMatrixPendEmail(oMatrixPendEmail, "clSel", "clSel", dtItem, true);
            BindMatrixPendEmail(oMatrixPendEmail, "clNo", "ID");
            BindMatrixPendEmail(oMatrixPendEmail, "DocNum", "DocNum");
            BindMatrixPendEmail(oMatrixPendEmail, "DocDate", "DocDate");
            BindMatrixPendEmail(oMatrixPendEmail, "CardCode", "CardCode");
            BindMatrixPendEmail(oMatrixPendEmail, "Email", "CardName");
            BindMatrixPendEmail(oMatrixPendEmail, "DocTotal", "DocTotal");
            BindMatrixPendEmail(oMatrixPendEmail, "clEbizkey", "EBiz");
            BindMatrixPendEmail(oMatrixPendEmail, "clSync", "Sync");

            oMatrixPendEmail.LoadFromDataSource();
            oMatrixPendEmail.Clear();
            foreach (var itm in PendingPaymentsList)
            {
                oMatrixPendEmail.AddRow(1);
                SAPbouiCOM.EditText oEdit = (SAPbouiCOM.EditText)oMatrixPendEmail.Columns.Item("CardCode").Cells.Item(oMatrixPendEmail.RowCount).Specific;
                oEdit.Value = itm.CustomerId;
                oEdit       = (SAPbouiCOM.EditText)oMatrixPendEmail.Columns.Item("DocTotal").Cells.Item(oMatrixPendEmail.RowCount).Specific;
                oEdit.Value = itm.AmountDue;
                oEdit       = (SAPbouiCOM.EditText)oMatrixPendEmail.Columns.Item("DocNum").Cells.Item(oMatrixPendEmail.RowCount).Specific;
                oEdit.Value = itm.InvoiceNumber;
                oEdit       = (SAPbouiCOM.EditText)oMatrixPendEmail.Columns.Item("clEbizkey").Cells.Item(oMatrixPendEmail.RowCount).Specific;
                oEdit.Value = itm.PaymentInternalId;
                oEdit       = (SAPbouiCOM.EditText)oMatrixPendEmail.Columns.Item("Email").Cells.Item(oMatrixPendEmail.RowCount).Specific;
                oEdit.Value = itm.CustomerEmailAddress;
                oEdit       = (SAPbouiCOM.EditText)oMatrixPendEmail.Columns.Item("DocDate").Cells.Item(oMatrixPendEmail.RowCount).Specific;
                var date = DatetimeTosapFormatDate(Convert.ToDateTime(itm.PaymentRequestDateTime));
                oEdit.Value = date;
            }
            oMatrixPendEmail.AutoResizeColumns();
        }
        catch (Exception ex)
        {
            errorLog(ex);
            errorLog(sql);
        }
    }
Ejemplo n.º 18
0
        private void Form_VisibleAfter(SAPbouiCOM.SBOItemEventArg pVal)
        {
            if (this.UIAPIRawForm.Visible)
            {
                if (WarningsProject.Menu.initData != null)
                {
                    EditText4.Value = WarningsProject.Menu.initData.createDate.Substring(0, WarningsProject.Menu.initData.createDate.LastIndexOf(" ")); // Create date
                    EditText5.Value = WarningsProject.Menu.initData.customer;                                                                           // CodeBP
                    EditText0.Value = WarningsProject.Menu.initData.custmrName;                                                                         // BP Name
                    EditText6.Value = WarningsProject.Menu.initData.itemCode;                                                                           // Item Code

                    EditText1.Value = WarningsProject.Menu.initData.itemName;                                                                           // Item Name
                    EditText2.Value = WarningsProject.Menu.initData.internalSN;                                                                         // Serial Number
                    EditText7.Value = WarningsProject.Menu.initData.insID;                                                                              // Ins ID

                    dataForMatrixes = AdoNetQueries.whereFormIsOpenMatrix0(WarningsProject.Menu.initData.insID);

                    this.UIAPIRawForm.Freeze(true);

                    if (dataForMatrixes[0].Length == 0)
                    {
                        (Matrix0.Columns.Item("insID").Cells.Item(1).Specific as SAPbouiCOM.EditText).Value = EditText7.Value;
                    }
                    if (dataForMatrixes[1].Length == 0)
                    {
                        (Matrix1.Columns.Item("insID").Cells.Item(1).Specific as SAPbouiCOM.EditText).Value = EditText7.Value;
                    }


                    for (var i = 0; i < dataForMatrixes[0].Length; i++)
                    {
                        Matrix0.AddRow();
                        (Matrix0.Columns.Item("code").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value  = dataForMatrixes[0][i].code1;
                        (Matrix0.Columns.Item("title").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].title;

                        (Matrix0.Columns.Item("photo").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value   = dataForMatrixes[0][i].photo;
                        (Matrix0.Columns.Item("serialN").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].serialNumber;
                        (Matrix0.Columns.Item("articul").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].articul;
                        (Matrix0.Columns.Item("EAN").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value     = dataForMatrixes[0][i].EAN;

                        (Matrix0.Columns.Item("instDate").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].instDate;
                        (Matrix0.Columns.Item("srokExpl").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].srokExpl;
                        (Matrix0.Columns.Item("snDate").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value   = dataForMatrixes[0][i].snDate;
                        (Matrix0.Columns.Item("comment").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value  = dataForMatrixes[0][i].comment;

                        (Matrix0.Columns.Item("warning").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].warning;
                        (Matrix0.Columns.Item("charact").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].charact;
                        (Matrix0.Columns.Item("modif").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value   = dataForMatrixes[0][i].modif;
                        (Matrix0.Columns.Item("insID").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value   = dataForMatrixes[0][i].insID;

                        if (dataForMatrixes[0][i].track == "1")
                        {
                            (Matrix0.Columns.Item("track").Cells.Item(i + 1).Specific as SAPbouiCOM.CheckBox).Checked = false;
                        }
                        else
                        if (dataForMatrixes[0][i].track == "0")
                        {
                            (Matrix0.Columns.Item("track").Cells.Item(i + 1).Specific as SAPbouiCOM.CheckBox).Checked = true;
                        }
                        //(Matrix0.Columns.Item("track").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[0][i].track;
                    }

                    for (var i = 0; i < dataForMatrixes[1].Length; i++)
                    {
                        Matrix1.AddRow();
                        (Matrix1.Columns.Item("code").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value  = dataForMatrixes[1][i].code1;
                        (Matrix1.Columns.Item("title").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[1][i].title;

                        (Matrix1.Columns.Item("batch").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value   = dataForMatrixes[1][i].batchNumber;
                        (Matrix1.Columns.Item("articul").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[1][i].articul;
                        (Matrix1.Columns.Item("EAN").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value     = dataForMatrixes[1][i].EAN;

                        (Matrix1.Columns.Item("create").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value   = dataForMatrixes[1][i].createDate;
                        (Matrix1.Columns.Item("srokExpl").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[1][i].srokExpl;
                        (Matrix1.Columns.Item("ship").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value     = dataForMatrixes[1][i].shipingDate;

                        (Matrix1.Columns.Item("comment").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[1][i].comment;
                        (Matrix1.Columns.Item("warning").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value = dataForMatrixes[1][i].warning;
                        (Matrix1.Columns.Item("insID").Cells.Item(i + 1).Specific as SAPbouiCOM.EditText).Value   = dataForMatrixes[1][i].insID;

                        if (dataForMatrixes[1][i].track == "1")
                        {
                            (Matrix1.Columns.Item("track").Cells.Item(i + 1).Specific as SAPbouiCOM.CheckBox).Checked = false;
                        }
                        else
                        if (dataForMatrixes[1][i].track == "0")
                        {
                            (Matrix1.Columns.Item("track").Cells.Item(i + 1).Specific as SAPbouiCOM.CheckBox).Checked = true;
                        }
                    }
                }
                if ((Matrix0.Columns.Item("photo").Cells.Item(1).Specific as SAPbouiCOM.EditText).Value == "" || (Matrix0.Columns.Item("photo").Cells.Item(1).Specific as SAPbouiCOM.EditText).Value == null)
                {
                    Button1.Item.Visible = false;
                }
                else
                {
                    Button1.Item.Visible = true;
                }

                this.UIAPIRawForm.Freeze(false);
            }
        }
        private void Importar_Anexos_Desde_Origen()
        {
            try
            {
                oForm.Freeze(true);

                SAPbouiCOM.DBDataSource source = oForm.DataSources.DBDataSources.Item("OPCH");
                string sDocEntry = source.GetValue("DocEntry", source.Offset);
                int    iAtcEntry = int.TryParse(source.GetValue("AtcEntry", source.Offset), out iAtcEntry) ? iAtcEntry : 0;
                //SAPbobsCOM.Documents oPurchaseOrders = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders);
                //oPurchaseOrders.GetByKey(Convert.ToInt32(sDocEntry));

                string sql = "select  distinct BaseRef,BaseType,BaseEntry from PCH1 where docentry = " + sDocEntry;
                DT_SQL.ExecuteQuery(sql);

                if (!DT_SQL.IsEmpty)
                {
                    for (int i = 0; i < DT_SQL.Rows.Count; i++)
                    {
                        SAPbobsCOM.Recordset oRecordset = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                        SAPbouiCOM.Matrix    oMatrix    = null;
                        SAPbouiCOM.EditText  oEdit      = null;

                        string sBaseType  = DT_SQL.GetValue("BaseType", i).ToString();
                        string sBaseRef   = DT_SQL.GetValue("BaseRef", i).ToString();
                        string sBaseEntry = DT_SQL.GetValue("BaseEntry", i).ToString();
                        string sTable     = "";

                        switch (sBaseType)
                        {
                        case "20":     //Orden Compra
                            sql = "select  distinct BaseRef,BaseType,BaseEntry from PDN1 where docentry = " + sBaseEntry;
                            DT_SQL3.ExecuteQuery(sql);
                            if (!DT_SQL3.IsEmpty)
                            {
                                sBaseType = DT_SQL3.GetValue("BaseType", 0).ToString();
                                if (sBaseType == "22")
                                {
                                    sTable   = "OPOR";
                                    sBaseRef = DT_SQL3.GetValue("BaseRef", 0).ToString();
                                }
                            }
                            break;

                        case "22":     //Orden Compra
                            sTable = "OPOR";
                            break;

                        case "1470000113":     //Solicitud de Compra
                            sTable = "OPRQ";
                            break;
                        }

                        if (sTable.Trim().Length > 0)
                        {
                            sql = "SELECT AtcEntry FROM " + sTable + " WHERE AtcEntry is not null AND DocNum = " + sBaseRef;
                            DT_SQL2.ExecuteQuery(sql);

                            if (!DT_SQL2.IsEmpty)
                            {
                                SAPbobsCOM.Attachments2 oAtt = (SAPbobsCOM.Attachments2)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                                oAtt.GetByKey(Convert.ToInt32(DT_SQL2.GetValue("AtcEntry", 0)));

                                //SAPbobsCOM.Attachments2 oAttN = (SAPbobsCOM.Attachments2)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                                //if (iAtcEntry > 0)
                                //{
                                //    oAttN.GetByKey(iAtcEntry);
                                //}

                                oMatrix = (SAPbouiCOM.Matrix)oForm.Items.Item("1320002138").Specific;

                                int rowNum = oMatrix.RowCount + 1;

                                sql = @"select AttachPath from OADP";
                                oRecordset.DoQuery(sql);
                                string RutaDestino = oRecordset.Fields.Item(0).Value.ToString();

                                for (int x = 0; x < oAtt.Lines.Count; x++)
                                {
                                    sql = @"SELECT RTRIM(CAST(trgtPath  as nvarchar(200)))+'\'+FileName+'.'+FileExt from ATC1 where AbsEntry = " + DT_SQL2.GetValue("AtcEntry", 0) + " AND Line = " + (x + 1).ToString();
                                    oRecordset.DoQuery(sql);
                                    string RutaServ = oRecordset.Fields.Item(0).Value.ToString();

                                    oMatrix.AddRow();

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000002").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = RutaDestino;

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000003").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = System.IO.Path.GetDirectoryName(RutaServ);

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000004").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = System.IO.Path.GetFileNameWithoutExtension(RutaServ);

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000005").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = System.IO.Path.GetExtension(RutaServ).Substring(1);

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000007").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = DateTime.Now.ToShortDateString();

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000001").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = rowNum.ToString();

                                    //Se vuelve a cargar la primera fila para que no avance el scroll horizontal al final.
                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000002").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = RutaDestino;

                                    rowNum += 1;

                                    //oAtt.Lines.SetCurrentLine(x);
                                    //oAttN.Lines.Add();
                                    //oAttN.Lines.FileName = System.IO.Path.GetFileNameWithoutExtension(RutaServ);
                                    //oAttN.Lines.FileExtension = System.IO.Path.GetExtension(RutaServ).Substring(1);
                                    //oAttN.Lines.SourcePath = System.IO.Path.GetDirectoryName(RutaServ);
                                    //oAttN.Lines.Override = SAPbobsCOM.BoYesNoEnum.tYES;

                                    //if (iAtcEntry > 0)
                                    //{
                                    //    if (oAttN.Update() != 0)
                                    //        throw new Exception(oCompany.GetLastErrorDescription());
                                    //}
                                    //else
                                    //{
                                    //    int iAttEntry = -1;

                                    //    if (oAttN.Add() == 0)
                                    //    {
                                    //        iAttEntry = int.Parse(oCompany.GetNewObjectKey());
                                    //        //Assign the attachment to the GR object (GR is my SAPbobsCOM.Documents object)
                                    //        oPurchaseOrders.AttachmentEntry = iAttEntry;
                                    //    }
                                    //}
                                }

                                System.Runtime.InteropServices.Marshal.ReleaseComObject(oRecordset);
                            }
                        }
                    }
                }

                //System.Runtime.InteropServices.Marshal.ReleaseComObject(oPurchaseOrders);
                //oPurchaseOrders = null;
                GC.Collect();
            }
            catch (Exception)
            {
            }
            finally
            {
                oForm.Freeze(false);
            }
        }
        private void Importar_Anexos_Desde_Origen()
        {
            try
            {
                oForm.Freeze(true);

                SAPbouiCOM.DBDataSource source = oForm.DataSources.DBDataSources.Item("OPOR");
                string sDocEntry = source.GetValue("DocEntry", source.Offset);
                int    iAtcEntry = int.TryParse(source.GetValue("AtcEntry", source.Offset), out iAtcEntry) ? iAtcEntry : 0;
                //SAPbobsCOM.Documents oPurchaseOrders = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders);
                //oPurchaseOrders.GetByKey(Convert.ToInt32(sDocEntry));

                //source = oForm.DataSources.DBDataSources.Item("POR1");
                //for (int i = 0; i <= source.Size - 1; i++)
                //{
                //    var BaseRef = source.GetValue("BaseRef", i);
                //    var BaseTypex = source.GetValue("BaseType", i);
                //    var BaseEntryx = source.GetValue("BaseEntry", i);
                //}

                string        BaseType  = "";
                string        TipoLinea = "";
                string        sql       = "";
                List <Anexos> lAnexos   = new List <Anexos>();
                //List<Object> DetallesVoid = new List<Object>();
                oMatrix = (SAPbouiCOM.Matrix)oForm.Items.Item("38").Specific;

                // Recorre Matrix, cargar Objeto Anexo e insertar en lista
                for (int i = 1; i <= oMatrix.RowCount; i++)
                {
                    try
                    {
                        BaseType  = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("43").Cells.Item(i).Specific).Value.Trim();
                        TipoLinea = ((SAPbouiCOM.ComboBox)oMatrix.Columns.Item("257").Cells.Item(i).Specific).Selected.Value.Trim();
                    }
                    catch
                    {
                        TipoLinea = "No valido";
                        BaseType  = "-1";
                    }

                    if (TipoLinea.Trim().Length == 0 && BaseType != "-1")
                    {
                        Anexos oAnexo = new Anexos();
                        oAnexo.FormID    = oForm.UniqueID;
                        oAnexo.ObjType   = oForm.TypeEx;
                        oAnexo.BaseRef   = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("44").Cells.Item(i).Specific).Value.Trim();
                        oAnexo.BaseType  = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("43").Cells.Item(i).Specific).Value.Trim();
                        oAnexo.BaseEntry = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("45").Cells.Item(i).Specific).Value.Trim();
                        lAnexos.Add(oAnexo);
                        //result = FuncionesUDO.InsertRecord("ZANEXOS", oAnexo, "", DetallesVoid);
                    }
                }

                //Distict a lista
                var ListAnexos = lAnexos
                                 .GroupBy(p => new { p.BaseRef, p.BaseType, p.BaseEntry })
                                 .Select(g => g.First())
                                 .ToList();
                //recorrer lista para insertar en matrix de anexos
                if (ListAnexos.Count > 0)
                {
                    foreach (Anexos oAnexo in ListAnexos)
                    {
                        SAPbobsCOM.Recordset oRecordset = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                        SAPbouiCOM.Matrix    oMatrix    = null;
                        SAPbouiCOM.EditText  oEdit      = null;

                        string sBaseType  = oAnexo.BaseType;
                        string sBaseRef   = oAnexo.BaseRef;
                        string sBaseEntry = oAnexo.BaseEntry;
                        string sTable     = "";

                        switch (sBaseType)
                        {
                        case "17":     //Pedido
                            sTable = "ORDR";
                            break;

                        case "1470000113":     //Solicitud de Compra
                            sTable = "OPRQ";
                            break;
                        }

                        if (sTable.Trim().Length > 0)
                        {
                            sql = "SELECT AtcEntry FROM " + sTable + " WHERE AtcEntry is not null AND DocNum = " + sBaseRef;
                            DT_SQL2.ExecuteQuery(sql);

                            if (!DT_SQL2.IsEmpty)
                            {
                                SAPbobsCOM.Attachments2 oAtt = (SAPbobsCOM.Attachments2)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                                oAtt.GetByKey(Convert.ToInt32(DT_SQL2.GetValue("AtcEntry", 0)));

                                //SAPbobsCOM.Attachments2 oAttN = (SAPbobsCOM.Attachments2)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                                //if (iAtcEntry > 0)
                                //{
                                //    oAttN.GetByKey(iAtcEntry);
                                //}

                                oMatrix = (SAPbouiCOM.Matrix)oForm.Items.Item("1320002138").Specific;

                                int rowNum = oMatrix.RowCount + 1;

                                sql = @"select AttachPath from OADP";
                                oRecordset.DoQuery(sql);
                                string RutaDestino = oRecordset.Fields.Item(0).Value.ToString();

                                for (int x = 0; x < oAtt.Lines.Count; x++)
                                {
                                    sql = @"SELECT RTRIM(CAST(trgtPath  as nvarchar(200)))+'\'+FileName+'.'+FileExt from ATC1 where AbsEntry = " + DT_SQL2.GetValue("AtcEntry", 0) + " AND Line = " + (x + 1).ToString();
                                    oRecordset.DoQuery(sql);
                                    string RutaServ = oRecordset.Fields.Item(0).Value.ToString();

                                    oMatrix.AddRow();

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000002").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = RutaDestino;

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000003").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = System.IO.Path.GetDirectoryName(RutaServ);

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000004").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = System.IO.Path.GetFileNameWithoutExtension(RutaServ);

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000005").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = System.IO.Path.GetExtension(RutaServ).Substring(1);

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000007").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = DateTime.Now.ToShortDateString();

                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000001").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = rowNum.ToString();

                                    //Se vuelve a cargar la primera fila para que no avance el scroll horizontal al final.
                                    oEdit              = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000002").Cells.Item(rowNum).Specific;
                                    oEdit.Active       = true;
                                    oEdit.Item.Enabled = true;
                                    oEdit.String       = RutaDestino;

                                    rowNum += 1;
                                }

                                System.Runtime.InteropServices.Marshal.ReleaseComObject(oRecordset);
                            }
                        }
                    }
                }

                //string sql = "select  distinct BaseRef,BaseType,BaseEntry from POR1 where docentry = " + sDocEntry;
                //DT_SQL.ExecuteQuery(sql);

                //if (!DT_SQL.IsEmpty)
                //{
                //    for (int i = 0; i < DT_SQL.Rows.Count; i++)
                //    {
                //        SAPbobsCOM.Recordset oRecordset = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                //        SAPbouiCOM.Matrix oMatrix = null;
                //        SAPbouiCOM.EditText oEdit = null;

                //        string sBaseType = DT_SQL.GetValue("BaseType", i).ToString();
                //        string sBaseRef = DT_SQL.GetValue("BaseRef", i).ToString();
                //        string sBaseEntry = DT_SQL.GetValue("BaseEntry", i).ToString();
                //        string sTable = "";

                //        switch (sBaseType)
                //        {
                //            case "17": //Pedido
                //                sTable = "ORDR";
                //                break;
                //            case "1470000113": //Solicitud de Compra
                //                sTable = "OPRQ";
                //                break;
                //        }

                //        if (sTable.Trim().Length > 0)
                //        {
                //            sql = "SELECT AtcEntry FROM " + sTable + " WHERE AtcEntry is not null AND DocNum = " + sBaseRef;
                //            DT_SQL2.ExecuteQuery(sql);

                //            if (!DT_SQL2.IsEmpty)
                //            {
                //                SAPbobsCOM.Attachments2 oAtt = (SAPbobsCOM.Attachments2)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                //                oAtt.GetByKey(Convert.ToInt32(DT_SQL2.GetValue("AtcEntry", 0)));

                //                //SAPbobsCOM.Attachments2 oAttN = (SAPbobsCOM.Attachments2)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oAttachments2);
                //                //if (iAtcEntry > 0)
                //                //{
                //                //    oAttN.GetByKey(iAtcEntry);
                //                //}

                //                oMatrix = (SAPbouiCOM.Matrix)oForm.Items.Item("1320002138").Specific;

                //                int rowNum = oMatrix.RowCount + 1;

                //                sql = @"select AttachPath from OADP";
                //                oRecordset.DoQuery(sql);
                //                string RutaDestino = oRecordset.Fields.Item(0).Value.ToString();

                //                for (int x = 0; x < oAtt.Lines.Count; x++)
                //                {

                //                    sql = @"SELECT RTRIM(CAST(trgtPath  as nvarchar(200)))+'\'+FileName+'.'+FileExt from ATC1 where AbsEntry = " + DT_SQL2.GetValue("AtcEntry", 0) + " AND Line = " + (x + 1).ToString();
                //                    oRecordset.DoQuery(sql);
                //                    string RutaServ = oRecordset.Fields.Item(0).Value.ToString();

                //                    oMatrix.AddRow();

                //                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000002").Cells.Item(rowNum).Specific;
                //                    oEdit.Active = true;
                //                    oEdit.Item.Enabled = true;
                //                    oEdit.String = RutaDestino;

                //                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000003").Cells.Item(rowNum).Specific;
                //                    oEdit.Active = true;
                //                    oEdit.Item.Enabled = true;
                //                    oEdit.String = System.IO.Path.GetDirectoryName(RutaServ);

                //                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000004").Cells.Item(rowNum).Specific;
                //                    oEdit.Active = true;
                //                    oEdit.Item.Enabled = true;
                //                    oEdit.String = System.IO.Path.GetFileNameWithoutExtension(RutaServ);

                //                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000005").Cells.Item(rowNum).Specific;
                //                    oEdit.Active = true;
                //                    oEdit.Item.Enabled = true;
                //                    oEdit.String = System.IO.Path.GetExtension(RutaServ).Substring(1);

                //                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000007").Cells.Item(rowNum).Specific;
                //                    oEdit.Active = true;
                //                    oEdit.Item.Enabled = true;
                //                    oEdit.String = DateTime.Now.ToShortDateString();

                //                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000001").Cells.Item(rowNum).Specific;
                //                    oEdit.Active = true;
                //                    oEdit.Item.Enabled = true;
                //                    oEdit.String = rowNum.ToString();

                //                    //Se vuelve a cargar la primera fila para que no avance el scroll horizontal al final.
                //                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("1320000002").Cells.Item(rowNum).Specific;
                //                    oEdit.Active = true;
                //                    oEdit.Item.Enabled = true;
                //                    oEdit.String = RutaDestino;

                //                    rowNum += 1;

                //                    //oAtt.Lines.SetCurrentLine(x);
                //                    //oAttN.Lines.Add();
                //                    //oAttN.Lines.FileName = System.IO.Path.GetFileNameWithoutExtension(RutaServ);
                //                    //oAttN.Lines.FileExtension = System.IO.Path.GetExtension(RutaServ).Substring(1);
                //                    //oAttN.Lines.SourcePath = System.IO.Path.GetDirectoryName(RutaServ);
                //                    //oAttN.Lines.Override = SAPbobsCOM.BoYesNoEnum.tYES;

                //                    //if (iAtcEntry > 0)
                //                    //{
                //                    //    if (oAttN.Update() != 0)
                //                    //        throw new Exception(oCompany.GetLastErrorDescription());
                //                    //}
                //                    //else
                //                    //{
                //                    //    int iAttEntry = -1;

                //                    //    if (oAttN.Add() == 0)
                //                    //    {
                //                    //        iAttEntry = int.Parse(oCompany.GetNewObjectKey());
                //                    //        //Assign the attachment to the GR object (GR is my SAPbobsCOM.Documents object)
                //                    //        oPurchaseOrders.AttachmentEntry = iAttEntry;
                //                    //    }
                //                    //}

                //                }

                //                System.Runtime.InteropServices.Marshal.ReleaseComObject(oRecordset);
                //            }
                //        }


                //    }
                //}

                //System.Runtime.InteropServices.Marshal.ReleaseComObject(oPurchaseOrders);
                //oPurchaseOrders = null;
                GC.Collect();
            }
            catch (Exception)
            {
            }
            finally
            {
                oForm.Freeze(false);
            }
        }
Ejemplo n.º 21
0
        private void Button0_PressedAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            DataTable tb_s = new DataTable();

            tb_s.Columns.Add("LineID", typeof(Int32));
            tb_s.Columns.Add("SubProject", typeof(String));
            tb_s.Columns.Add("SubProjectName", typeof(String));
            tb_s.Columns.Add("Split", typeof(Int32));
            try
            {
                this.UIAPIRawForm.Freeze(true);
                this.UIAPIRawForm.PaneLevel = 1;
                SAPbouiCOM.Matrix oMtx_S = ((SAPbouiCOM.Matrix) this.GetItem("0_U_G").Specific);
                if (oMtx_S.RowCount > 0)
                {
                    for (int i = 0; i < oMtx_S.RowCount; i++)
                    {
                        int    lineid          = int.Parse(((SAPbouiCOM.EditText)oMtx_S.Columns.Item("C_0_1").Cells.Item(i + 1).Specific).Value);
                        string subproject      = ((SAPbouiCOM.EditText)oMtx_S.Columns.Item("C_0_2").Cells.Item(i + 1).Specific).Value;
                        string subproject_name = ((SAPbouiCOM.EditText)oMtx_S.Columns.Item("C_0_3").Cells.Item(i + 1).Specific).Value;
                        int    split           = int.Parse(((SAPbouiCOM.EditText)oMtx_S.Columns.Item("C_0_15").Cells.Item(i + 1).Specific).Value);
                        if (!string.IsNullOrEmpty(subproject))
                        {
                            DataRow r = tb_s.NewRow();
                            r["LineID"]         = lineid;
                            r["SubProject"]     = subproject;
                            r["SubProjectName"] = subproject_name;
                            r["Split"]          = split;
                            tb_s.Rows.Add(r);
                        }
                    }

                    //Split to Details
                    this.UIAPIRawForm.PaneLevel = 2;
                    SAPbouiCOM.Matrix oMtx_D = ((SAPbouiCOM.Matrix) this.GetItem("1_U_G").Specific);
                    int Total_Line           = int.Parse(tb_s.Compute("SUM(Split)", "").ToString());
                    int MaxLine = 0;
                    int.TryParse(((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_1").Cells.Item(oMtx_D.RowCount).Specific).Value, out MaxLine);
                    int LineID = 1;
                    if (MaxLine > 0 && this.UIAPIRawForm.Mode != SAPbouiCOM.BoFormMode.fm_ADD_MODE)
                    {
                        oMtx_D.AddRow();
                        ((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_1").Cells.Item(MaxLine + LineID).Specific).Value = (MaxLine + LineID).ToString();
                    }
                    else
                    {
                        MaxLine = 0;
                    }
                    foreach (DataRow t in tb_s.Rows)
                    {
                        int split2 = (int)t["Split"];
                        for (int j = 0; j < split2; j++)
                        {
                            //Sum LINE ID
                            ((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_2").Cells.Item(MaxLine + LineID).Specific).Value = t["LineID"].ToString();
                            //Subproject Code
                            ((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_3").Cells.Item(MaxLine + LineID).Specific).Value = t["SubProject"].ToString();
                            //Subproject Description
                            ((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_4").Cells.Item(MaxLine + LineID).Specific).Value = t["SubProjectName"].ToString();
                            LineID++;
                            if (LineID < Total_Line + 1)
                            {
                                oMtx_D.AddRow();
                                ((SAPbouiCOM.EditText)oMtx_D.Columns.Item("C_1_1").Cells.Item(MaxLine + LineID).Specific).Value = (MaxLine + LineID).ToString();
                            }
                        }
                        //if (i < Sum_DUTRU.Rows.Count - 1)
                        //{
                        //    oMtx.AddRow();
                        //    ((SAPbouiCOM.EditText)oMtx.Columns.Item(1).Cells.Item(i + 2).Specific).Value = (i + 2).ToString();
                        //}
                    }
                }
                this.UIAPIRawForm.Freeze(false);
            }
            catch (Exception ex)
            {
                this.UIAPIRawForm.Freeze(false);
                Application.SBO_Application.MessageBox(ex.Message);
            }
        }
Ejemplo n.º 22
0
        private void Button1_PressedAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            //throw new System.NotImplementedException();
            if (pVal.FormMode == 1)
            {
                //Get DATA SUM CCM
                int       DocEntry  = int.Parse(((SAPbouiCOM.EditText)(this.GetItem("0_U_E").Specific)).Value);
                string    Project   = ((SAPbouiCOM.EditText)(this.GetItem("20_U_E").Specific)).Value;
                DataTable Sum_DUTRU = Load_Data_DUTRU(Project, DocEntry);

                oApp.ActivateMenuItem("DUTRU");
                SAPbouiCOM.Form oForm = Application.SBO_Application.Forms.ActiveForm;
                //Get DocNum CTG
                try
                {
                    ((SAPbouiCOM.EditText)oForm.Items.Item("20_U_E").Specific).Value = DocEntry.ToString();
                    oForm.Freeze(true);
                    oForm.PaneLevel = 1;
                    SAPbouiCOM.Matrix oMtx = (SAPbouiCOM.Matrix)oForm.Items.Item("0_U_G").Specific;
                    for (int i = 0; i < Sum_DUTRU.Rows.Count; i++)
                    {
                        oApp.SetStatusBarMessage(string.Format("Creating DUTRU: {0}", (i + 1) + "/" + Sum_DUTRU.Rows.Count), SAPbouiCOM.BoMessageTime.bmt_Short, false);
                        DataRow r = Sum_DUTRU.Rows[i];
                        //Subproject Code
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_2").Cells.Item(i + 1).Specific).Value = r["High_Level_SUM"].ToString();
                        //Subproject Description
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_3").Cells.Item(i + 1).Specific).Value = r["High_Level_Name"].ToString();
                        //CP NCC
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_4").Cells.Item(i + 1).Specific).Value = r["CP_NCC"].ToString();
                        //CP NTP
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_5").Cells.Item(i + 1).Specific).Value = r["CP_NTP"].ToString();
                        //CP DTC
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_6").Cells.Item(i + 1).Specific).Value = r["CP_DTC"].ToString();
                        //CP VTP
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_7").Cells.Item(i + 1).Specific).Value = r["CP_VTP"].ToString();
                        //CP VC
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_8").Cells.Item(i + 1).Specific).Value = r["CP_VC"].ToString();
                        //CP CN
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_9").Cells.Item(i + 1).Specific).Value = r["CP_CN"].ToString();
                        //CP DP
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_10").Cells.Item(i + 1).Specific).Value = r["CP_DP"].ToString();
                        //CP DP2
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_11").Cells.Item(i + 1).Specific).Value = r["CP_DP2"].ToString();
                        //CP PRELIM
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_12").Cells.Item(i + 1).Specific).Value = r["CP_PRELIM"].ToString();
                        //CP TB
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_13").Cells.Item(i + 1).Specific).Value = r["CP_TB"].ToString();
                        //CP Khac
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_14").Cells.Item(i + 1).Specific).Value = r["CP_Khac"].ToString();
                        if (i < Sum_DUTRU.Rows.Count - 1)
                        {
                            oMtx.AddRow();
                            ((SAPbouiCOM.EditText)oMtx.Columns.Item(1).Cells.Item(i + 2).Specific).Value = (i + 2).ToString();
                        }
                    }
                    oForm.Freeze(false);
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    oForm.Freeze(false);
                }
            }
            else
            {
                Application.SBO_Application.MessageBox("Function works only on View Mode");
            }
        }
Ejemplo n.º 23
0
        private void Button0_PressedAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            //Thiet bi
            if (pVal.FormMode == 1)
            {
                //Get DATA SUM CCM
                int       DocEntry  = int.Parse(((SAPbouiCOM.EditText)(this.GetItem("0_U_E").Specific)).Value);
                string    Project   = ((SAPbouiCOM.EditText)(this.GetItem("20_U_E").Specific)).Value;
                DataTable Sum_DUTRU = Load_Data_DUTRU_TB(Project, DocEntry);

                oApp.ActivateMenuItem("DUTRU");
                SAPbouiCOM.Form oForm = Application.SBO_Application.Forms.ActiveForm;
                //Get DocNum CTG
                try
                {
                    ((SAPbouiCOM.EditText)oForm.Items.Item("20_U_E").Specific).Value = DocEntry.ToString();
                    try
                    {
                        //Select Type DUTRU
                        ((SAPbouiCOM.ComboBox)oForm.Items.Item("21_U_Cb").Specific).Select("2", SAPbouiCOM.BoSearchKey.psk_ByValue);
                    }
                    catch (Exception ex)
                    {
                        oApp.MessageBox(ex.Message);
                    }
                    oForm.Freeze(true);
                    oForm.PaneLevel = 1;
                    SAPbouiCOM.Matrix oMtx = (SAPbouiCOM.Matrix)oForm.Items.Item("0_U_G").Specific;
                    for (int i = 0; i < Sum_DUTRU.Rows.Count; i++)
                    {
                        oApp.SetStatusBarMessage(string.Format("Creating DUTRU TB: {0}", (i + 1) + "/" + Sum_DUTRU.Rows.Count), SAPbouiCOM.BoMessageTime.bmt_Short, false);
                        DataRow r = Sum_DUTRU.Rows[i];
                        //Subproject Code
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_2").Cells.Item(i + 1).Specific).Value = r["High_Level_SUM"].ToString();
                        //Subproject Description
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_3").Cells.Item(i + 1).Specific).Value = r["High_Level_Name"].ToString();
                        //CP Mua ban
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_8").Cells.Item(i + 1).Specific).Value = r["CP_MB"].ToString();
                        //CP Thue
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_9").Cells.Item(i + 1).Specific).Value = r["CP_THUE"].ToString();
                        //CP Van hanh
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_10").Cells.Item(i + 1).Specific).Value = r["CP_VH"].ToString();
                        //CP VC
                        ((SAPbouiCOM.EditText)oMtx.Columns.Item("C_0_11").Cells.Item(i + 1).Specific).Value = r["CP_VC"].ToString();

                        if (i < Sum_DUTRU.Rows.Count - 1)
                        {
                            oMtx.AddRow();
                            ((SAPbouiCOM.EditText)oMtx.Columns.Item(1).Cells.Item(i + 2).Specific).Value = (i + 2).ToString();
                        }
                    }
                    oForm.Freeze(false);
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    oForm.Freeze(false);
                }
            }
            else
            {
                Application.SBO_Application.MessageBox("Function works only on View Mode");
            }
        }
Ejemplo n.º 24
0
        private void SBO_Application_MenuEvent(ref SAPbouiCOM.MenuEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            //Matrix de Conferencia de Medicao
            if (pVal.MenuUID == "AddRowMatrixConf" && pVal.BeforeAction == true)
            {
                oNewItem = oForm.Items.Item("Med_Cnf");
                oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));
                oColumns = oMatrix.Columns;
                int numeroLinhas = oMatrix.RowCount;
                oMatrix.AddRow(1, numeroLinhas + 1);
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Med_Cnf_C0").Cells.Item(oMatrix.RowCount).Specific).Value = "";
                //((SAPbouiCOM.EditText)oMatrix.Columns.Item("med_Cnf_C1").Cells.Item(oMatrix.RowCount).Specific).Value = "";
            }

            //Matrix de Conferencia de Avarias
            if (pVal.MenuUID == "AddRowMatrixAvr" && pVal.BeforeAction == true)
            {
                oNewItem = oForm.Items.Item("Ava_Amb");
                oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));
                oColumns = oMatrix.Columns;
                int numeroLinhas = oMatrix.RowCount;
                oMatrix.AddRow(1, numeroLinhas + 1);
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Ava_Amb_C0").Cells.Item(oMatrix.RowCount).Specific).Value = "";
            }

            //Matrix de Conferencia de Avarias
            if (pVal.MenuUID == "AddRowMatrixPend" && pVal.BeforeAction == true)
            {
                oNewItem = oForm.Items.Item("Pen_Amb");
                oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));
                oColumns = oMatrix.Columns;
                int numeroLinhas = oMatrix.RowCount;
                oMatrix.AddRow(1, numeroLinhas + 1);
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Pen_Amb_C0").Cells.Item(oMatrix.RowCount).Specific).Value = "";
            }

            //Matrix de Itens Complementares
            if (pVal.MenuUID == "AddRowMatrixIt" && pVal.BeforeAction == true)
            {
                oNewItem = oForm.Items.Item("Det_Cmp");
                oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));
                oColumns = oMatrix.Columns;
                int numeroLinhas = oMatrix.RowCount;
                oMatrix.AddRow(1, numeroLinhas + 1);
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C0").Cells.Item(oMatrix.RowCount).Specific).Value = "";
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C1").Cells.Item(oMatrix.RowCount).Specific).Value = "";
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C4").Cells.Item(oMatrix.RowCount).Specific).Value = "0.000000";
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C2").Cells.Item(oMatrix.RowCount).Specific).Value = "0.000000";
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C6").Cells.Item(oMatrix.RowCount).Specific).Value = "";
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C3").Cells.Item(oMatrix.RowCount).Specific).Value = "";
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C5").Cells.Item(oMatrix.RowCount).Specific).Value = "";
                ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C7").Cells.Item(oMatrix.RowCount).Specific).Value = "";

                oMatrix.FlushToDataSource();
            }
        }