Програми для обліку / Довідники
26.04.2024 11:06 Довідники

На прикладі довідника Блокнот.
Для вибірки вказівників з довідника Блокнот використовується клас Блокнот_SelectБлокнот_Select блокнот_Select = new Блокнот_Select();await блокнот_Select.Select();while (блокнот_Select.MoveNext()) { ... }Блокнот_Pointer? блокнот_Pointer = блокнот_Select.Current;Console.WriteLine(блокнот_Pointer.UnigueID);async Task Select()
{
    Блокнот_Select блокнот_Select = new Блокнот_Select();
    await блокнот_Select.Select();
    while (блокнот_Select.MoveNext())
    {
        Блокнот_Pointer? блокнот_Pointer = блокнот_Select.Current;
        if (блокнот_Pointer != null)
            Console.WriteLine(блокнот_Pointer.UnigueID);
    }
}uid записів:блокнот_Select.QuerySelect.Field.AddRange([Блокнот_Const.Код, Блокнот_Const.Назва]);async Task Select()
{
    Блокнот_Select блокнот_Select = new Блокнот_Select();
    блокнот_Select.QuerySelect.Field.AddRange([Блокнот_Const.Код, Блокнот_Const.Назва]);
    await блокнот_Select.Select();
    while (блокнот_Select.MoveNext())
    {
        Блокнот_Pointer? блокнот_Pointer = блокнот_Select.Current;
        if (блокнот_Pointer != null)
        {
            Console.WriteLine(блокнот_Pointer.UnigueID);
            //Вивід додаткових полів
            if (блокнот_Pointer.Fields != null)
                Console.WriteLine(блокнот_Pointer.Fields[Блокнот_Const.Код] + " " + 
                    блокнот_Pointer.Fields[Блокнот_Const.Назва]);
        }
    }
}GetDirectoryObjectБлокнот_Objest? блокнот_Objest = await блокнот_Pointer.GetDirectoryObject();блокнот_Objest.Код;
блокнот_Objest.Назва;Save.async Task Select()
{
    Блокнот_Select блокнот_Select = new Блокнот_Select();
    await блокнот_Select.Select();
    while (блокнот_Select.MoveNext())
    {
        Блокнот_Pointer? блокнот_Pointer = блокнот_Select.Current;
        if (блокнот_Pointer != null)
        {
            //Отримання об'єкту довідника із вказівника
            Блокнот_Objest? блокнот_Objest = await блокнот_Pointer.GetDirectoryObject();
            if (блокнот_Objest != null)
                Console.WriteLine(блокнот_Objest.Код + " " + блокнот_Objest.Назва);
        }
    }
}блокнот_Select.QuerySelect.Where.Add(new Where(Блокнот_Const.Назва, Comparison.EQ, "Запис 1"));Comparison.AND...Where.Add(new Where(Comparison.AND, Блокнот_Const.Назва, Comparison.EQ, "000001"));...QuerySelect.Construct() для аналізуSELECT uid
FROM tab_a01
WHERE  col_a2 = @col_a2_p2 AND col_a1 = @col_a1_p3
ORDER BY col_a2 ASCasync Task Select()
{
    Блокнот_Select блокнот_Select = new Блокнот_Select();
    //Відбір по назві
    блокнот_Select.QuerySelect.Where.Add(new Where(Блокнот_Const.Назва, Comparison.EQ, "Запис 1"));
    //Відбір по коду
    блокнот_Select.QuerySelect.Where.Add(new Where(Comparison.AND, Блокнот_Const.Код, Comparison.EQ, "000001"));
    //Сортувати по коду
    блокнот_Select.QuerySelect.Order.Add(Блокнот_Const.Назва, SelectOrder.ASC);
    //Вивід запиту для аналізу
    Console.WriteLine(блокнот_Select.QuerySelect.Construct());
    await блокнот_Select.Select();
    while (блокнот_Select.MoveNext())
    {
        Блокнот_Pointer? блокнот_Pointer = блокнот_Select.Current;
        if (блокнот_Pointer != null)
            Console.WriteLine(блокнот_Pointer.UnigueID);
    }
}var блокнот_Pointer = await new Блокнот_Select().FindByField(Блокнот_Const.Код, "000001");var list = await new Блокнот_Select().FindListByField(Блокнот_Const.Назва, "Запис 1");async Task Select()
{
    //Пошук по коду одного вказівника (якщо є декілька варіантів вибирається перший)
    Блокнот_Pointer? блокнот_Pointer = await new Блокнот_Select().FindByField(Блокнот_Const.Код, "000001");
    if (блокнот_Pointer != null)
        Console.WriteLine(блокнот_Pointer.UnigueID);
    //Пошук по назві всіх які співпадають
    foreach (Блокнот_Pointer блокнот_Pointer2 in await new Блокнот_Select().FindListByField(Блокнот_Const.Назва, "Запис 1"))
        Console.WriteLine(блокнот_Pointer2.UnigueID);
}© accounting.org.ua - 2025