Проблема с многократной записью в атрибут

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Ответить
rax
Участник
Сообщения: 34
Зарегистрирован: 06 ноя 2013, 12:29
Используемое ПО: Lotsia PDM PLUS

Проблема с многократной записью в атрибут

Сообщение rax »

Добрый день.

У меня возникла след. проблема: есть некоторый переменная-массив (отделы организации). Для каждого из них мне нужно сделать оповещение о выпущенном задании (запустить шаблон работы). Для начала названия (строку) каждого добавленного в массив отдела я передаю в действие, в кот. название записывается в атрибут и вызывается шаблон работ с оповещением для этого отдела (название соответственно берется из атрибута). Таким образом я пытаюсь решить проблему множественного оповещения отделов. Так вот, проблема заключается в том, что действие могу предположить записывает наименования отделов в атрибут моментально, а шаблоны запускаются дольше. Получается что атрибут много раз перезаписывается а все шаблоны берут из этого атрибута одинаковое значение. Это мое предположение. Хотел узнать, можно ли как-то решить эту проблему - сделать интервал между каждым выполнением записи в атрибут или как-то по-другому решить проблему. Прилагаю скрины.
Вложения
1.png
1.png (25.92 КБ) 46009 просмотров
2.png
2.png (25.25 КБ) 46009 просмотров
3.png
3.png (22.39 КБ) 46009 просмотров
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Проблема с многократной записью в атрибут

Сообщение Старик Крупский »

Мало что понятно по причине сложной реализации простой вещи, имхо. Если бы описать вопрос попроще и другими словами...
"Лучше меньше, да лучше" (C)
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Проблема с многократной записью в атрибут

Сообщение Старик Крупский »

И что-то мне кажется, что атрибут тут совсем не нужен.
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Проблема с многократной записью в атрибут

Сообщение Александр »

Я конечно завис на версии 4.40... но в ней для оповещения используем функцию действия MailSend.

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

rax
Участник
Сообщения: 34
Зарегистрирован: 06 ноя 2013, 12:29
Используемое ПО: Lotsia PDM PLUS

Re: Проблема с многократной записью в атрибут

Сообщение rax »

Ну, постараюсь попроще: вызывается действие, которое записывает некоторое значение в атрибут. Затем в том же действии вызывается шаблон работ, кот. использует записанное значение. Проблема: таких действий вызывается сразу много (как бы для каждого значения массива вызывается такое действие), поэтому, как мне кажется, идет перезапись атрибута много раз, и в итоге все шаблоны берут одно значение.
rax
Участник
Сообщения: 34
Зарегистрирован: 06 ноя 2013, 12:29
Используемое ПО: Lotsia PDM PLUS

Re: Проблема с многократной записью в атрибут

Сообщение rax »

Почему все так сложно: вызываемый шаблон кидает напоминание пользователям с определенной периодичностью, проверяя некоторые другие атрибуты, потому так и реализовано.
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Проблема с многократной записью в атрибут

Сообщение Старик Крупский »

Как-то странно все. Из того, что я понял, получается так: пошла первая итерация цикла. Записали атрибут, запустили работу ВИЗУАЛЬНО. То есть кто-то должен нажать Ok. К моменту окончания циклического действия окон с началами работ может открыться немало. Ну, хорошо, допускаю, что в запускаемых работах предусмотрена функция нажатия на кнопку Ok и работа продвигается дальше сама (экран только подергался малость). Но ведь действие, запускающее работу, завершается ДО нажатия Ok в работе. Оно завершается открытием окна старта работы. Это же функция не запуска работы, а открытия окна начала работы. Две огромные разницы. Что там дальше будет, действие уже не волнует, оно начинает делать следующую итерацию цикла. Здесь дело не в скорости, а в принципиально неверном подходе. Не надо делать такие вещи через атрибуты одного объекта.
Я бы сделал так:
1. Запускал бы работу невизуальной функцией WorkStart (в старых версиях ее может не быть).
2. Передавал бы аргумент в работу напрямую, через строковый параметр функции запуска работы (см. help по функции), а не через объект. Например:

WndWorkStart (S, a_Object, 'Naim_otdel', Naim_otdel)

Первый Naim_otdel, который в кавычках - это имя переменной запускаемой работы S.
Второй Naim_otdel - значение, которое эта переменная должна принять в работе.
При этом, если a_Object нужен только для того, чтобы считать с него этот злополучный атрибут, то выкинуть его и запустить работу вот так:

WndWorkStart (S, 'Naim_otdel', Naim_otdel)
"Лучше меньше, да лучше" (C)
rax
Участник
Сообщения: 34
Зарегистрирован: 06 ноя 2013, 12:29
Используемое ПО: Lotsia PDM PLUS

Re: Проблема с многократной записью в атрибут

Сообщение rax »

Спасибо, действительно помогло :D Вы уж извиняйте за столь глупые вопросы - я самоучка, учусь по принципам, что до меня написали, потому много не знаю)
Проблема со множеством окон действительно присутствует, но насколько я понимаю, при запуске работы подтверждение на первом этапе обязательно. Или как-то можно обойти эту проблему?
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Проблема с многократной записью в атрибут

Сообщение Старик Крупский »

Можно. Подтверждение отключается в настройках профиля - отправка - подтверждать переход к следующему этапу работы.
Но лучше использовать не WndWorkStart, а WorkStart
"Лучше меньше, да лучше" (C)
rax
Участник
Сообщения: 34
Зарегистрирован: 06 ноя 2013, 12:29
Используемое ПО: Lotsia PDM PLUS

Re: Проблема с многократной записью в атрибут

Сообщение rax »

Ну насколько я понимаю, тогда во всех запусках отключается данное подтверждение, что, к сожалению, не приемлемо - часть логики уже написано с его использованием.
На данный момент стоит версия Лоции 5.10, в ней что-то не могу найти WorkStart.
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Проблема с многократной записью в атрибут

Сообщение Старик Крупский »

Да, подтверждение перехода будет отключено везде для пользователей профиля. WorkStart в группе функций "Док-оборот".
13 ноября 2012 года:
5.10 Сборка 121113
[+] В действии над объектами добавлена функция WorkStart, позволяющая создать и запустить новую работу без открытия окна задачи.
"Лучше меньше, да лучше" (C)
rax
Участник
Сообщения: 34
Зарегистрирован: 06 ноя 2013, 12:29
Используемое ПО: Lotsia PDM PLUS

Re: Проблема с многократной записью в атрибут

Сообщение rax »

К сожалению, версия 5.00 сборка 111125.1, а функции такой очень не хватает( Но все равно еще раз спасибо за помощь :)
Аватара пользователя
LTH
Активный участник
Сообщения: 91
Зарегистрирован: 25 авг 2004, 13:49
Откуда: Москва

Re: Проблема с многократной записью в атрибут

Сообщение LTH »

rax писал(а):К сожалению, версия 5.00 сборка 111125.1
Жесть. Она ведь уже больше года как вообще с поддержки снята.
Не проще ли обновиться?
Admin_PLM_Board
Site Admin
Сообщения: 391
Зарегистрирован: 18 июн 2004, 17:53
Используемое ПО: Lotsia PLM

Re: Проблема с многократной записью в атрибут

Сообщение Admin_PLM_Board »

LTH писал(а):Жесть. Она ведь уже больше года как вообще с поддержки снята.
Не проще ли обновиться?
Вы ошибаетесь.
Техническая поддержка по версии 5.00 ещё оказывается. Она будет прекращена только 1 июня 2014 года. :)
Аватара пользователя
LTH
Активный участник
Сообщения: 91
Зарегистрирован: 25 авг 2004, 13:49
Откуда: Москва

Re: Проблема с многократной записью в атрибут

Сообщение LTH »

Admin_PLM_Board писал(а):Вы ошибаетесь.
Техническая поддержка по версии 5.00 ещё оказывается. Она будет прекращена только 1 июня 2014 года. :)
Признаю, погорячился, с 4.30 перепутал. Но тем более есть повод перейти на 5.50, пока не поздно. :)
Ответить