Иногда в процессе работы с системой возникает необходимость отобразить все записи в основном реестре, у которых есть прикрепленные файлы на закладке "Файлы".
Для решения этой задачи предлагаю один вариант решения, рассмотренный на примере раздела "Контрагенты". Для остальных разделов можно сделать по аналогии.
Хочу отметить, что самое сложное в этой задаче - это создать правильный фильтр в запросе. Но это не проблема... Попытаюсь описать как можно более доходчиво, как это можно сделать:
1. Добавляем колонку подзапроса в sq_Account (называем HasFile).
2. В FROM указываем связь с таблицей tbl_FileInAccount (псевдоним FileInAccount1)
3. Здесь же добавляем еще одну связь с таблицей tbl_Files (LEFT OUTER JOIN).
4. В Select создаем поле ID (делаем выборку из tbl_FileInAccount).
5. В условии Where создаем фильтр сравнения AccountID (tbl_Account.ID)= FileInAccount1.AcountID
6. Здесь же в Where создаем фильтр сравнения (Compare Filter).
7. В этом фильтре в FROM указываем связь с таблицей tbl_FileInAccount (псевдоним FileInAccount2)
8. В этом же фильтре создаем поле ID (в Select). Делаем выборку из FileInAccount2.
9. В Where создаем фильтр сравнения AccountID (FileInAccount2.AccountID = tbl_Account.ID).
Итак, сохраняем изменения и можно считать, что самое сложное сделано!
Добавляем в датасет ds_Account булевское поле, в поле "Колонка" выбираем наше поле HasFile из запроса, даем ему заголовок "Есть файл". Добавляем в грид колонку.
Перезапускаем рабочее приложение Terrasoft CRM и проверяем созданный функционал.
Желаю удачи!
С уважением,
Мельникова Екатерина