Хотелось бы для руководства добавить такой сервис - как оперативная информация о кол-ве записей на детали, без обязательного ее открытия. Т.е. чтоб пользователь переключившись на раздел Контакты видел информацию в заголовке детали - Средства связи(3), Знаменательные события(1) и т.д.Чтоб информация обновлялась при перемещении по гриду основного раздела, естественно. Возможен такой вариант отображения информации. Ну или хотя б выделение цветом заголовков заполненных деталей.
Нравится
Возможны оба варианта, НО это скажется на быстродействии системы, ведь при каждом переходе на запись основного реестра в базу будет посылаться на х запросов в базу больше, чем обычно, где х это количество деталей. Стоит ли оно того?
http://community.terrasoft.ua/ideas/3456
Спасибо за ссылку ... как я понимаю приемлемый вариант это только триггерная логика и вспомогательная таблица....count при каждом рефреше детали и раздела не рациональное решение...
Видимо да, какая-то таблица вроде ContactDetailsRecordsCount и 3 колонки: название детали, количество записей, контакт, изначально заполнить ее текущими данными, а потом включить триггеры на каждую таблицу, которая содержит данные детали и инкрементировать/декрементировать значение в ней при добавлении/удалении записей. Но есть еще нюанс, что на детали могут быть отображены данные из нескольких таблиц, например, "История" содержит объединение записей из таблиц задачи, документы и других, это нужно учесть. Кроме того, даже при таком варианте при каждом переходе с одной записи на другую Вы будете посылать те же 30 запросов в базу на получение количества, запросы будут легче, но будут, а еще умножьте на количество пользователей. Если будете реализовывать, то хотя бы ставьте условие на вхождение текущего пользователя в группу "Руководство", чтобы каждый пользователь не слал в базу лишние 30 запросов.
А вообще, может, лучше отталкиваться от задачи, которые Вы таким способом хотите решить? Сама по себе информация о том, что у контакта 1 знаменательное событие на детали, по-моему, не несет никакой информации, полезно может быть сведение о том, что у него нет знаменательных событий или их больше, чем х, но тогда, чтобы найти контактов, у которых не проставлены дни рождения, к примеру, проще настроить фильтр по этой детали, чем проходиться по всем записям последовательно и смотреть количество записей на детали. Но это так пример. Какую цель Вы хотите достичь?