Страница 6 из 12

Добавлено: 23 янв 2008, 12:08
Disillusioned
...действия обрабатываются как раз в том порядке, в котором они приведены в списке действий...
Если все действия клиентские и не запускаются на автопереходе, именно так и есть.

Добавлено: 23 янв 2008, 12:12
Александр
>Андрей
да нет я именно за то чтобы нарушить порядок - я за полный беспорядок :wink:
забудь про список мне нужна 'событийная' обработка
т.е.
есть одна большая форма на ней куча кнопок
в списке действий - куча действий - и я не хочу следить там за порядком :wink: мне нужно нажать на кнопку и чтобы сработала цепочка действий над объектами или над переменными без разницы, и без разницы в каком порядке

но на текущий момент это может выглядеть только как
первым всегда идет действие над объектами а потом стартует одно действие над переменными внутри которого уже все остальное

к сожалению как я понял возможна только двухуровневая цепочка поскольку из действий над переменными нельзя вызвать действия над объектами, а учитывать в общей куче какой либо порядок - это-же бред :shock:

Добавлено: 23 янв 2008, 12:23
Anderyt
брррр...
в общем, короче...
как мне кажется, ключ к решению в:
- привязке действий над объектами и переменными к ОДНОМУ событию (именно действИЙ, их может быть МНОГО)
- настройке очередности выполнения действий (сначала - над объектом, затем - действия над переменными)
- настройке условия выполнения действий над переменными
если есть кнопка, то:
привязать три действия (1 над объектами и два над переменными) к этой кнопке. в условиях выполнения действий над переменными прописать выражения в зависимости от значения, возвращенного действием над объектами.
если вам нужны действия, которые можно вставить хоть куда - то придется писать действие, которое сможет работать хоть где. иначе - нужно делать конкретные действия для конкретных задач

Добавлено: 23 янв 2008, 12:36
Александр
стоп, давай внесем ясность, отвлечемся
1.
Исходные данные
смотри есть 100 действий неважно каких, неважно в каком порядке
все они на привязаны на какие то события по одному на каждое.
2.
Мне нужно начать их комбинировать.
я начинаю на одно событие к одному существующему действию добавлять несколько других произвольных действий
я повторяю эту операцию несколько раз
3.
В результате я получаю сложную последовательную обработку конкретного события
4.
В итоге я получаю множество сложных событий скомбинированных из общей кучи действий

Вопрос 1
порядок добавления новых действий к одному событию - где то хранится?

Вопрос 2
если одно и тоже действие участвует сразу в 100 событиях - не нарушается ли порядок его выполнения применительно к каждому отдельному событию?
или по другому
хранит ли отдельно взятое действие все вхождения в разные события и знает ли оно порядок этого вхождения применительно к конкретному событию

Добавлено: 23 янв 2008, 14:31
Anderyt
у меня такое подозрение, что нельзя внести ясность, если отвлечься ;-)
в БД хранится не только привязка действия к этапу или переходу (то есть сам факт привязки), но и параметры этой привязки - событие и все такое.. в том числе (видимо) - и порядок в списке. более того, недавно мы ;-) выяснили, что даже одно действие может быть привязано несколько раз. (но здесь нужно внимательно. если событие прописывается где то в этапе для каждого отдельного действия, то параметры самого действия, в том числе условие его выполнения, прописываются в САМОМ действии).
другими словами, можно сделать кучу действий (одних и тех же) на одном этапе, привязать их к РАЗНЫМ событиям (половину кучи - к одному событию, половину - к другому), расположить в нужном порядке - и вроде должно быть ок.
надо ПОПРОБОВАТЬ

Добавлено: 23 янв 2008, 14:41
Александр
вопрос к Disillusioned
не подскажешь по теме не работает немного :wink:
смотри
1. при загрузке формы я считываю действием1 (над переменными) свойства объекта и отображаю их в форме
2. при нажатии на кнопку я запускаю действие2 над объектами и изменяю атрибуты объекта Это действие возврашает 1 (число)
теперь мне нужно еще раз прочитать (обновить) инфу об объекте
3. я пишу еще одно действие3 над переменными которое считывает инфу из объекта (такое же как и первое, просто первое включает в себя еще обработку кучи переменных) и вешаю его вторым действием на событие где условием его выполнения ставлю - запускать если возврат равен 1 и после выполнения сбрасываю этот флаг активации
(кстати после такой привязки действие дублируется в списке действий)
т.е.
изменили и потом прочитали

но обновления не происходит
т.е. объект обновился флаг на обновление выставил - но второе действие на запустилось?
не подскажешь где может быть проблема?

Добавлено: 23 янв 2008, 15:30
Александр
правда два этих связанных действия не идут подряд друг за другом в списке

Добавлено: 23 янв 2008, 15:37
Александр
все заработало, просто при привязке через контекстное меню - действия не привязались к событию и просто продублировались и все

Добавлено: 23 янв 2008, 15:39
Anderyt
я вот тут подумал... хоть это и не ко мне уже были вопросы..
но если надо просто отобразить новые значения переменных на форме задачи, то можно прямо в действии над объектами настроить возврат определенных значений в определенные переменные. и дополнительное действие по вытаскиванию значений из объекта не понадобится..

Добавлено: 23 янв 2008, 15:41
Александр
нет не удобно - действия работают медленнее по сравнению с прямыми запросами, хотя действия теже запросы - но все равно медленнее, поэтому что нельзя без действий - действиям а остальное напрямую к базе :wink: :wink:

Добавлено: 23 янв 2008, 15:54
Anderyt
ну понятно...
тогда можно сделать финт ушами.
сделать самодельные виды для нужных таблиц, в которых не включать проверку прав (но нужно понимать, что данные становятся открытыми для любого пользователя) и вытаскивать в действии над объектами инфу из этих видов простыми селектами.
и кстати, к вопросу о скорости.
кто-нибудь задумывается о минимизации количества записей о назначении прав на объекты и документы?

Добавлено: 23 янв 2008, 15:59
Александр
по первой части...
я пришел к выводу что я не сторонник вмешательств в базу со своими временными таблицами,видами, хп и т.д., массивы сделали себе и все (просто потому что без них нельзя было) - а так, да тормозит да, медленно и вообще - но боремся только средствами Лоции, где музыкой где отвлекающими моментами- в общем пока еще можно извернуться :wink: :wink:

Добавлено: 24 янв 2008, 09:02
Юрий
А я дошел до "предела" по скорости! :)
База уже приличная в таблице attrib_value 8 мил записей и у меня с правами проблема.
Простое действие по отвязки ветки объектов затягивается на пол дня. Хотя можно подумать всего одна запись удаляется - связь, но в процессе удаления удаляются наследуемые права - а это огогог....
Вобщем амбец... :?

Добавлено: 24 янв 2008, 09:26
Александр
Юрий- как тебя угораздило то на 8 миллионов - ведь букв то всего 33 :wink: :wink: :wink: может структура не того?? может что-то поменять - разбить а?
А права - зачем тебе права - дай права всем и просто видимость гаси - все равно если нужно кому то до объектов добраться - он доберется в любом случае - пароль стащит :wink: или еще как, а так по моему скромному опыту - людям вообще лень на кнопки жать - тем более заморачиваться еще чем то.
Предлагаю быть проще - никому ничего не нужно - этим и нужно руководствоваться.

ps
вот и я проснулся только-только и настроение соответствующее :wink: :wink: :wink: :wink:

Добавлено: 24 янв 2008, 09:35
Юрий
Александр писал(а):людям вообще лень на кнопки жать
Поэтому и сделали базу одним деревом. :)
А права для того, что-бы кривые руки не залезли и данные не попортили. Надо добавлять возможность изменения данных избранным.