Programmer:Purchase Order v2
Technical Specification
- NetTotal must not be negative amount
- Document NetTotal amount is read-only, as the net total must be the sum of detail total (sub-total).
Assemblies version 2.0
AutoCount.Accounting.dll AutoCount.Accounting.UI.dll AutoCount.dll AutoCount.MainEntry.dll AutoCount.UI.dll AutoCount.Invoicing.dll AutoCount.Invoicing.Purchase.dll
New
public void NewPurchaseOrder(AutoCount.Authentication.UserSession userSession)
{
string docNo = "PO-0001";
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand cmd =
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand.Create(userSession, userSession.DBSetting);
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrder doc = cmd.AddNew();
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderDetail dtl;
doc.DocNo = docNo; //PO number
doc.DocDate = DateTime.Today.Date;
//PO Item (Line/Detail)
for (int i=0; i<3; i++)
{
dtl = doc.AddDetail();
dtl.ItemCode = "FG00001";
dtl.UOM = "UNIT";
dtl.Location = "HQ";
dtl.Qty = 1M;
dtl.UnitPrice = 10.50M;
dtl.EstimatedDeliveryDate = "";
dtl.DeliveryDate = DateTime.Today.Add(new TimeSpan(3)).Date;
}
try
{
doc.Save();
//Log success
AutoCount.AppMessage.ShowMessage(
string.Format("Successful saved P/O: {0}", doc.DocNo));
}
catch (AutoCount.AppException ex)
{
//Log failed
}
}
New or Update
public void NewUpdatePurchaseOrder(AutoCount.Authentication.UserSession userSession)
{
string docNo = "PO-0001";
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand cmd =
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand.Create(userSession, userSession.DBSetting);
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrder doc = cmd.Edit(docNo);
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderDetail dtl;
if (doc == null)
{
NewPurchaseOrder(userSession);
return;
}
doc.DocDate = DateTime.Today.Date;
//PO Item (Line/Detail)
for (int i = 0; i < 3; i++)
{
dtl = doc.AddDetail();
dtl.ItemCode = "FG00002";
dtl.UOM = "UNIT";
dtl.Location = "HQ";
dtl.Qty = 1M;
dtl.UnitPrice = 10.50M;
dtl.EstimatedDeliveryDate = "";
dtl.DeliveryDate = DateTime.Today.Add(new TimeSpan(3)).Date;
}
try
{
doc.Save();
//Log success
AutoCount.AppMessage.ShowMessage(
string.Format("Successful update P/O: {0}", doc.DocNo));
}
catch (AutoCount.AppException ex)
{
//Log failed
}
}
Cancel
public void CancelPurchaseOrder(AutoCount.Authentication.UserSession userSession)
{
string docNo = "PO-0001";
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand cmd =
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand.Create(userSession, userSession.DBSetting);
if (cmd.CancelDocument(docNo, userSession.LoginUserID))
{
//Log success
AutoCount.AppMessage.ShowMessage(
string.Format("{0} is cancelled.", docNo));
}
else
{
//Log failed
AutoCount.AppMessage.ShowMessage(
string.Format("Failed to cancel {0}.", docNo));
}
}
Delete
public void DeletePurchaseOrder(AutoCount.Authentication.UserSession userSession)
{
string docNo = "PO-0001";
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand cmd =
AutoCount.Invoicing.Purchase.PurchaseOrder.PurchaseOrderCommand.Create(userSession, userSession.DBSetting);
try
{
cmd.Delete(docNo);
//Log success
AutoCount.AppMessage.ShowMessage(
string.Format("{0} is deleted.", docNo));
}
catch (Exception)
{
//Log failed
AutoCount.AppMessage.ShowMessage(
string.Format("Failed to delete {0}.", docNo));
}
}
See Also
- Programmer:Quotation v2
- Programmer:Sales Order v2
- Programmer:Delivery Order v2
- Programmer:Sales Invoice v2
- Programmer:Cash Sale with Payment v2
Go to top
|
Resources For AutoCount Software Developers
|