Kolejna klasa udostępniona w Sz@rk API pozwala na generowanie dokumentów magazynowych PZ, z możliwością automatycznego zakładania nowych kartotek w magazynie lub aktualizacji produktów już wcześniej utworzonych.
W programie dostępny jest nowy przykład z wykorzystaniem klasy GmPurchase.
Kod przykładu:
namespace Szark
{
using System;
using System.Drawing;
using System.Windows.Forms;
using TGSoft.UI;
using TGSoft.Data;
public partial class Form1 : DevExpress.XtraEditors.XtraForm
{
private GridController gc1;
public Form1(GridController sender)
{
this.InitializeComponent();
buttonNew.Click += buttonNew_click;
gc1 = sender;
}
public void Main()
{
this.ShowDialog();
}
private void buttonNew_click(object sender, EventArgs e)
{
GmPurchase doc = new GmPurchase();
doc.Stock = 1;
doc.AutoCreateNewProducts = true;
doc.Customer_id = 3;
doc.InvoiceNumber = "Fra 1/10/2013";
doc.Caption = "Test PZ (zakup) z API";
doc.Total = 79.95M;
doc.PurchaseDate = DateTime.Today;
doc.Payment_id = 3;
doc.Payment_days = 14;
GmDocumentProduct product = doc.NewProduct();
product.Code = "12-NEW"; // Nowa kartoteka
product.Name1 = "Kartoteka automatyczna z PZ";
product.Name2 = "dopisana szczegółowa";
product.PurchasePrice = 10;
product.SellingPrice = 20M;
product.Unit = "szt";
product.Tax_value = 23;
product.Quantity = 1;
doc.Add(product);
product = doc.NewProduct();
product.Code = "12-001"; // Kartoteka istnieje, aktualizacja
product.PurchasePrice = 11;
product.SellingPrice = 22;
product.Quantity = 5;
doc.Add(product);
object id = doc.Save();
if (id != null)
{
gc1.LoadData();
gc1.DATable.FindKey(id);
DialogResult = DialogResult.OK;
}
}
}
}