Runa
Администратор
Задача: определить число записей в дочернем списке формы связи и отфильтровать те записи родительского объекта, у которых нет дочерних записей.
Объекты в структуре проекта:
- клиент;
- заказы для клиента;
- виды операций в заказах.
Форма связи на базе объекта клиента содержит дочерний список заказов для клиента:
В объекте клиентов добавлены поля:
- числовое поле "Заказов", в которое будет помещаться количество заказов из дочернего списка;
- переключатель "Заказы", имеющий два значения: "есть / нет", определяющий наличие или отсутствие заказов;
- составное поле "Проверка", которое будет анализировать кол-во заказов и задавать значение полю переключателя.
Формула для составного поля:
Функция String с условием возвращает значение "нет" если поле "Заказов" содержит значение 0, или возвращает "есть" в противном случае.
В объекте "Заказ" добавлено числовое поле "1", для которого установлено исходное значение 1. Данное значение присваивается полю при создании новой записи и, чтобы его нельзя было случайно изменить, убрано на 8-ую вкладку, которая автоматически скрывается для дочернего списка.
В форме связи "Клиенты" определён дочерний подчинённый объект "Заказ", а для поля числа заказов установлено суммирование по полю "1" дочернего объекта "Заказ". Т.е. при добавлении/удалении записи в дочернем списке, в записи родительского объекта будет рассчитываться число записей дочернего объекта.
Для поля переключателя "Заказы" свойству "Копия из" установлено копирование значения из составного поля "[Проверка]". Данное поле используется для включения фильтра по наличию заказов у клиента в форме связи.
Архив проекта в приложении.
Объекты в структуре проекта:
- клиент;
- заказы для клиента;
- виды операций в заказах.
Форма связи на базе объекта клиента содержит дочерний список заказов для клиента:
В объекте клиентов добавлены поля:
- числовое поле "Заказов", в которое будет помещаться количество заказов из дочернего списка;
- переключатель "Заказы", имеющий два значения: "есть / нет", определяющий наличие или отсутствие заказов;
- составное поле "Проверка", которое будет анализировать кол-во заказов и задавать значение полю переключателя.
Формула для составного поля:
[String(Заказов=0?нет:есть)]
Функция String с условием возвращает значение "нет" если поле "Заказов" содержит значение 0, или возвращает "есть" в противном случае.
В объекте "Заказ" добавлено числовое поле "1", для которого установлено исходное значение 1. Данное значение присваивается полю при создании новой записи и, чтобы его нельзя было случайно изменить, убрано на 8-ую вкладку, которая автоматически скрывается для дочернего списка.
В форме связи "Клиенты" определён дочерний подчинённый объект "Заказ", а для поля числа заказов установлено суммирование по полю "1" дочернего объекта "Заказ". Т.е. при добавлении/удалении записи в дочернем списке, в записи родительского объекта будет рассчитываться число записей дочернего объекта.
Для поля переключателя "Заказы" свойству "Копия из" установлено копирование значения из составного поля "[Проверка]". Данное поле используется для включения фильтра по наличию заказов у клиента в форме связи.
Архив проекта в приложении.