Страница 9 из 12
Добавлено: 01 апр 2008, 13:54
Александр
Вопрос по событию перед закрытием окна массива
вопрос такой - в этом событии мне нужно добавить строку из одного массива в другой
если мы жмем ок на форме массива и закрываем его - событие срабатывает и все ок
а что делать если мы на форме нажали отмена - ведь событие опять сработает и добавит строку в другой массив - но в данном случае этого делать не нужно
как обойти таку ситуацию - как понять что нажата кнопка отмена?
Добавлено: 01 апр 2008, 15:08
Старик Крупский
Функция f_OpenFreeForm возвращает число, соответствующее нажатой кнопке (см. подсказку к функции). Правда возвращает уже ПОСЛЕ закрытия формы массива. Поэтому действие выполнится в любом случае

Но можно извратиться и после закрытия формы проанализировать возвращенное число и что-то там в массиве поменять. Хотя, подозреваю, что это может непросто. Это ж надо запомнить, что было до ТОГО, и потом его восстановить.
Так что требуй, чтобы по отмене действия не выполнялись. Это было бы вполне логично.
Добавлено: 01 апр 2008, 15:10
Александр
да мне уже ответили - сейчас если массив открыт кнопкой то по ок событие есть а по отмене нет, а если функцией (как у меня) то срабатывает всегда - в 4.30 сделают нормально (как по кнопке)
Добавлено: 04 апр 2008, 09:05
Александр
Вопрос Как поставить первое значение выпадающего списка
раньше уже было, и мы добавляли значение '...Все' и сами же ставили его по умолчанию
а теперь без этого значения
я через
Код: Выделить всё
f_ModifyForm ( this , 'dFormProduct' , 'dFrom.values = ~'' + f_ExecSQLSelect ('Select...
получаю выпадающий список, и я не знаю что в этом списке
но в любом случае что-то есть
как теперь поставить в строку списка любое значение которое в нем присутствует
единственное что приходит на ум - запустить запрос второй раз
и ограничить его вывод одним результатом типа
а может есть еще какое решение?
Добавлено: 04 апр 2008, 12:35
Disillusioned
Можно первое значение извлечь из строки, возвращаемой запросом.
Добавлено: 04 апр 2008, 12:42
Александр
каким образом? если можно - подробнее
вот запрос
Код: Выделить всё
f_ExecSQLSelect ('SELECT ........', '~t' , '/' )
т.е. он возвращает допустим какую-то отформатированную строку значений
я просто не совсем понимаю т.е.
- сначала получить строку запросом
- потом в какую-то переменную вырезать кусок до первого разделителя
- потом модифицировать список формы всей строкой запроса
- потом присвоить списку первое вырезанное значение?
так? или как то проще?
Добавлено: 04 апр 2008, 12:46
Disillusioned
Именно это я и имел в виду.
Добавлено: 04 апр 2008, 12:48
Александр

все таки два идущие подряд запроса - выглядят более привлекательно

да и операций в два раза меньше
все равно спасибо

Добавлено: 04 апр 2008, 13:26
Старик Крупский
А вот по скорости два запроса могут работать дольше , чем запрос + нарезка строки
Добавлено: 04 апр 2008, 13:33
Александр
Вопрос по отдельному анализу имени и значения выпадающего списка
Не напомните в WorkFlow мне нужно использовать имена выпадающего списка (я в них хочу закодировать информацию по управлению интерфейсом)
т.е. есть список формата
Код: Выделить всё
имя значение
'наименование строки списка .....10' 15
мне нужно взять имя вырезать последние 2 знака и в соответствии с ними управлять видимостью 2х элементов формы
как это можно сделать? какой функцией? какой синтаксис? в смысле как вытащить именно имя а не значение?
ps
в значении я не могу ничего кодировать

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

Добавлено: 04 апр 2008, 19:44
Старик Крупский
Я сейчас из дома пишу и на память не очень помню, но смысл в том, что в форме доступна функция из группы "Формы" и называется она что-то типа DisplayValue. Она возвращает видимое пользователем значение. Берешь
Right (DisplayValue (<имя_колонки>), 2)
Вот тебе и 2 знака.
Добавлено: 07 апр 2008, 09:30
Александр
да есть такая функция
LookupDisplay но к сожалению она работает в вычисляемом поле нормально, а при попытке вставить ее в действие выдает ошибку синтаксиса - хотя синтаксис и там и там одинаков
ps
ну во всяком случае у меня не получилось, может конечно проблема в том что выпадающий список расположен на форме внедренного массива, а синтаксис этой функции для такого случая я не знаю

Добавлено: 08 апр 2008, 13:00
Александр
Как одним движением убить (очистить) массив/выпадающий список?
собственно это и есть вопрос

Добавлено: 08 апр 2008, 20:40
Старик Крупский
f_ExcludeArrEl
Добавлено: 21 апр 2008, 08:39
Александр
Вопрос по выпадающему списку внутри внедренного массива
Скажите как решить следующую проблему
есть внедренный массив проинициализированный непосредственно на форме массива следующим образом (через контекстное меню)
Код: Выделить всё
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 штук и отдельно обрабатывать по отдельности каждую не хотелось бы - вобщем не знаю чего делать - пропадает список и все тут