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

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

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

Вопрос по событию перед закрытием окна массива

вопрос такой - в этом событии мне нужно добавить строку из одного массива в другой

если мы жмем ок на форме массива и закрываем его - событие срабатывает и все ок

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

как обойти таку ситуацию - как понять что нажата кнопка отмена?

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

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

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

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

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

да мне уже ответили - сейчас если массив открыт кнопкой то по ок событие есть а по отмене нет, а если функцией (как у меня) то срабатывает всегда - в 4.30 сделают нормально (как по кнопке)

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

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

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

Вопрос Как поставить первое значение выпадающего списка

раньше уже было, и мы добавляли значение '...Все' и сами же ставили его по умолчанию

а теперь без этого значения
я через

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

f_ModifyForm ( this , 'dFormProduct' , 'dFrom.values  = ~''  + f_ExecSQLSelect ('Select...
получаю выпадающий список, и я не знаю что в этом списке
но в любом случае что-то есть
как теперь поставить в строку списка любое значение которое в нем присутствует

единственное что приходит на ум - запустить запрос второй раз
и ограничить его вывод одним результатом типа

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

Select Top1
а может есть еще какое решение?

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

Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Сообщение Disillusioned »

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

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

каким образом? если можно - подробнее

вот запрос

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

 f_ExecSQLSelect ('SELECT ........', '~t' , '/' )
т.е. он возвращает допустим какую-то отформатированную строку значений

я просто не совсем понимаю т.е.
- сначала получить строку запросом
- потом в какую-то переменную вырезать кусок до первого разделителя
- потом модифицировать список формы всей строкой запроса
- потом присвоить списку первое вырезанное значение?

так? или как то проще?

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

Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Сообщение Disillusioned »

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

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

:wink: все таки два идущие подряд запроса - выглядят более привлекательно :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

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

Вопрос по отдельному анализу имени и значения выпадающего списка

Не напомните в WorkFlow мне нужно использовать имена выпадающего списка (я в них хочу закодировать информацию по управлению интерфейсом)
т.е. есть список формата

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

             имя                              значение
 'наименование строки списка .....10'             15
мне нужно взять имя вырезать последние 2 знака и в соответствии с ними управлять видимостью 2х элементов формы

как это можно сделать? какой функцией? какой синтаксис? в смысле как вытащить именно имя а не значение?

ps
в значении я не могу ничего кодировать :? если конечно не разбивать число на два байта и отдельно анализировать каждый из них в двоичном виде :wink: :wink:

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

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

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

Я сейчас из дома пишу и на память не очень помню, но смысл в том, что в форме доступна функция из группы "Формы" и называется она что-то типа DisplayValue. Она возвращает видимое пользователем значение. Берешь

Right (DisplayValue (<имя_колонки>), 2)

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

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

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

ps
ну во всяком случае у меня не получилось, может конечно проблема в том что выпадающий список расположен на форме внедренного массива, а синтаксис этой функции для такого случая я не знаю :? :?

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

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

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

Как одним движением убить (очистить) массив/выпадающий список?

собственно это и есть вопрос :wink:

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

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

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

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

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

Вопрос по выпадающему списку внутри внедренного массива

Скажите как решить следующую проблему
есть внедренный массив проинициализированный непосредственно на форме массива следующим образом (через контекстное меню)

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

         Select 
                              0 as sType,
                              '' 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,  
                              0 as sObjID, 
                              0 as sProductID 
далее на самой форме массива в поле sListCurrency вручную добавляем список Доллар-USD Рубль - RUB Евро - EUR

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

теперь проблема
я заполняю данный массив своим запросом - который возвращает все колонки и в список валют ставит допустим Доллар - НО при этом сам выпадающий список валют ПРОПАДАЕТ

подскажите как решить эту проблему может в колонке возвращающей валюту сразу ставить список типа 'Доллар~tUSD/Евро~tEUR/Рубль~tRUB' - но у меня не получилось так - да и значение по умолчанию в данном случае поставить проблематично

и еще один момент - если бы запрос возвращал бы только одну строку значений а их же может быть 1000 штук и отдельно обрабатывать по отдельности каждую не хотелось бы - вобщем не знаю чего делать - пропадает список и все тут
Последний раз редактировалось Александр 23 апр 2008, 12:05, всего редактировалось 1 раз.

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

Ответить