예제 #1
0
        private void AddRiseItemDetails(InventoryItemsLinesDTO pObjRiseItem)
        {
            try
            {
                if (pObjRiseItem == null)
                {
                    return;
                }

                this.UIAPIRawForm.Freeze(true);

                dtItems.Rows.Add();
                dtItems.SetValue("#", dtItems.Rows.Count - 1, dtItems.Rows.Count);
                dtItems.SetValue("ItemCode", dtItems.Rows.Count - 1, pObjRiseItem.ItemCode);
                dtItems.SetValue("ItemDesc", dtItems.Rows.Count - 1, pObjRiseItem.ItemName);
                dtItems.SetValue("Qty", dtItems.Rows.Count - 1, pObjRiseItem.Quantity);

                mtxItems.LoadFromDataSource();
                mtxItems.AutoResizeColumns();
            }
            catch (Exception lObjException)
            {
                LogUtility.WriteError(string.Format("[frmStockTransfer - AddRiseItemDetails] Error al agregar el detalle del artículo: {0}", lObjException.Message));
                throw new Exception(string.Format("Error al agregar el detalle del artículo: {0}", lObjException.Message));
            }
            finally
            {
                this.UIAPIRawForm.Freeze(false);
            }
        }
예제 #2
0
        public void AddItem(InventoryItemsLinesDTO pObjGoodIssuesLine)
        {
            try
            {
                if (pObjGoodIssuesLine == null)
                {
                    return;
                }

                this.UIAPIRawForm.Freeze(true);

                dtItems.Rows.Add();
                dtItems.SetValue("#", dtItems.Rows.Count - 1, dtItems.Rows.Count);
                dtItems.SetValue("ItemCode", dtItems.Rows.Count - 1, pObjGoodIssuesLine.ItemCode);
                dtItems.SetValue("ItemName", dtItems.Rows.Count - 1, pObjGoodIssuesLine.ItemName);
                dtItems.SetValue("Quantity", dtItems.Rows.Count - 1, pObjGoodIssuesLine.Quantity);
                dtItems.SetValue("OrigQty", dtItems.Rows.Count - 1, pObjGoodIssuesLine.OriginalQty);
                dtItems.SetValue("Category", dtItems.Rows.Count - 1, pObjGoodIssuesLine.Category);

                mtxItems.LoadFromDataSource();
            }
            catch (Exception lObjException)
            {
                throw new Exception(string.Format("Error al agregar el artículo {0}", lObjException.Message));
            }
            finally
            {
                this.UIAPIRawForm.Freeze(false);
            }
        }
예제 #3
0
        public List <InventoryItemsLinesDTO> GetTotalsRiseId(int pIntRiseId)
        {
            List <InventoryItemsLinesDTO> lLstGoodIssuesLines = new List <InventoryItemsLinesDTO>();
            Recordset lObjRecordset = null;

            try
            {
                lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset);

                string lStrQuery = this.GetSQL("GetGoodIssueItemsTotalsByRiseId").InjectSingleValue("RiseId", pIntRiseId.ToString());

                lObjRecordset.DoQuery(lStrQuery);

                if (lObjRecordset.RecordCount > 0)
                {
                    for (int i = 0; i < lObjRecordset.RecordCount; i++)
                    {
                        InventoryItemsLinesDTO lObjGoodIssueLine = new InventoryItemsLinesDTO
                        {
                            ItemCode    = lObjRecordset.Fields.Item("ItemCode").Value.ToString(),
                            ItemName    = lObjRecordset.Fields.Item("ItemName").Value.ToString(),
                            OriginalQty = 0,
                            Quantity    = double.Parse(lObjRecordset.Fields.Item("Quantity").Value.ToString()),
                            Category    = lObjRecordset.Fields.Item("Category").Value.ToString(),
                        };

                        lLstGoodIssuesLines.Add(lObjGoodIssueLine);
                        lObjRecordset.MoveNext();
                    }
                }
            }
            catch (Exception lObjException)
            {
                LogService.WriteError(string.Format("[GoodIssuesDAO - GetTotalsRiseId: {0}]", lObjException.Message));
                throw new DAOException(lObjException.Message, lObjException);
            }
            finally
            {
                MemoryUtility.ReleaseComObject(lObjRecordset);
            }
            return(lLstGoodIssuesLines);
        }
예제 #4
0
        public List <InventoryItemsLinesDTO> DataTableToDTO(SAPbouiCOM.DataTable pObjDataTable)
        {
            List <InventoryItemsLinesDTO> lLstGoodIssuesLines = new List <InventoryItemsLinesDTO>();

            for (int i = 0; i < pObjDataTable.Rows.Count; i++)
            {
                InventoryItemsLinesDTO lObjGoodIssuesLine = new InventoryItemsLinesDTO();

                lObjGoodIssuesLine.ItemCode = pObjDataTable.GetValue("ItemCode", i).ToString();
                lObjGoodIssuesLine.ItemName = pObjDataTable.GetValue("ItemName", i).ToString();
                //lObjGoodIssuesLine.OriginalQty = double.Parse(pObjDataTable.GetValue("OrigQty", i).ToString());
                lObjGoodIssuesLine.Quantity   = double.Parse(pObjDataTable.GetValue("Quantity", i).ToString());
                lObjGoodIssuesLine.ActivoFijo = pObjDataTable.GetValue("ActiveF", i).ToString();
                lObjGoodIssuesLine.Category   = pObjDataTable.GetValue("Category", i).ToString();

                lLstGoodIssuesLines.Add(lObjGoodIssuesLine);
            }

            return(lLstGoodIssuesLines);
        }
예제 #5
0
        public void AddGoodIssueLine()
        {
            try
            {
                int lIntRow = mtxItems.GetNextSelectedRow(0, SAPbouiCOM.BoOrderType.ot_SelectionOrder);
                if (lIntRow <= 0)
                {
                    UIApplication.ShowError("Seleccione un artículo");
                    return;
                }

                string lStrItemCode = (mtxItems.Columns.Item(1).Cells.Item(lIntRow).Specific as SAPbouiCOM.EditText).Value.Trim();
                string lStrItemName = (mtxItems.Columns.Item(2).Cells.Item(lIntRow).Specific as SAPbouiCOM.EditText).Value.Trim();
                double lDblItemQty  = double.Parse((mtxItems.Columns.Item(3).Cells.Item(lIntRow).Specific as SAPbouiCOM.EditText).Value.Trim());
                string lStrCategory = dtItems.GetValue("Category", lIntRow - 1).ToString();

                string lStrActivoFijo = cboAF.Value;
                double lDblQty        = 0;

                if (string.IsNullOrEmpty(lStrActivoFijo))
                {
                    UIApplication.ShowError("Seleccione un activo fijo");
                    return;
                }

                if (!Double.TryParse(txtQty.Value, out lDblQty))
                {
                    UIApplication.ShowError("Valor no válido para la cantidad");
                    return;
                }

                if (lDblQty <= 0)
                {
                    UIApplication.ShowError("Ingrese una cantidad mayor a 0");
                    return;
                }

                ValidateTotalByCategory(lStrCategory, lDblQty);

                /*if (lDblQty > lDblItemQty)
                 * {
                 *  UIApplication.ShowError(string.Format("No puede dar salida a una cantidad mayor de la permitida {0} para el artículo {1}", lDblItemQty, lStrItemCode));
                 *  return;
                 * }*/

                InventoryItemsLinesDTO pObjGoodIssuesLine = new InventoryItemsLinesDTO
                {
                    ItemCode    = lStrItemCode,
                    ItemName    = lStrItemName,
                    OriginalQty = 0,
                    Quantity    = lDblQty,
                    ActivoFijo  = lStrActivoFijo,
                    Category    = lStrCategory
                };

                this.UIAPIRawForm.Freeze(true);

                dtGoodIssues.Rows.Add();
                dtGoodIssues.SetValue("#", dtGoodIssues.Rows.Count - 1, dtGoodIssues.Rows.Count);
                dtGoodIssues.SetValue("ItemCode", dtGoodIssues.Rows.Count - 1, pObjGoodIssuesLine.ItemCode);
                dtGoodIssues.SetValue("ItemName", dtGoodIssues.Rows.Count - 1, pObjGoodIssuesLine.ItemName);
                dtGoodIssues.SetValue("Quantity", dtGoodIssues.Rows.Count - 1, pObjGoodIssuesLine.Quantity);
                dtGoodIssues.SetValue("ActiveF", dtGoodIssues.Rows.Count - 1, pObjGoodIssuesLine.ActivoFijo);
                dtGoodIssues.SetValue("Category", dtGoodIssues.Rows.Count - 1, pObjGoodIssuesLine.Category);

                mtxGoodIssues.LoadFromDataSource();
                mtxGoodIssues.AutoResizeColumns();
            }
            catch (Exception lObjException)
            {
                LogUtility.WriteError(String.Format("[frmGoodIssue - AddGoodIssueLine] Error: {0}", lObjException.Message));
                throw new Exception(string.Format("Error al agregar la línea de la salida de mercancía: {0}", lObjException.Message));
            }
            finally
            {
                txtQty.Value = string.Empty;

                this.UIAPIRawForm.Freeze(false);
            }
        }