Отзовитесь... специалисты по WorkFlow

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

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

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

конечно интересный подход - но это же бред (на мой взгляд) у меня массив содержит 20 колонок - т.е. для реализации такого подхода нужно делать еще 20 переменных для фонового массива - УЖАС :? :? :?

подскажите какое нибудь БОЛЕЕ красивое решение :wink: :wink:

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

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

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

А вроде не должен список пропадать... Завтра на работе проверю. Кстати, а что значит пропадает? Он выпадает, но пустой? И еще более кстати, - запрос=-то должен возвращать не 'Доллар' as sListCurrency, а 'USD' as sListCurrency. Значение он должен возвращать, а не его имя.
Так... Начинаем думать... Если не поможет замена Доллара на USD, то можно попробовать делать modify для свойства values.
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

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

да - выпадает но пустой (без значений)
modify - да но где и как
т.е. сначала, одним запросом, набрать массив допустим 100 строк на 20 колонок, а потом пробежаться modify по колонке sListCurrency??? - но в этом случае юзер увидит все это на экране..... :? :? а не хотелось бы, и массив гасить на время преобразования тоже не хотелось бы

хотя- наверно так и поступим :wink: :wink: :wink:

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

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

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

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

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

что ты имеешь в виду?
ведь надо сделать следующее
1. Запросом заполнить массив (Допустим запрос вернул 20 строк)
2. В колонке валюта - стоят пустые списки и значения из запроса
3. Нужно
- пройти циклом по колонке валюта
- брать текущее значение
- модифицировать колонку выпадающим списком 'USD~tДоллар/EUR~tЕвро/RUB~t/Рубль'
- выбрать в списке значение по умолчанию равное значению возвращаемому запросом

или ты имеешь в виду чтото другое?
Последний раз редактировалось Александр 23 апр 2008, 12:07, всего редактировалось 1 раз.

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

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

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

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

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

не получается - точнее получается не то :wink:
давай по пунктам посмотрим
1. Внедряем запрос (запрос чего то там возвращает - валюту ставим намертво (для отладки типа) - Рубль)

Код: Выделить всё

f_EmbeddedSQLSelect ( this , 'Select 0 as sType, rw.description as sName, ~'т~' as sBtName, 0 as sCount, cast(0 as double precision) as sPriceBase, 0 as sPriceBaseNDS, ~'Рубль~' as sListCurrency, ~'т~' as sBtPriceBase, 0 as sPriceDiscount00, 0 as sPriceDiscount01, cast(0 as double precision) as sPriceAll, ~'~' as sStatus, ~'т~' as sBtStatus, rw.id as sObjID,  0 as sProductID From lsdbo.object_reference_view rw, lsdbo.object_type_view tw, lsdbo.tree_link_view tl Where (tl.parent_id=100004672200000) and (rw.type_id = tw.id) and (tw.mnemo = ~'Psft~') AND (tl.link_type_id = 1) and (rw.id = tl.link_id)
' , '' , 'sFormPartList' )
2. Запускаем запрос

Код: Выделить всё

f_RetrieveForm ( this , '' , 'sFormPartList' )
4. Модифицируем список

Код: Выделить всё

f_ModifyForm ( this , 'sFormPartList' , 'sListCurrency.values  = ~'' + 'USD~tДоллар/EUR~tЕвро/RUB~t/Рубль' 
+ '~'')
5. Помещаем на форму

Код: Выделить всё

f_FormDataToArray ( this , 'sFormPartList' )
и знаешь что получается? :wink:
получается выпадающий список типа
USD - Доллар
EUR - Евро
RUB - Рубль
Рубль - Рубль
т.е. не три позиции а четыре
вот как избавиться от этого последнего рубля (который пришел к нам из запроса) не знаю - может все эти пять действий нужно в другом порядке выполнить?

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

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

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

упс :wink: :wink: :wink:
'USD~tДоллар/EUR~tЕвро/RUB~t/Рубль'
вот она зараза - ошибочка - четвертая строчка
надо было
'USD~tДоллар/EUR~tЕвро/RUB~tРубль'

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

но что делать если запрос возвращает рубль - не писать же как посоветовала тех поддержка Рубль РФ

Крупский- СПАСИБО и выручай еще раз :wink: :wink: нужна какаянить гениальная идея :wink:
Последний раз редактировалось Александр 24 апр 2008, 06:00, всего редактировалось 3 раза.

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

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

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

и это решили, криво правда - да и...
короче к значению валюты возвращаемому запросом добавляем строку из 20 пробелов - т.е. в любом случае возвращаемая строка будет длинее всех строк в списке
а потом делаем цикл по этому массиву и триммируем эту строчку - во как

работает

ps
я с этой Лоцией скоро выйду в виртуальную реальность и не вернусь больше :wink: :wink: пора в отпуск

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

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

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

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

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

Вопрос - как определить ID объекта по которому запущена работа

Мне нужен запрос по дочерним объектам от объекта по которому запущена работа, для этого желательно иметь ID родителя...

как его достать?

ps
только не говорите что для этого нужно запускать внешнее действие по объектам :wink:

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

gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Сообщение gali »

может я не въехала, но ид объекта, по которому запущена работа (если своим действием, точно, другое не проверяла) достается просто. В работе описывается документ, например "текущий", на открытие формы вешаешь действие "над переменными" и переменной ид присваиваешь выбором из АТРИБУТЫ, ДОКУМЕНТЫ ШАБЛОНА, ТЕКУЩИЙ справа выбираешь id
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

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

:wink: :wink: :wink: где ты была 4 часа назад :wink:
действительно так и есть - я просто подумал что это атрибут какойто и не стал заморачиваться - внешнее действие написал

все вопрос снят, спасибо :wink:

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

gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Сообщение gali »

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

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

Вопрос по завершению одного из внешних действий (из цепочки действий) события по кнопке отмена

исходные данные
есть событие
на нем висят последовательно
-действие по изменению внешних объектов (Party) это действие добавляет дочерний объект в базу
-действие по изменению внутренних переменных это действие перезаписывает массив WorkFlow существующими дочерними объектами

вопрос вот в чем
- если первое действие завершается кнопкой отмена или X второе действие не выполняется - почему?
- если в первом действии встречается переход на последнюю ПУСТУЮ строку действия - второе действие также не выполняется - опять же почему?

никто не сталкивался с подобным - может можно както хитро обойти? избежать разрыва цепочки??

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

Ответить