Програми для обліку / Довідники
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