Exemplo n.º 1
0
        public void FillBatches()
        {
            if (IsDraft())
            {
                FillBatchesForDraft();
                return;
            }

            BatchNumbes = new List <BatchNumber>();

            var batches = B1Helper.GetBatchNumbers(
                DBName, ItemCode, WhsCode, DocEntry, LineNum, ObjType);

            if (batches.IsEmpty() && BaseType != eDocumentObjectType.oNone)
            {
                batches = B1Helper.GetBatchNumbers(
                    DBName, ItemCode, WhsCode, BaseEntry, BaseLine, BaseType);
            }

            foreach (var batch in batches)
            {
                var newBath = new BatchNumber(DBName);

                if (!newBath.GetByKey(batch.ItemCode, batch.WhsCode, batch.BatchNum))
                {
                    continue;
                }

                newBath.Quantity = batch.Quantity;
                BatchNumbes.Add(newBath);
            }
        }
Exemplo n.º 2
0
        public void FillSerialNumbers()
        {
            SerialNumbers = new List <LineSerialNumber>();

            var item = B1Helper.GetItem(ItemCode, DBName);

            if (item.ManSerNum == eYesNo.No)
            {
                return;
            }

            var serialNumber = new TransactionLogService(DBName, DocEntry, ObjType.To <int>());
            var transLog     = serialNumber.GetByLine(LineNum);

            if (transLog.Details.IsEmpty() && BaseType != eDocumentObjectType.oNone)
            {
                serialNumber = new TransactionLogService(DBName, BaseEntry, BaseType.To <int>());
                transLog     = serialNumber.GetByLine(BaseLine);
            }

            foreach (var detail in transLog.Details)
            {
                SerialNumbers.Add(
                    new LineSerialNumber
                {
                    SystemSerialNumber = detail.SysNumber
                });
            }
        }
Exemplo n.º 3
0
        private void FormatMultiplos()
        {
            var bp    = new BusinessPartner(Program.GetCurrentCompanyDb());
            var query = new TableQuery(bp);

            var choose = new ChooseFromListHelper(
                cardCodeMultEdit, cardNameMultEdit,
                query,
                BusinessPartner.FieldsName.CardCode,
                BusinessPartner.FieldsName.CardName,
                "Parceiros");

            choose.AllowSelectionsMultiples = true;

            choose.AfterTryGetRecord += (o, args) =>
            {
                gridView1.Columns.Clear();
                var selecionados = args.Records.Select(c =>
                {
                    var newBp = B1Helper.GetByKey <BusinessPartner>(Program.GetCurrentCompanyDb(), c["CardCode"]);
                    return(newBp);
                })
                                   .ToList();

                dataGrid1.DataSource = selecionados;
            };
        }
Exemplo n.º 4
0
        public void mtxItems_ValidateBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
        {
            if (pVal.ColUID.Equals("Quantity"))
            {
                decimal quantityValue = decimal.MinValue;
                var     whsCode       = mtxItems.GetCellValue("FromWhs", pVal.Row).ToString();
                var     itemCode      = mtxItems.GetCellValue("to_Item", pVal.Row).ToString();
                var     quantity      = mtxItems.GetCellValue("Quantity", pVal.Row);
                if (!quantity.Equals(string.Empty))
                {
                    quantityValue = Convert.ToDecimal(quantity);
                }

                var whsInfo = B1Helper.GetWhsItemInfo(itemCode, whsCode);
                if (quantityValue + GetSelectedItemQuantity(itemCode, whsCode, pVal.Row) > whsInfo.AvailableValue)
                {
                    Application.SBO_Application.MessageBox("The quantity in stock is not enough.");
                    BubbleEvent = false;
                }
                else
                {
                    BubbleEvent = true;
                }
            }
            else
            {
                BubbleEvent = true;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Verifica se o usuário tem acesso ao recurso
        /// </summary>
        /// <exception cref="Exception">Caso o usuário não tiver autorização dispara uma exçecão</exception>
        /// <param name="pPermId">ID da Permissão</param>
        /// <param name="accessRequest">Permissão requerida</param>
        /// <param name="userName">Empresa</param>
        /// <param name="companyDb">Banco de dados da empresa</param>
        /// <param name="throwException">Gera Exceção</param>
        public static bool HasPermission(string pPermId, PermissionType accessRequest, string userName,
                                         string companyDb, bool throwException = true)
        {
            var user = B1Helper.GetUser(userName, companyDb);

            if (user.SUPERUSER == eYesNo.Yes)
            {
                return(true);
            }

            var permi         = new UserAuthorization(companyDb);
            var hasPermission = false;

            if (permi.GetByKey(user.InternalK, pPermId))
            {
                switch (accessRequest)
                {
                case PermissionType.Full:
                    hasPermission = permi.Permission == PermissionType.Full;
                    break;

                case PermissionType.ReadOnly:
                    hasPermission = permi.Permission != PermissionType.None;
                    break;
                }
            }

            if (!hasPermission && SboVersion.EqualOrMoreThenSap91Pl04())
            {
                var groupUserAssociation = new GroupUserAssociation(companyDb);
                if (groupUserAssociation.GetByKey(user.UserId))
                {
                    var groupAuthorization = new GroupAuthorization(companyDb);
                    if (groupAuthorization.GetByKey(groupUserAssociation.GroupId, pPermId))
                    {
                        switch (accessRequest)
                        {
                        case PermissionType.Full:
                            hasPermission = groupAuthorization.Permission == PermissionType.Full;
                            break;

                        case PermissionType.ReadOnly:
                            hasPermission = groupAuthorization.Permission != PermissionType.None;
                            break;
                        }
                    }
                }
            }

            if (!hasPermission && throwException)
            {
                throw new Exception("Usuário não tem permissão para acessar esse recurso !");
            }

            return(hasPermission);
        }
Exemplo n.º 6
0
        public static bool InstallUDOs()
        {
            try
            {
                B1Helper.DiCompany.StartTransaction();

                B1Helper.AddTable(TableNames.TransferItems, "Transfer Items", SAPbobsCOM.BoUTBTableType.bott_Document);
                B1Helper.AddTable(TableNames.TransferItemsLines, "Transfer Items Lines", SAPbobsCOM.BoUTBTableType.bott_DocumentLines);
                B1Helper.AddTable(TableNames.TransferItemsSetup, "Transfer Items Setup", SAPbobsCOM.BoUTBTableType.bott_Document);
                B1Helper.AddTable(TableNames.TransferAddCost, "Transfer Items Added Cost", SAPbobsCOM.BoUTBTableType.bott_DocumentLines);

                B1Helper.AddField(FieldNames.IssueItem, "Issue Item", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.IssueDescription, "Issue Item Description", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Alpha, 100, SAPbobsCOM.BoYesNoEnum.tNO, true);
                B1Helper.AddField(FieldNames.ReceiptItem, "Receipt Item", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.ReceiptDescription, "Receipt Item Description", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Alpha, 100, SAPbobsCOM.BoYesNoEnum.tNO, true);
                B1Helper.AddField(FieldNames.AvgPrice, "AvgPrice", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Float, SAPbobsCOM.BoYesNoEnum.tYES, SAPbobsCOM.BoFldSubTypes.st_Price, true);
                B1Helper.AddField(FieldNames.FromWareHouse, "From Whs", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.ToWareHouse, "To Whs", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.Quantity, "Quantity", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.AdditionalCost, "Add. Cost", TableNames.TransferItemsLines, SAPbobsCOM.BoFieldTypes.db_Float, SAPbobsCOM.BoYesNoEnum.tYES, SAPbobsCOM.BoFldSubTypes.st_Price, true);

                //T_TRANSFERADDCOST FIELDS
                B1Helper.AddField(FieldNames.Cost, "Cost", TableNames.TransferAddCost, SAPbobsCOM.BoFieldTypes.db_Numeric, SAPbobsCOM.BoYesNoEnum.tYES, SAPbobsCOM.BoFldSubTypes.st_Price, true);
                B1Helper.AddField(FieldNames.UoMType, "UoM Type", TableNames.TransferAddCost, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.Code, "Code", TableNames.TransferAddCost, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);

                //T_ITMTRNSFRSTUP FIELDS
                B1Helper.AddField(FieldNames.Type, "Type", TableNames.TransferItemsSetup, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.Code, "Code", TableNames.TransferItemsSetup, SAPbobsCOM.BoFieldTypes.db_Alpha, SAPbobsCOM.BoYesNoEnum.tYES, true);
                B1Helper.AddField(FieldNames.Name, "Name", TableNames.TransferItemsSetup, SAPbobsCOM.BoFieldTypes.db_Alpha, 100, SAPbobsCOM.BoYesNoEnum.tYES, true);

                B1Helper.DiCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit);
                var firstUdo  = B1Helper.CreateUdo("UDO_ItemsTransfer", "UDO_ItemsTransfer", TableNames.TransferItems, TableNames.TransferItemsLines, TableNames.TransferAddCost);
                var secondUdo = B1Helper.CreateUdo("UDO_ItmTrnsfrSetup", "UDO_ItmTrnsfrSetup", TableNames.TransferItemsSetup, new List <string> {
                    string.Format("U_{0}", FieldNames.Code), string.Format("U_{0}", FieldNames.Name)
                });
                if (firstUdo && secondUdo)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Utilities.LogException(ex);
                B1Helper.DiCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack);
                return(false);
            }
        }
Exemplo n.º 7
0
        static void myApplication_OnStartConnection(object sender, ApplicationEventArgs e)
        {
            var param = Nampula.UI.Application.GetInstance().GetParam();

            //param.ConnectionTimeout = 240;

            WaitingStatusHelper.WaintigFor(() => new DBTeste().Start(param), "Teste de Mensagem");

            var teste = B1Helper.GetByKey <BusinessPlace>(GetCurrentCompanyDb(), 1, "Business Place");

            //var item = B1Helper.GetItem("P00002", GetCurrentCompanyDb());

            //var cod = B1Helper.GetByKey<BrazilFuelIndexer>(GetCurrentCompanyDb(), item.FuelCode, "Configuração de Combustível");

            //new Security( );

            //var draft2 = B1Helper.GetDocument(4, eDocumentObjectType.oPurchaseOrders, Program.GetCurrentCompanyDb());

            //draft2.FillTaxExtension();

            //Debug.Assert(draft2.TaxExtension.MainUsage.Equals("11"),  "Utilização deveria ser 11 - 1411 - Dev. Cmp Cons");

            //draft2.FillLines();

            //var draft = B1Helper.GetDocument(15, eDocumentObjectType.oDrafts, Program.GetCurrentCompanyDb());

            //draft.FillLines();

            //var draft2 = B1Helper.GetDocument(1, eDocumentObjectType.oInvoices, Program.GetCurrentCompanyDb());
            //draft2.FillLines();

            //var draft3 = B1Helper.GetDocument(2, eDocumentObjectType.oInvoices, Program.GetCurrentCompanyDb());
            //draft3.FillLines();

            //var items = B1Helper.GetAll<Item>(Program.GetCurrentCompanyDb(),
            //    new KeyValuePair<string, object>(Item.FieldsName.CodeBars, "1212121212"));

            //if (items.IsEmpty())
            //{
            //    var codeBars = B1Helper.GetAll<BarCodeMasterData>(Program.GetCurrentCompanyDb(),
            //        new KeyValuePair<string, object>(BarCodeMasterData.FieldsName.BcdCode, "1212121212"));

            //    items = codeBars.Select(c =>
            //        B1Helper.GetByKey<Item>(GetCurrentCompanyDb(), c.ItemCode)).ToList();
            //}

            //var draft3 = B1Helper.GetDocument(2, eDocumentObjectType.oInvoices, Program.GetCurrentCompanyDb());
            //draft3.FillLines();
        }
Exemplo n.º 8
0
        public static void TransferItemsProcess(SAPbouiCOM.Application oApp, string referenceNumber, List <SelectedBatchDataSources> issueBatchDSList, List <SelectedBatchDataSources> receiptBatchDSList, List <TransferItem> issueItemsList, List <TransferItem> receiptItemsList)
        {
            try
            {
                B1Helper.DiCompany.StartTransaction();

                Task t1 = Task.Run(delegate()
                {
                    foreach (var tItem in issueItemsList)
                    {
                        B1Helper.CreateTransferGoodsIssue(oApp, referenceNumber, tItem.IssueItemCode, Convert.ToDouble(tItem.Quantity), tItem.FromWhs);
                    }
                });

                Task t2 = Task.Run(delegate()
                {
                    foreach (var ds in issueBatchDSList)
                    {
                        B1Helper.CreateTransferGoodsIssue(oApp, referenceNumber, ds.ItemCode, Convert.ToDouble(ds.Quantity), ds.WhsCode, ds.SelectedBatches);
                    }
                });

                Task t3 = Task.Run(delegate()
                {
                    foreach (var ds in receiptBatchDSList)
                    {
                        B1Helper.CreateTransferGoodsReceipt(oApp, referenceNumber, ds.ItemCode, Convert.ToDouble(ds.Quantity), ds.WhsCode, (ds.AddAmount / ds.Quantity) + ds.AvgPrice, ds.SelectedBatches);
                    }
                });
                Task t4 = Task.Run(delegate()
                {
                    foreach (var receiptItem in receiptItemsList)
                    {
                        B1Helper.CreateTransferGoodsReceipt(oApp, referenceNumber, receiptItem.ReceiptItemCode, Convert.ToDouble(receiptItem.Quantity), receiptItem.ToWhs, receiptItem.AvgCost + (receiptItem.AddCost / receiptItem.Quantity));
                    }
                });

                Task.WaitAll(t1, t2, t3, t4);
                B1Helper.DiCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit);
            }
            catch (Exception ex)
            {
                var id = Convert.ToInt32(referenceNumber);
                Utilities.LogException(ex);
                B1Helper.DeleteRecord(id);
                B1Helper.DiCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack);
            }
        }
Exemplo n.º 9
0
 public static string GetNextEntryIndex(string tableName)
 {
     try
     {
         var result = B1Helper.GetNextEntryIndex(tableName);
         if (result.Equals(string.Empty))
         {
             result = "0";
         }
         return(result);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Exemplo n.º 10
0
        private void mtxItems_ChooseFromListBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
        {
            try
            {
                if (pVal.ColUID.Equals("FromWhs"))
                {
                    SAPbouiCOM.ChooseFromList cfl = this.UIAPIRawForm.ChooseFromLists.Item("cflWH") as SAPbouiCOM.ChooseFromList;
                    var itemCode      = mtxItems.GetCellValue("to_Item", pVal.Row).ToString();
                    var itmWareHouses = B1Helper.GetWhsInfoPerItem(itemCode);

                    var oConditions = Application.SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_Conditions) as SAPbouiCOM.Conditions;

                    for (int i = 0; i < itmWareHouses.Count; i++)
                    {
                        var oCondition = oConditions.Add();

                        oCondition.Alias     = "WhsCode";
                        oCondition.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                        oCondition.CondVal   = itmWareHouses[i].WhsCode;

                        if (i + 1 != itmWareHouses.Count)
                        {
                            oCondition.Relationship = SAPbouiCOM.BoConditionRelationship.cr_OR;
                        }
                    }
                    if (itmWareHouses.Count == 0)
                    {
                        var oCondition = oConditions.Add();
                        oCondition.Alias   = "WhsCode";
                        oCondition.CondVal = string.Empty;
                    }


                    cfl.SetConditions(oConditions);
                }

                BubbleEvent = true;
                mtxItems.FlushToDataSource();
            }
            catch (Exception ex)
            {
                Utilities.LogException(ex);
                BubbleEvent = false;
            }
        }
Exemplo n.º 11
0
 public static SAPbobsCOM.GeneralData GetUserTransferItem(string udoCode, string primaryKeyName, string primaryKeyValue)
 {
     return(B1Helper.GetUdoObject(udoCode, primaryKeyName, primaryKeyValue));
 }