Programmer:Cash Sale with Payment: Difference between revisions

From AutoCount Resource Center
Content added Content deleted
No edit summary
No edit summary
Line 93: Line 93:
</syntaxhighlight>
</syntaxhighlight>


<br/>
==New Cash Sale with Cash Sale Payment==
<tabber>
CASH=
<syntaxhighlight lang="c#">
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;
BCE.AutoCount.ARAP.ARPayment.ARPaymentDTLEntity paymentDtl;


//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";

//Create new Cash Sale Payment
doc.CashSalePayment = BCE.AutoCount.Invoicing.Sales.SalesPayment.Create(doc.ReferPaymentDocKey, doc.DocKey, "CS", dbSetting);

//PaymentMode 1 indicate the payment is by Cash
doc.PaymentMode = 1;
doc.CashPayment = doc.FinalTotal;
doc.CCApprovalCode = DBNull.Value;
doc.CashSalePayment.ARPayment.ToHomeRate = doc.CurrencyRate;

//Payment
doc.CashSalePayment.ARPayment.ClearDetails();
paymentDtl = doc.CashSalePayment.ARPayment.NewDetail();

//Assgin "CASH" to paymentmethod that has been maintained
//in General Maintenance | Payment Method Maintenance
paymentDtl.PaymentMethod = "CASH";

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}");
}
}
</syntaxhighlight>
</tabber>


==Edit Cash Sale that has payment==
<syntaxhighlight lang="c#">

</syntaxhighlight>



<br/>
{{SeeAlsoSale}}
{{SeeAlsoSale}}
{{NavigateDeveloper}}
{{NavigateDeveloper}}

Revision as of 02:05, 6 March 2019

Technical Specification

  1. NetTotal must not be negative amount
  2. 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

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;
    BCE.AutoCount.ARAP.ARPayment.ARPaymentDTLEntity paymentDtl;

    //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";

    //Create new Cash Sale Payment
    doc.CashSalePayment = BCE.AutoCount.Invoicing.Sales.SalesPayment.Create(doc.ReferPaymentDocKey, doc.DocKey, "CS", dbSetting);

    //PaymentMode 1 indicate the payment is by Cash
    doc.PaymentMode = 1;
    doc.CashPayment = doc.FinalTotal;
    doc.CCApprovalCode = DBNull.Value;
    doc.CashSalePayment.ARPayment.ToHomeRate = doc.CurrencyRate;

    //Payment
    doc.CashSalePayment.ARPayment.ClearDetails();
    paymentDtl = doc.CashSalePayment.ARPayment.NewDetail();

    //Assgin "CASH" to paymentmethod that has been maintained
    //in General Maintenance | Payment Method Maintenance
    paymentDtl.PaymentMethod = "CASH";

    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}");
    }
}


Edit Cash Sale that has payment



See Also

Go to menu

Go to top
Resources For AutoCount Software Developers