В продолжение темы https://community.terrasoft.ru/forum/topic/9832, предлагаю организовать тему-справочник недокументированных возможностей Terrasoft CRM 3.x
Надеюсь на участи разработчиков ядра.
Нравится
Для начала
В сервисе SelectQuery (sq_), в поле типа "Колонка с текстом SQL", в качестве нужной таблицы указать конструкцию типа
<!tbl_...!>
, то ядро системы сделает подмену таблицы на представление для пользователей без прав администратора
Бывают частые ситуации, когда нужно сделать сложный отчет, но обычными сервисами tbl_ не обойтись, тогда можно сделать соответствующее представление на стороне сервера, в TSAdmin сделать сервис Table с именем таким же как и представление, описать все поля, но не сохранять структуру в БД. После этого эту таблицу можно использовать для работы и отчетов.
Что-бы эта таблица (представление) имела связи с другими разделами системы, то достаточно указать связи, но опять-таки не сохранять структуру в БД.
"Евгений Либин" написал:
ядро системы сделает подмену таблицы на представление для пользователей без прав администратора
Где ж вы были с этим советом пару лет назад?? В каких версиях, кстати это срабатывает?
Я сам только вчера об этом узнал http://www.community.terrasoft.ru/forum/topic/9832#comment-42529
В принципе, эта новость и дала идею сделать такую тему, но что-то мне кажется что разработчики не особо хотят делиться своими секретами.
Мда, сколько мороки было, чтоб не использовать колонку с текстом SQL когда это было просто и удобно... И костыли писали, чтоб текст в колонке подменяли в зависимости от ранга пользователя. А вот кто то нехороший и недобрый в поддержке или разработке все знал и посмеивался:confused:
А где же разработчики Terrasoft CRM?
Я так рассчитывал на их комментарии.
"Евгений Либин" написал: В каких версиях, кстати это срабатывает?
Начиная с 3.4, для колонок с текстом SQL реализовали кнопку "Добавить таблицу":
При добавлении таблицы через данную опцию она вставляется в виде
<!tbl_...!>
"Евгений Либин" написал:В сервисе SelectQuery (sq_), в поле типа "Колонка с текстом SQL", в качестве нужной таблицы указать конструкцию типа, то ядро системы сделает подмену таблицы на представление для пользователей без прав администратора
Спасибо, не знал.
Но у этой недокументированной возможности есть ещё более недокументированная особенность.
Создал в таблице custom SQL колонку с этой конструкцией в названии таблицы. В гриде отображается нормально, работает и под админом, и под пользователем.
Но когда попытался применить по ней фильтр в блоке слева снизу, ругнулось на символ "меньше" как на синтаксическую ошибку. Значит, в фильтре не работает.
Пришлось делать в колонке вызов хранимой функции с нужным условием.