Програми для обліку

Документація для розробників


Запис нового елемента довідника


Приклад

using AccountingSoftware;
using Конфа = НоваКонфігурація_1_0;
using Довідники = НоваКонфігурація_1_0.Довідники;

namespace НоваКонфігурація
{
    void Add()
    {
        Довідники.Номенклатура_Objest номенклатура = new Довідники.Номенклатура_Objest();
    
        номенклатура.New();
        номенклатура.Назва = "Назва товару";
        номенклатура.Код = "0001";
        номенклатура.Save();
    }
}
      



Вибірка елементів довідника


Приклад

using AccountingSoftware;
using Конфа = НоваКонфігурація_1_0;
using Довідники = НоваКонфігурація_1_0.Довідники;

namespace НоваКонфігурація
{
    void Select()
    {
        Довідники.Номенклатура_Select номенклатура = new Довідники.Номенклатура_Select();

        //Додаткові поля у вибірці
        номенклатура.QuerySelect.Field.Add(Довідники.Номенклатура_Const.Назва); 
        номенклатура.QuerySelect.Field.Add(Довідники.Номенклатура_Const.Код);

        //Сортування
        номенклатура.QuerySelect.Order.Add(Довідники.Номенклатура_Const.Назва, SelectOrder.ASC);

        номенклатура.Select();
        while (номенклатура.MoveNext())
        {
            Довідники.Номенклатура_Pointer cur = номенклатура_Select.Current;

            string ID = cur.UnigueID.ToString();
            string Назва = cur.Fields[Довідники.Номенклатура_Const.Назва].ToString();
            string Код = cur.Fields[Довідники.Номенклатура_Const.Код].ToString();
        }
    }
}
      


Вибірка даних прямим запитом


Приклад

using AccountingSoftware;
using Конфа = НоваКонфігурація_1_0;
using НоваКонфігурація_1_0.Довідники;

namespace НоваКонфігурація
{
    void Select()
    {
        string query = $@"
            SELECT
                Номенклатура.uid,
                Номенклатура.{Номенклатура_Const.Назва} AS Назва,
                Номенклатура.{Номенклатура_Const.Код} AS Код
            FROM
                {Номенклатура_Const.TABLE} AS Номенклатура
            WHERE
                Номенклатура.{Номенклатура_Const.Код} = @code
            ORDER BY
                Назва
            ";

        Dictionary<string, object> paramQuery = new Dictionary<string, object>();
        paramQuery.Add("code", "0001");

        string[] columnsName;
        List<object[]> listRow;

        Конфа.Config.Kernel.DataBase.SelectRequest(query, paramQuery, out columnsName, out listRow);

        foreach (object[] row in listRow)
        {
            string ID = row[0].ToString();
            string Назва = row[1].ToString();
            string Код = row[2].ToString();
        }
    }
}
      


Підключення до бази даних


Для підключення до бази даних використовується клас Config, який міститься в згенерованому коді (файл CodeGeneration.cs)

namespace НоваКонфігурація_1_0
{
    public static class Config
    {
        public static Kernel Kernel { get; set; }
    }
}
      

Приклад

using AccountingSoftware;
using Конфа = НоваКонфігурація_1_0;

namespace НоваКонфігурація
{
    void Open()
    {
        Exception exception;

        //Ядро
        Конфа.Config.Kernel = new Kernel();

        //Підключення до бази даних
        bool flagOpen = Конфа.Config.Kernel.Open(
		        PathToConfXML,    //Шлях до файлу конфігурації (Confa.xml)
		        DataBaseServer,   //localhost
		        DataBaseLogin,    //postgres
		        DataBasePassword, //***
		        DataBasePort,     //5432
		        DataBaseBaseName, //Назва бази даних
                out exception);

        if (exception != null)
        {
	        MessageBox.Show(exception.Message);
	        return;
        }
    }
}
      

2022 рік