Страница 1 из 2

Как устроен Руководитель?

Добавлено: 14 авг 2019, 12:24
КонстантинН
Добрый день, коллеги!
Продолжаю изучать Руководителя и не перестаю восхищаться системой и ее разработчиком! Сергей, огромное благодарность Вам за Ваш труд!

В этой ветке форума, предлагаю обсуждать технические нюансы системы для тех кто хочет залезть глубже.

Собственно вопросы технического характера, которые у меня появились:
1) Правильно я понимаю, что тип поля "автоматический статус" использует встроенный в БД функционал, т.н. "Тригеры"?
2) Правильно я понимаю, что "автоматизация" = "хранимые процедуры"?
3) Правильно я понимаю, что "ID поля" - это первичный ключ и никакое другое поле нельзя назначить первичным ключом?
4) Правильно я понимаю, что "ID сущности" - это имя таблицы в БД его нельзя изменить?

Re: Как устроен Руководитель?

Добавлено: 14 авг 2019, 12:33
support
1) Нет. Это набор условий, которые проверяются при добавлении/редактировании записи.
2) Нет. Это набор правил, которые срабатывают при нажатии на кнопку.
3) Да
4) ID сущности - это тоже первичный ключ.

Re: Как устроен Руководитель?

Добавлено: 14 авг 2019, 13:29
КонстантинН
т.е. тригеры и хранимые функции Руководитель не использует? А их можно задать в СУБД и вызывать из Руководителя?

а почему нельзя в качетсве первичного ключа другое поле назначить? Это было бы удобно, например, при получении данных через API.

Re: Как устроен Руководитель?

Добавлено: 15 авг 2019, 03:00
Евгений
КонстантинН писал(а): 14 авг 2019, 13:29 т.е. тригеры и хранимые функции Руководитель не использует? А их можно задать в СУБД и вызывать из Руководителя?
Можно или нет - это разработчик ответит, а я хранимками постоянно пользуюсь, вызываю их из формульных полей когда надо подсчитать что-то сложное, что ещё не реализовано в Руководителе.

Re: Как устроен Руководитель?

Добавлено: 15 авг 2019, 07:07
support
а почему нельзя в качетсве первичного ключа другое поле назначить? Это было бы удобно, например, при получении данных через API.
Тут я что то не понял о чем речь.

Re: Как устроен Руководитель?

Добавлено: 15 авг 2019, 10:49
КонстантинН
Евгений писал(а): 15 авг 2019, 03:00
КонстантинН писал(а): 14 авг 2019, 13:29 т.е. тригеры и хранимые функции Руководитель не использует? А их можно задать в СУБД и вызывать из Руководителя?
Можно или нет - это разработчик ответит, а я хранимками постоянно пользуюсь, вызываю их из формульных полей когда надо подсчитать что-то сложное, что ещё не реализовано в Руководителе.
А триггеры не пробовали использовать? Например, для изменения записи в одной сущности при добавлении записи в другой сущности?

Re: Как устроен Руководитель?

Добавлено: 15 авг 2019, 10:51
КонстантинН
support писал(а): 15 авг 2019, 07:07
а почему нельзя в качетсве первичного ключа другое поле назначить? Это было бы удобно, например, при получении данных через API.
Тут я что то не понял о чем речь.
Имею ввиду, если есть поле с уникальными значениями (например, ИНН), можно его назначить первичным ключом?

Re: Как устроен Руководитель?

Добавлено: 15 авг 2019, 23:59
Евгений
КонстантинН писал(а): 15 авг 2019, 10:49
Евгений писал(а): 15 авг 2019, 03:00
КонстантинН писал(а): 14 авг 2019, 13:29 т.е. тригеры и хранимые функции Руководитель не использует? А их можно задать в СУБД и вызывать из Руководителя?
Можно или нет - это разработчик ответит, а я хранимками постоянно пользуюсь, вызываю их из формульных полей когда надо подсчитать что-то сложное, что ещё не реализовано в Руководителе.
А триггеры не пробовали использовать? Например, для изменения записи в одной сущности при добавлении записи в другой сущности?
Да, использовал очень много. Но потом отказался от этой практики и ограничился только штатными средствами Руководителя. По результатам эксплуатации, пришел к выводу что использовать триггеры на встроенных таблицах Руководителя увеличивает риски ошибок. Можно не учесть различные тонкости во время прямой работы с БД, которые знает разработчик.

Поэтому работать напрямую с таблицами сущностей в БД нежелательно, лучше делать это только со своими собственными таблицами. Отправил вам в личку архив с некоторыми примерами моих хранимок. Посмотрите на файл "ruk-OutFile.sql", там как раз в базе Руководителя создаётся отдельная таблица и триггеры пишут уже в неё.

Re: Как устроен Руководитель?

Добавлено: 16 авг 2019, 12:10
КонстантинН
Спасибо большое! Файлы получил!

Я бы тоже не хотел так глубоко лазить, но вот не могу придумать как менять значение поля в одной сущности в момент появления записи в другой сущности.
Банальный пример: в карточке клиента нужно вывести запись "последняя заявка" с полями "Тема", "Дата" и "Статус" из сущности "заявки" (при этом в самой заявке нет ID клиента, только ИНН).
Может что-то посоветуете?

Re: Как устроен Руководитель?

Добавлено: 16 авг 2019, 15:18
КонстантинН
Коллеги, подскажите, а может Руководитель работать на PostgreSQL вместо MySql? Хотя бы теоретически)))