Exemplo n.º 1
0
        public bool IsLastWeight(SAPbouiCOM.IMatrix mObjMatrix)
        {
            bool lBolLast = true;

            try
            {
                for (int i = 1; i <= mObjMatrix.RowCount; i++)
                {
                    //UPDATE RCordova
                    if (i == mObjMatrix.Columns.Item(i).Cells.Count&& ((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("ItemCode").Cells.Item(i).Specific).Value == "" &&
                        (((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("PesoN").Cells.Item(i).Specific).Value == "0.0"))
                    {
                        mObjMatrix.DeleteRow(i);
                        i--;
                    }
                    if (((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("PesoN").Cells.Item(i).Specific).Value == "0.0")
                    {
                        lBolLast = false;
                    }
                    if (((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("PesoN").Cells.Item(i).Specific).Value == "0.0" &&
                        ((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("ItemCode").Cells.Item(i).Specific).Value == "")
                    {
                        lBolLast = true;
                    }
                }
            }
            catch (Exception)
            {
                return(false);
            }

            return(lBolLast);
        }
Exemplo n.º 2
0
        public float getLargeNumber(SAPbouiCOM.IMatrix pObjMatrix)
        {
            float  lFloLargeNum = 0;
            float  lFloPeso1    = 0;
            float  lFloPeso2    = 0;
            string lStrPeso1;
            string lStrPeso2;

            for (int i = 1; i <= pObjMatrix.RowCount; i++)
            {
                lStrPeso1 = ((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("Peso1").Cells.Item(i).Specific).Value;
                lStrPeso2 = ((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("Peso2").Cells.Item(i).Specific).Value;
                if (!string.IsNullOrEmpty(lStrPeso1))
                {
                    lFloPeso1 = float.Parse(lStrPeso1);
                }
                if (lFloPeso1 > lFloLargeNum)
                {
                    lFloLargeNum = lFloPeso1;
                }

                if (!string.IsNullOrEmpty(lStrPeso2))
                {
                    lFloPeso2 = float.Parse(lStrPeso2);
                }

                if (lFloPeso2 > lFloLargeNum)
                {
                    lFloLargeNum = lFloPeso2;
                }
            }
            return(lFloLargeNum);
        }
Exemplo n.º 3
0
        public bool VerifyWeightSecuence(string pStrWeight, string pStrSource, SAPbouiCOM.IMatrix pObjMatrix, string pStrTypeTicket)
        {
            double lFloWeight = 0;

            try
            {
                if (!string.IsNullOrEmpty(pStrWeight))
                {
                    lFloWeight = Convert.ToDouble(pStrWeight);
                }
            }
            catch (Exception ex)
            {
                LogService.WriteError("[VerifyWeightSecuence]: " + ex.Message);
                LogService.WriteError(ex);
                UIApplication.ShowMessage("Error al capturar datos" + ex.Message);
            }


            if ((pStrSource == "RDR1" || pStrTypeTicket == "Traslado - Salida") && pStrTypeTicket != "Venta de pesaje")
            {
                if (lFloWeight > getLargeNumber(pObjMatrix))
                {
                    return(true);
                }
            }
            else
            {
                if ((pStrSource == "POR1" || pStrTypeTicket == "Traslado - Entrada") && pStrTypeTicket != "Venta de pesaje")
                {
                    if (lFloWeight == 0)
                    {
                        return(true);
                    }
                    else
                    {
                        double lFloSmall = getSmallerNumber(pObjMatrix);
                        if (lFloSmall == 0 || lFloWeight < lFloSmall)
                        {
                            return(true);
                        }
                    }
                }
                else
                {
                    return(true);
                }
            }

            if (pStrTypeTicket == "Pesaje")
            {
                return(true);
            }

            UIApplication.ShowError("Favor verifique la secuencia del pesaje");
            return(false);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Agrega una columna a la matriz
 /// </summary>
 private void AddColum(SAPbouiCOM.IMatrix pObjMatrix, string pStrName, SAPbouiCOM.BoFormItemTypes pObjType, string pStrTitle, string pStrDatasource, string pStrItemSource, bool pBolEdit)
 {
     SAPbouiCOM.IColumn lObjColumn;
     lObjColumn       = pObjMatrix.Columns.Add(pStrName, pObjType);
     lObjColumn.Width = 60;
     lObjColumn.TitleObject.Caption = pStrTitle;
     lObjColumn.DisplayDesc         = false;
     lObjColumn.DataBind.SetBound(true, pStrDatasource, pStrItemSource);
     lObjColumn.Editable = pBolEdit;
 }
Exemplo n.º 5
0
        /// <summary>
        /// Varifica que todas las lines tengan segundo peso si tienen un primer peso
        /// </summary>
        public bool VerificarSegundoPeso(SAPbouiCOM.IMatrix mObjMatrix)
        {
            for (int i = 1; i <= mObjMatrix.RowCount; i++)
            {
                string lStrPeso1 = ((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("Peso1").Cells.Item(i).Specific).Value;
                string lStrPeso2 = ((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("Peso2").Cells.Item(i).Specific).Value;

                if (lStrPeso1 != "0.0" && lStrPeso2 == "0.0")
                {
                    return(false);
                }
            }
            return(true);
        }
Exemplo n.º 6
0
        ///<summary>    Loads matrix columns. </summary>
        ///<remarks>    Amartinez, 08/05/2017. </remarks>
        ///<param name="pStrDataSource">    The pstr datasource. </param>
        public SAPbouiCOM.IMatrix LoadMatrixColumns(SAPbouiCOM.IMatrix pObjMatrix, string pStrDataSource, bool pBolIsPurshese, string pStrTypTic)
        {
            SAPbouiCOM.IMatrix lObjMatrix = DeleteColumns(pObjMatrix);
            bool lBolColumnEnable         = false;

            lBolColumnEnable = pBolIsPurshese;
            //SAPbouiCOM.CommonSetting setting = mObjMatrix.CommonSetting;
            // Add a column for BP Card Code
            SAPbouiCOM.IColumn lObjColumn;
            lObjColumn = lObjMatrix.Columns.Add("ItemCode", SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON);
            lObjColumn.TitleObject.Caption = "Artículo";
            lObjColumn.DataBind.SetBound(true, pStrDataSource, "ItemCode");
            lObjColumn.Editable = true;

            // Link the column to the BP master data system form
            //var lObjlink = ((SAPbouiCOM.LinkedButton)(mObjColumn.ExtendedObject));
            //lObjlink.LinkedObject = SAPbouiCOM.BoLinkedObject.lf_BusinessPartner;
            lObjColumn.ChooseFromListUID = "CFL1";
            lObjColumn.Editable          = true;

            //addColum()
            AddColum(lObjMatrix, "Dscription", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Descripción", pStrDataSource, "Dscription", false);
            AddColum(lObjMatrix, "Price", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Precio", pStrDataSource, "Price", lBolColumnEnable);
            AddColum(lObjMatrix, "Peso1", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Primer peso", pStrDataSource, "Weight1", false);
            AddColum(lObjMatrix, "Peso2", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Segundo peso", pStrDataSource, "Weight2", false);
            AddColum(lObjMatrix, "PesoN", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Peso Neto", pStrDataSource, "Quantity", false);
            AddColum(lObjMatrix, "Importe", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Importe", pStrDataSource, "LineTotal", false);

            if (pStrTypTic != "Venta de pesaje" && pStrTypTic != "Pesaje")
            {
                AddColum(lObjMatrix, "Sacos", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Sacos - Pacas", pStrDataSource, "U_GLO_BagsBales", true);
                AddColum(lObjMatrix, "Check", SAPbouiCOM.BoFormItemTypes.it_CHECK_BOX, "Tipo peso", pStrDataSource, "TreeType", true);
                lObjColumn = lObjMatrix.Columns.Add("WhsCode", SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON);
                lObjColumn.TitleObject.Caption = "Almacén";
                lObjColumn.DataBind.SetBound(true, pStrDataSource, "WhsCode");
                lObjColumn.ChooseFromListUID = "CFL_Ware";
                lObjColumn.Editable          = true;
            }
            else
            {
                AddColum(lObjMatrix, "Check", SAPbouiCOM.BoFormItemTypes.it_CHECK_BOX, "Tipo peso", pStrDataSource, "TreeType", false);
            }
            AddColum(lObjMatrix, "DelivrdQty", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Cantidad entregada", pStrDataSource, "DelivrdQty", false);
            AddColum(lObjMatrix, "OpenCreQty", SAPbouiCOM.BoFormItemTypes.it_EDIT, "Cantidad pendiente", pStrDataSource, "OpenCreQty", false);


            lObjMatrix.AutoResizeColumns();
            return(lObjMatrix);
        }
Exemplo n.º 7
0
        public bool VerificarCheck(SAPbouiCOM.IMatrix mObjMatrix)
        {
            SAPbouiCOM.CommonSetting lObjRowCtrl;
            lObjRowCtrl = mObjMatrix.CommonSetting;
            bool lBolActivateButtons = false;

            for (int i = 1; i <= mObjMatrix.RowCount; i++)
            {
                if ((mObjMatrix.Columns.Item("Check").Cells.Item(i).Specific as CheckBox).Checked)
                {
                    lBolActivateButtons = true;
                }
            }
            return(lBolActivateButtons);
        }
Exemplo n.º 8
0
        public TotalsDTO CalcTotals(SAPbouiCOM.IMatrix pObjMatrix, double pDblInput, double pDblOutput)
        {
            TotalsDTO lObjTotalsDTO = new TotalsDTO();

            try
            {
                int sd = pObjMatrix.Columns.Item(1).Cells.Count;
                for (int i = 1; i <= pObjMatrix.RowCount; i++)
                {
                    lObjTotalsDTO.Amount += Convert.ToDouble(((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("Importe").Cells.Item(i).Specific).Value);
                    //lObjTotalsDTO.Bags += Convert.ToDouble(((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("Sacos").Cells.Item(i).Specific).Value);

                    if ((pObjMatrix.Columns.Item("Check").Cells.Item(i).Specific as CheckBox).Checked)
                    {
                        lObjTotalsDTO.Tara += Convert.ToDouble(((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("PesoN").Cells.Item(i).Specific).Value);
                    }
                    else
                    {
                        lObjTotalsDTO.WeightB += Convert.ToDouble(((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("PesoN").Cells.Item(i).Specific).Value);
                    }
                }
                //txtVari.Value =  (txtInWT.Value - tOutputWT.Value) - lDblVariacion).ToString();
                if (lObjTotalsDTO.WeightB < 0)
                {
                    lObjTotalsDTO.WeightB = lObjTotalsDTO.WeightB * -1;
                }
                lObjTotalsDTO.WeightNet = lObjTotalsDTO.WeightB + lObjTotalsDTO.Tara;
                lObjTotalsDTO.OutputW   = pDblOutput;
                lObjTotalsDTO.InputW    = pDblInput;

                lObjTotalsDTO.WeightTotal = lObjTotalsDTO.InputW - lObjTotalsDTO.OutputW;
                if (lObjTotalsDTO.WeightTotal < 0)
                {
                    lObjTotalsDTO.WeightTotal = lObjTotalsDTO.WeightTotal * -1;
                }

                lObjTotalsDTO.Variation = Convert.ToDouble((decimal)(lObjTotalsDTO.WeightTotal) - (decimal)(lObjTotalsDTO.WeightNet));
                // lObjTotalsDTO.Variation =lObjTotalsDTO.WeightTotal - lObjTotalsDTO.WeightNet;
            }

            catch (Exception ex)
            {
                LogService.WriteError("[CalcTotals]: " + ex.Message);
                LogService.WriteError(ex);
                UIApplication.ShowMessageBox("Error al calcular totales" + ex.Message);
            }
            return(lObjTotalsDTO);
        }
Exemplo n.º 9
0
 //Pone el checkbox en Verdadero o falso
 public SAPbouiCOM.DBDataSource SetCheckbox(SAPbouiCOM.IMatrix pObjMatrix, IList <TicketDetail> pLstTicketDetail, SAPbouiCOM.DBDataSource pDBDataSourceD)
 {
     for (int i = 1; i <= pObjMatrix.RowCount; i++)
     {
         if (pLstTicketDetail[i - 1].WeighingM == 1)
         {
             ((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(i).Specific).Checked = true;
             pDBDataSourceD.SetValue("TreeType", i - 1, "Y");
         }
         else
         {
             ((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(i).Specific).Checked = false;
             pDBDataSourceD.SetValue("TreeType", i - 1, "N");
         }
     }
     return(pDBDataSourceD);
 }
Exemplo n.º 10
0
        public float getSmallerNumber(SAPbouiCOM.IMatrix pObjMatrix)
        {
            try
            {
                float  lFloLargeNum = 0;
                float  lFloPeso1    = 0;
                float  lFloPeso2    = 0;
                string lStrPeso1;
                string lStrPeso2;
                for (int i = 1; i <= pObjMatrix.RowCount; i++)
                {
                    lStrPeso1 = ((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("Peso1").Cells.Item(i).Specific).Value;
                    lStrPeso2 = ((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("Peso2").Cells.Item(i).Specific).Value;

                    if (!string.IsNullOrEmpty(lStrPeso1))
                    {
                        lFloPeso1 = float.Parse(lStrPeso1);
                    }
                    if (lFloLargeNum == 0)
                    {
                        lFloLargeNum = lFloPeso1;
                    }
                    if (lFloPeso1 > 0 && lFloPeso1 < lFloLargeNum)
                    {
                        lFloLargeNum = lFloPeso1;
                    }
                    if (!string.IsNullOrEmpty(lStrPeso2))
                    {
                        lFloPeso2 = float.Parse(lStrPeso2);
                    }

                    if (lFloPeso2 > 0 && lFloPeso2 < lFloLargeNum)
                    {
                        lFloLargeNum = lFloPeso2;
                    }
                }
                return(lFloLargeNum);
            }
            catch (Exception ex)
            {
                LogService.WriteError("[getSmallerNumber]: " + ex.Message);
                LogService.WriteError(ex);
                return(0);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Metodo para buscar lineas en la matriz comparando los valores con la lista para marcar o no el checkbox
        /// </summary>
        /// <param name="pObjMatrix"></param>
        /// <param name="pLstTicketDetail"></param>
        /// <param name="pDBDataSourceD"></param>
        /// <returns></returns>
        public SAPbouiCOM.DBDataSource SetCheckbox2(SAPbouiCOM.IMatrix pObjMatrix, IList <TicketDetail> pLstTicketDetail, SAPbouiCOM.DBDataSource pDBDataSourceD)
        {
            SAPbouiCOM.CommonSetting lObjRowCtrl;
            lObjRowCtrl = pObjMatrix.CommonSetting;

            for (int i = 1; i <= pObjMatrix.RowCount; i++)
            {
                string l  = ((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("ItemCode").Cells.Item(i).Specific).Value;
                double xe = Convert.ToDouble(((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("PesoN").Cells.Item(i).Specific).Value);
                foreach (var item in pLstTicketDetail.Where(x => x.Item == l && x.netWeight == xe))
                {
                    if (item.WeighingM == 1)
                    {
                        ((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(i).Specific).Checked = true;
                        lObjRowCtrl.SetCellEditable(i, 5, true);
                        pDBDataSourceD.SetValue("TreeType", i - 1, "Y");
                    }
                    else
                    {
                        ((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(i).Specific).Checked = false;
                        pDBDataSourceD.SetValue("TreeType", i - 1, "N");
                    }
                }
            }



            //for (int i = 1; i <= pObjMatrix.RowCount; i++)
            //{
            //    if (pLstTicketDetail[i - 1].WeighingM == 1)
            //    {
            //        ((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(i).Specific).Checked = true;
            //        pDBDataSourceD.SetValue("TreeType", i - 1, "Y");
            //    }
            //    else
            //    {
            //        ((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(i).Specific).Checked = false;
            //        pDBDataSourceD.SetValue("TreeType", i - 1, "N");
            //    }

            //}
            return(pDBDataSourceD);
        }
        public static void addoColumn(
            SAPbouiCOM.IMatrix pMatrix
            , string pUID, BoFormItemTypes pType
            , int pWidth
            , string pCaption
            , string pDescription
            , bool pDisplayDesc

            , bool pBound
            , string pTableName
            , string pAlias
            , bool pEditable
            , int pForeColor
            )
        {
            SAPbouiCOM.IColumn oColumn;

            oColumn = pMatrix.Columns.Add(pUID, pType);
            if (pWidth > 0)
            {
                oColumn.Width = pWidth;
            }
            if (!string.IsNullOrEmpty(pCaption))
            {
                oColumn.TitleObject.Caption = pCaption;
            }
            if (!string.IsNullOrEmpty(pDescription))
            {
                oColumn.Description = pDescription;
            }
            if (pBound)
            {
                oColumn.DataBind.SetBound(pBound, pTableName, pAlias);
            }

            oColumn.DisplayDesc = pDisplayDesc;
            oColumn.Editable    = pEditable;
            if (pForeColor > 0)
            {
                oColumn.ForeColor = pForeColor;
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// Elimina las columnas (Para cargar nuevamente la matriz)
        /// </summary>
        public SAPbouiCOM.IMatrix DeleteColumns(SAPbouiCOM.IMatrix pObjMatrix)
        {
            int lIntRow = pObjMatrix.RowCount;

            if (lIntRow > 0)
            {
                for (int i = lIntRow; i > 0; i--)
                {
                    pObjMatrix.DeleteRow(i);
                }
            }
            int lIntCount = pObjMatrix.Columns.Count;

            for (int i = 0; i < lIntCount; i++)
            {
                pObjMatrix.Columns.Remove(0);
            }

            return(pObjMatrix);
        }
Exemplo n.º 14
0
        public bool ValidateWeight(string pStrTypeTicket, double pDblPesoNeto, double pDblPeso2, SAPbouiCOM.IMatrix pObjMatrix, int pIntRow)
        {
            bool lBolPesoIncorrecto = true;

            if (pStrTypeTicket == "Venta" && pDblPesoNeto < 0 && pDblPeso2 != 0)
            {
                pDblPesoNeto = 0;
                UIApplication.ShowMessageBox(string.Format("Error al verificar los datos: Peso neto incorrecto para venta"));
                lBolPesoIncorrecto = false;
                (pObjMatrix.Columns.Item("Peso2").Cells.Item(pIntRow).Specific as EditText).Value = "0.0";
            }
            if (pStrTypeTicket == "Compra" && pDblPesoNeto > 0 && pDblPeso2 != 0)
            {
                UIApplication.ShowMessageBox(string.Format("Error al verificar los datos: Peso neto incorrecto para compra"));
                lBolPesoIncorrecto = false;
                (pObjMatrix.Columns.Item("Peso2").Cells.Item(pIntRow).Specific as EditText).Value = "0.0";
            }
            return(lBolPesoIncorrecto);
        }
Exemplo n.º 15
0
        public SAPbouiCOM.DBDataSource CalcImport(string pStrTypeTicket, SAPbouiCOM.IMatrix pObjMatrix, int pIntRow, SAPbouiCOM.DBDataSource pDBDataSourceD)
        {
            try
            {
                double lDblPesoNeto = 0;
                double lDblPeso1    = 0;
                double lDblPeso2    = 0;
                double lDblImporte  = 0;
                double lDblPrice    = 0;
                string lStrSacos    = "";

                if (pIntRow <= pObjMatrix.RowCount && !string.IsNullOrEmpty((pObjMatrix.Columns.Item("Peso2").Cells.Item(pIntRow).Specific as EditText).Value.Trim()))
                {
                    lDblPeso1 = Convert.ToDouble((pObjMatrix.Columns.Item("Peso1").Cells.Item(pIntRow).Specific as EditText).Value.Trim());  //itemcode = VALUE OF CELL. COLUMN "1": ITEMCODE COLUMN. CURRENT ROW: pVal.Row
                    lDblPeso2 = Convert.ToDouble((pObjMatrix.Columns.Item("Peso2").Cells.Item(pIntRow).Specific as EditText).Value.Trim());
                    lDblPrice = Convert.ToDouble((pObjMatrix.Columns.Item("Price").Cells.Item(pIntRow).Specific as EditText).Value.Trim());
                    if (pStrTypeTicket != "Venta de pesaje" && pStrTypeTicket != "Pesaje")
                    {
                        lStrSacos = ((SAPbouiCOM.EditText)pObjMatrix.Columns.Item("Sacos").Cells.Item(pIntRow).Specific).Value;
                    }
                    //  lDblPesoNeto = Convert.ToDouble((mObjMatrix.Columns.Item("PesoN").Cells.Item(mIntRow).Specific as EditText).Value.Trim());


                    if (!((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(pIntRow).Specific).Checked)
                    {
                        pDBDataSourceD.SetValue("TreeType", pIntRow - 1, "N");
                        if (lDblPeso1 != 0 && lDblPeso2 != 0 && lDblPesoNeto == 0)
                        {
                            lDblPesoNeto = lDblPeso2 - lDblPeso1;
                        }
                    }
                    else
                    {
                        pDBDataSourceD.SetValue("TreeType", pIntRow - 1, "Y");
                        lDblPesoNeto = Convert.ToDouble((pObjMatrix.Columns.Item("PesoN").Cells.Item(pIntRow).Specific as EditText).Value.Trim());
                    }

                    lDblPrice = Convert.ToDouble((pObjMatrix.Columns.Item("Price").Cells.Item(pIntRow).Specific as EditText).Value.Trim());

                    if (mObjValidations.ValidateWeight(pStrTypeTicket, lDblPesoNeto, lDblPeso2, pObjMatrix, pIntRow))
                    {
                        //Valida el tipo de peso
                        if (lDblPesoNeto < 0)
                        {
                            lDblPesoNeto = lDblPesoNeto * -1;
                        }

                        if (!((SAPbouiCOM.CheckBox)pObjMatrix.Columns.Item("Check").Cells.Item(pIntRow).Specific).Checked)
                        {
                            (pObjMatrix.Columns.Item("PesoN").Cells.Item(pIntRow).Specific as EditText).Value = lDblPesoNeto.ToString("C");
                        }
                        //(pObjMatrix.Columns.Item("Price").Cells.Item(pIntRow).Specific as EditText).Value = lDblPrice.ToString("C");
                        pDBDataSourceD.SetValue("Quantity", pIntRow - 1, lDblPesoNeto.ToString("C"));
                        pDBDataSourceD.SetValue("Price", pIntRow - 1, lDblPrice.ToString("C"));
                        //  (pObjMatrix.Columns.Item("Peso1").Cells.Item(pIntRow).Specific as EditText).Value = lDblPeso1.ToString();
                        //  (pObjMatrix.Columns.Item("Peso2").Cells.Item(pIntRow).Specific as EditText).Value = lDblPeso2.ToString();

                        pDBDataSourceD.SetValue("Weight1", pIntRow - 1, lDblPeso1.ToString());
                        pDBDataSourceD.SetValue("Weight2", pIntRow - 1, lDblPeso2.ToString());

                        pDBDataSourceD.SetValue("U_GLO_BagsBales", pIntRow - 1, lStrSacos);


                        //mObjMatrix.Item.Visible = false;
                        //mObjMatrix.Item.Visible = true;
                        //mObjMatrix.LoadFromDataSource();

                        if (pStrTypeTicket == "Venta de pesaje" || pStrTypeTicket == "Pesaje")
                        {
                            lDblImporte = lDblPrice;
                        }
                        else
                        {
                            lDblImporte = lDblPesoNeto * lDblPrice;
                        }

                        //if (lDblImporte < 0)
                        //{
                        //    lDblImporte = lDblImporte * -1;
                        //}

                        (pObjMatrix.Columns.Item("Importe").Cells.Item(pIntRow).Specific as EditText).Value = lDblImporte.ToString("C");
                        pDBDataSourceD.SetValue("LineTotal", pIntRow - 1, lDblImporte.ToString("C"));
                        pObjMatrix.Item.Update();
                        //pObjMatrix.LoadFromDataSource();
                    }
                }
            }
            catch (Exception ex)
            {
                LogService.WriteError("[CalcImport]: " + ex.Message);
                LogService.WriteError(ex);
                UIApplication.ShowMessageBox("Error al calcular Importe " + ex.Message);
            }
            return(pDBDataSourceD);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Obtiene los datos de ticket del formuario por linea
        /// </summary>
        public List <TicketDetail> GetTicketDetailMatrix(string pStrFolio, SAPbouiCOM.IMatrix mObjMatrix, bool mBolIsUpdate, bool lBolPesaje, DBDataSource pOBjDataSource)
        {
            List <TicketDetail> lLstTicketDetail = new List <TicketDetail>();
            List <string>       lLstDateTime     = mObjTicketServices.GetServerDatetime();

            try
            {
                for (int i = 1; i <= mObjMatrix.RowCount; i++)
                {
                    float lFloFirstWt  = float.Parse(((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("Peso1").Cells.Item(i).Specific).Value);
                    float lFloSecondWT = float.Parse(((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("Peso2").Cells.Item(i).Specific).Value);

                    //Convert.ToDateTime(lLstDateTime[0])
                    if (((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("ItemCode").Cells.Item(i).Specific).Value != "")
                    {
                        TicketDetail lObjTicketDetail = new TicketDetail();

                        lObjTicketDetail.Folio     = pStrFolio;
                        lObjTicketDetail.Item      = ((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("ItemCode").Cells.Item(i).Specific).Value;
                        lObjTicketDetail.Price     = float.Parse(((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("Price").Cells.Item(i).Specific).Value);
                        lObjTicketDetail.FirstWT   = lFloFirstWt;
                        lObjTicketDetail.SecondWT  = lFloSecondWT;
                        lObjTicketDetail.netWeight = float.Parse(((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("PesoN").Cells.Item(i).Specific).Value);
                        lObjTicketDetail.Amount    = float.Parse(((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("Importe").Cells.Item(i).Specific).Value);
                        //lObjTicketDetail.WeighingM =
                        //    bool lBolWeighingM = ((SAPbouiCOM.CheckBox)mObjMatrix.Columns.Item("Check").Cells.Item(i).Specific).Checked);
                        lObjTicketDetail.Line = i - 1;
                        if (!string.IsNullOrEmpty(pOBjDataSource.GetValue("LineNum", i - 1)))
                        {
                            lObjTicketDetail.BaseLine = Convert.ToInt32(pOBjDataSource.GetValue("LineNum", i - 1));
                        }

                        if ((mObjMatrix.Columns.Item("Check").Cells.Item(i).Specific as CheckBox).Checked)
                        {
                            lObjTicketDetail.WeighingM = 1;
                        }
                        else
                        {
                            lObjTicketDetail.WeighingM = 0;
                        }

                        if (!lBolPesaje)
                        {
                            lObjTicketDetail.WhsCode   = ((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("WhsCode").Cells.Item(i).Specific).Value;
                            lObjTicketDetail.BagsBales = float.Parse(((SAPbouiCOM.EditText)mObjMatrix.Columns.Item("Sacos").Cells.Item(i).Specific).Value);
                        }


                        List <string> lLstTicket = new List <string>();
                        if (mBolIsUpdate && lObjTicketDetail.Item != "") // Calcula la hora si es una nueva pesada
                        {
                            string        lStrcode         = mObjTicketServices.getRowCodeDetail(pStrFolio, lObjTicketDetail.Line);
                            List <string> lLstTicketUpdate = mObjTicketServices.GetDateTimeUpdate(lStrcode);

                            if (lLstTicketUpdate.Count > 0)
                            {
                                if (lLstTicketUpdate[1] == "0")
                                {
                                    lObjTicketDetail.EntryTime = Convert.ToInt32(lLstDateTime[1].Replace(":", ""));
                                    lObjTicketDetail.EntryDate = Convert.ToDateTime(lLstDateTime[0]);
                                }
                                else
                                {
                                    lObjTicketDetail.EntryDate = Convert.ToDateTime(lLstTicketUpdate[0]);
                                    lObjTicketDetail.EntryTime = Convert.ToInt32(lLstTicketUpdate[1]);
                                }
                                if (lLstTicketUpdate[3] == "0")
                                {
                                    lObjTicketDetail.OutputTime = Convert.ToInt32(lLstDateTime[1].Replace(":", ""));
                                    lObjTicketDetail.OutputDate = Convert.ToDateTime(lLstDateTime[0]);
                                }
                                else
                                {
                                    lObjTicketDetail.EntryDate = Convert.ToDateTime(lLstTicketUpdate[2]);
                                    lObjTicketDetail.EntryTime = Convert.ToInt32(lLstTicketUpdate[3]);
                                }
                            }
                        }
                        else
                        {
                            if (lFloFirstWt > 0)
                            {
                                lObjTicketDetail.EntryTime = Convert.ToInt32(lLstDateTime[1].Replace(":", ""));
                                lObjTicketDetail.EntryDate = Convert.ToDateTime(lLstDateTime[0]);
                            }
                            if (lFloSecondWT > 0)
                            {
                                lObjTicketDetail.OutputTime = Convert.ToInt32(lLstDateTime[1].Replace(":", ""));
                                lObjTicketDetail.OutputDate = Convert.ToDateTime(lLstDateTime[0]);
                            }
                        }

                        lLstTicketDetail.Add(lObjTicketDetail);
                    }
                }
            }
            catch (Exception ex)
            {
                LogService.WriteError("[GetTicketDetailMatrix]: " + ex.Message);
                LogService.WriteError(ex);
            }
            return(lLstTicketDetail);
        }