private static void StockTransactionSave() { string transDoc = "ES"; string transSerial = "1"; double partyID = 1; var Transaction = new S50cBL18.BSOStockTransaction(); var currency = APIEngine.SystemSettings.BaseCurrency; var NewTransDocNumber = APIEngine.DSOCache.DocumentProvider.GetNewDocNumber(transSerial, transDoc); //------------------------------------------------------------- // *** Header //------------------------------------------------------------- // Motor do documento Transaction.Transaction.TransDocType = DocumentTypeEnum.dcTypeStock; Transaction.Transaction.TransDocNumber = NewTransDocNumber.DocNumber; Transaction.PermissionsType = FrontOfficePermissionEnum.foPermByUser; //New Documento Transaction.InitNewTransaction(transDoc, transSerial); // Motor dos detalhes (linhas) var bsoStockTransDetail = new S50cBL18.BSOItemTransactionDetail(); bsoStockTransDetail.PermissionsType = FrontOfficePermissionEnum.foPermByUser; bsoStockTransDetail.TransactionType = Transaction.Transaction.TransDocType; bsoStockTransDetail.UserPermissions = APIEngine.SystemSettings.User; Transaction.BSOStockTransactionDetail = bsoStockTransDetail; // Transaction.PartyID = partyID; Transaction.TransactionTaxIncluded = true; Transaction.createDate = DateTime.Now; Transaction.CreateTime = new DateTime(DateTime.Now.TimeOfDay.Ticks); Transaction.ActualDeliveryDate = DateTime.Now; Transaction.PartyType = (short)S50cSys18.PartyTypeEnum.ptNothing; //igual a documento ja criado Transaction.BaseCurrency = currency.CurrencyID; Transaction.BaseCurrencyExchange = currency.BuyExchange; Transaction.Transaction.Comments = "Returnable Packaging"; //------------------------------------------------------------- // *** Header //------------------------------------------------------------- //------------------------------------------------------------- // *** DETAILS //------------------------------------------------------------- if (Transaction.Transaction.Details == null) { Transaction.Transaction.Details = new S50cBO18.ItemTransactionDetailList(); } //Add Linha 1 : 10 7upLitro var StockTransactionDetail = AddStockDetail(Transaction, 1, "7upLitro", 10); Transaction.AddDetail(StockTransactionDetail, false); //Add Linha 2 : 10 TARAS StockTransactionDetail = AddStockDetail(Transaction, 1, "TARAS", 10); Transaction.AddDetail(StockTransactionDetail, false); //------------------------------------------------------------- // *** DETAILS //------------------------------------------------------------- //*** SAVE DOCUMENT if (Transaction.Transaction.Details.Count > 0) { try { Transaction.Calculate(true, true, true); Transaction.SaveDocumentEx(true, false); //Console.Error.Write(Transaction.Transaction.TransactionID.ToString()); } catch (Exception ex) { Console.Error.Write(ex.Message); } } }
private static void ItemTransactionSaveSaleWithReturnOfReturnable() { string transDoc = "FS"; string transSerial = "1"; double PartyID = 1; var currency = APIEngine.SystemSettings.BaseCurrency; var ItemTransaction = new S50cBL18.BSOItemTransaction(); DocumentTypeEnum DocType = DocumentTypeEnum.dcTypeSale; var NewTransDocNumber = APIEngine.DSOCache.DocumentProvider.GetNewDocNumber(transSerial, transDoc); //------------------------------------------------------------- // *** Header //------------------------------------------------------------- // Motor do documento ItemTransaction.Transaction.TransDocType = DocType; ItemTransaction.Transaction.TransDocNumber = NewTransDocNumber.DocNumber; ItemTransaction.PermissionsType = FrontOfficePermissionEnum.foPermByUser; ItemTransaction.InitNewTransaction(transDoc, transSerial); // Motor dos detalhes (linhas) var bsoItemTransDetail = new S50cBL18.BSOItemTransactionDetail(); bsoItemTransDetail.PermissionsType = FrontOfficePermissionEnum.foPermByUser; bsoItemTransDetail.TransactionType = ItemTransaction.Transaction.TransDocType; bsoItemTransDetail.UserPermissions = APIEngine.SystemSettings.User; ItemTransaction.BSOItemTransactionDetail = bsoItemTransDetail; // ItemTransaction.PartyID = PartyID; ItemTransaction.TransactionTaxIncluded = true; ItemTransaction.createDate = DateTime.Now; ItemTransaction.CreateTime = new DateTime(DateTime.Now.TimeOfDay.Ticks); ItemTransaction.ActualDeliveryDate = DateTime.Now; ItemTransaction.BaseCurrency = currency.CurrencyID; ItemTransaction.BaseCurrencyExchange = currency.BuyExchange; ItemTransaction.Transaction.Comments = "Returnable Packaging"; //------------------------------------------------------------- // *** Header //------------------------------------------------------------- //------------------------------------------------------------- // *** DETAILS //------------------------------------------------------------- if (ItemTransaction.Transaction.Details == null) { ItemTransaction.Transaction.Details = new S50cBO18.ItemTransactionDetailList(); } //Add Line_1: art1 type normal var StockTransactionDetail = AddItemDetail(ItemTransaction, 1, "Bacalhau", 1, 33); ItemTransaction.AddDetail(StockTransactionDetail, true); ////Add Line_2: Enter customer returnables ,Customer input value is negative StockTransactionDetail = AddItemDetail(ItemTransaction, 1, "TARAS", -3, 0.30); ItemTransaction.AddDetail(StockTransactionDetail, true); //------------------------------------------------------------- // *** DETAILS //------------------------------------------------------------- //------------------------------------------------------------- // *** SAVE DOCUMENT //------------------------------------------------------------- //*** SAVE only if document have Lines if (ItemTransaction.Transaction.Details.Count > 0) { try { //Ensure Till is open ItemTransaction.EnsureOpenTill(ItemTransaction.Transaction.Till.TillID); //Calculate ItemTransaction.Calculate(true, true); //Save Document ItemTransaction.SaveDocument(false, false); //Console.Error.Write(ItemTransaction.Transaction.TransactionID.ToString()); } catch (Exception ex) { Console.Error.Write(ex.Message); } } //------------------------------------------------------------- // *** SAVE DOCUMENT //------------------------------------------------------------- }