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); } }
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 }); } }
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; }; }
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; } }
/// <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); }
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); } }
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(); }
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); } }
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); } }
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; } }
public static SAPbobsCOM.GeneralData GetUserTransferItem(string udoCode, string primaryKeyName, string primaryKeyValue) { return(B1Helper.GetUdoObject(udoCode, primaryKeyName, primaryKeyValue)); }