public void NewCashSaleWithCash(BCE.Data.DBSetting dbSetting)
{
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand cmd =
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand.Create(dbSetting);
BCE.AutoCount.Invoicing.Sales.CashSale.CashSale doc = cmd.AddNew();
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleDetail dtl;
//doc.DocNo = "CS-00011";
doc.DebtorCode = "300-C001";
doc.DocDate = DateTime.Today.Date;
//Enable 5 cents rounding in this document
//Ensure the "5 Cents Rounding Adjustment Account" is set to an account,
//in Tools | Options > G/L | G/L Posting...
doc.IsRoundAdj = true;
dtl = doc.AddDetail();
dtl.ItemCode = "FG00001";
dtl.Qty = 1;
dtl.UOM = "UNIT";
dtl.UnitPrice = 50.20M;
dtl.TaxType = "S-10";
dtl = doc.AddDetail();
dtl.ItemCode = "FG00002";
dtl.Qty = 10;
dtl.UOM = "UNIT";
dtl.UnitPrice = 60.20M;
dtl.Discount = "30%";
dtl.TaxType = "S-10";
//FinalTotal is the total after 5 cents rounding
MakeCashPayment(doc, doc.FinalTotal, dbSetting);
try
{
doc.Save();
BCE.Application.AppMessage.ShowMessage($"{doc.DocNo} is created.");
}
catch (Exception ex)
{
BCE.Application.AppMessage.ShowErrorMessage($"Failed to save Cash Sale.\n{ex.Message}");
}
}
Programmer:Cash Sale with Payment: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 105: | Line 105: | ||
BCE.AutoCount.Invoicing.Sales.CashSale.CashSale doc = cmd.AddNew(); |
BCE.AutoCount.Invoicing.Sales.CashSale.CashSale doc = cmd.AddNew(); |
||
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleDetail dtl; |
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleDetail dtl; |
||
⚫ | |||
//doc.DocNo = "CS-00011"; |
//doc.DocNo = "CS-00011"; |
||
Line 131: | Line 130: | ||
dtl.TaxType = "S-10"; |
dtl.TaxType = "S-10"; |
||
//FinalTotal is the total after 5 cents rounding |
|||
//Create new Cash Sale Payment |
|||
MakeCashPayment(doc, doc.FinalTotal, dbSetting); |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
//Payment |
|||
⚫ | |||
paymentDtl = doc.CashSalePayment.ARPayment.NewDetail(); |
|||
//Assgin "CASH" to paymentmethod that has been maintained |
|||
//in General Maintenance | Payment Method Maintenance |
|||
paymentDtl.PaymentMethod = "CASH"; |
|||
try |
try |
||
Line 163: | Line 148: | ||
==Edit Cash Sale that has payment== |
==Edit Cash Sale that has payment== |
||
<syntaxhighlight lang="c#"> |
<syntaxhighlight lang="c#"> |
||
private void MakeCashPayment(BCE.AutoCount.Invoicing.Sales.CashSale.CashSale cs, decimal cashAmt, BCE.Data.DBSetting dbSetting) |
|||
{ |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
cs.CashSalePayment = BCE.AutoCount.Invoicing.Sales.SalesPayment.Create( |
|||
cs.ReferPaymentDocKey, cs.DocKey, |
|||
BCE.AutoCount.Document.DocumentType.CashSale, dbSetting); |
|||
cs.CashSalePayment.DebtorCode = cs.DebtorCode; |
|||
cs.CashSalePayment.CurrencyCode = cs.CurrencyCode; |
|||
⚫ | |||
⚫ | |||
payDtl.PaymentMethod = BCE.AutoCount.Invoicing.CommonFunction.GetFirstCashAccount(dbSetting); |
|||
payDtl.PaymentAmt = cashAmt; |
|||
if (cs.CashSalePayment.PaymentAmt > 0) |
|||
cs.ReferPaymentDocKey = cs.CashSalePayment.DocKey; |
|||
} |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
Revision as of 00:50, 7 March 2019
Technical Specification
- NetTotal must not be negative amount
- Negative Quantity is allowed, if it does not violate the NetTotal rule.
References of AutoCount Accounting version 1.8, 1.9
BCE.AutoCount.dll BCE.AutoCount.CommonAccounting.dll BCE.AutoCount.MainEntry.dll BCE.Utils.dll BCE.Utils.UI.dll BCE.AutoCount.Invoicing.dll BCE.AutoCount.Invoicing.Sales.dll
Cash Sale API Usage
New
public void NewCashSale(BCE.Data.DBSetting dbSetting)
{
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand cmd =
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand.Create(dbSetting);
BCE.AutoCount.Invoicing.Sales.CashSale.CashSale doc = cmd.AddNew();
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleDetail dtl;
doc.DebtorCode = "300-C001";
doc.DocNo = "CS-00011";
doc.DocDate = DateTime.Today.Date;
dtl = doc.AddDetail();
dtl.ItemCode = "FG00001";
dtl.Qty = 1;
dtl.UOM = "UNIT";
dtl.UnitPrice = 50.20M;
dtl = doc.AddDetail();
dtl.ItemCode = "FG00002";
dtl.Qty = 10;
dtl.UOM = "UNIT";
dtl.UnitPrice = 60.20M;
dtl.Discount = "30%";
doc.Save();
}
Edit
public void EditCashSale(BCE.Data.DBSetting dbSetting)
{
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand cmd =
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand.Create(dbSetting);
BCE.AutoCount.Invoicing.Sales.CashSale.CashSale doc = cmd.Edit("CS-00011");
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleDetail dtl;
if (doc != null)
{
doc.ClearDetails();
dtl = doc.AddDetail();
dtl.ItemCode = "FG00001";
dtl.Qty = 1;
dtl.UOM = "UNIT";
dtl.UnitPrice = 50.20M;
dtl = doc.AddDetail();
dtl.ItemCode = "FG00003";
dtl.Qty = 10;
dtl.UOM = "UNIT";
dtl.UnitPrice = 6.30M;
dtl.Discount = "30%";
doc.Save();
}
}
Cancel
public void CancelCashSale(BCE.Data.DBSetting dbSetting)
{
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand cmd =
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand.Create(dbSetting);
cmd.CancelDocument("CS-00011", BCE.AutoCount.Authentication
.UserAuthentication.GetOrCreate(dbSetting).LoginUserID);
}
Delete
public void DeleteCashSale(BCE.Data.DBSetting dbSetting)
{
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand cmd =
BCE.AutoCount.Invoicing.Sales.CashSale.CashSaleCommand.Create(dbSetting);
cmd.Delete("CS-00011");
}
New Cash Sale with Cash Sale Payment
[DRAFT]
In writing.
Edit Cash Sale that has payment
private void MakeCashPayment(BCE.AutoCount.Invoicing.Sales.CashSale.CashSale cs, decimal cashAmt, BCE.Data.DBSetting dbSetting)
{
//PaymentMode 1 indicate the payment in this Cash Sale is by Cash
cs.PaymentMode = 1;
cs.CashPayment = cashAmt;
cs.CCApprovalCode = DBNull.Value;
cs.CashSalePayment.ARPayment.ClearDetails();
cs.CashSalePayment = BCE.AutoCount.Invoicing.Sales.SalesPayment.Create(
cs.ReferPaymentDocKey, cs.DocKey,
BCE.AutoCount.Document.DocumentType.CashSale, dbSetting);
cs.CashSalePayment.DebtorCode = cs.DebtorCode;
cs.CashSalePayment.CurrencyCode = cs.CurrencyCode;
cs.CashSalePayment.DocDate = cs.DocDate;
BCE.AutoCount.ARAP.ARPayment.ARPaymentDTLEntity payDtl = cs.CashSalePayment.ARPayment.NewDetail();
payDtl.PaymentMethod = BCE.AutoCount.Invoicing.CommonFunction.GetFirstCashAccount(dbSetting);
payDtl.PaymentAmt = cashAmt;
if (cs.CashSalePayment.PaymentAmt > 0)
cs.ReferPaymentDocKey = cs.CashSalePayment.DocKey;
}
See Also
- Programmer:Quotation
- Programmer:Sales Order
- Programmer:Delivery Order
- Programmer:Sales Invoice
- Programmer:Cash Sale with Payment
![]() |
Go to top
|
![]() |
Resources For AutoCount Software Developers
|