Страница 2 из 12
Добавлено: 01 ноя 2007, 22:05
Старик Крупский
Ух ты-ы-ы... сколько вы всего уже перетерли. Вы там чё, не работаете что ли?

Я тоже хочу поотвечать. Только я попроще. Значится, чтобы выпадающий список заполнить запросом надо использовать f_ModifyForm. Модифаим свойство values. В документации написано, как должны разделяться отображаемые и реальные значения. С этим проблем, наверное, нет. А вот для того, чтобы в форме обращаться к отображаемому значению, а не к реальному можно использовать функцию LookUpDisplay из группы формы.
Добавлено: 02 ноя 2007, 07:26
Александр
>Disillusioned
При переформировании списка опять сбрасываем значение до "Не определен".
в какой момент времени (
по какому событию) происходит сброс значения на 'не определен'?
может можно в событии, в одном окне редактирования, через запятую или через
GO использовать сразу несколько операторов?
допустим
Код: Выделить всё
ret=f_ExecSQLSelect_3('go','','','cols=decimal(18)',0)
ret=f_ModifyForm...Список.значения
ret=f_ExecSQLSelect_3('go','','','cols=decimal(18)',0)
Список.значения='не определен'
ведь по идее надо просто правильно сформировать набор SQL инструкций чтобы интерпретатор Лоции его проглотил
по другому я не понимаю как ты сбрасываешь значение сразу после формирования
Добавлено: 02 ноя 2007, 09:11
Disillusioned
Да просто установи значение переменной в действии над переменными. В том же действии, где ты формируешь заново список значений.
Добавлено: 02 ноя 2007, 09:33
Александр
ну я тормоз

это же WorkFlow - все кверх ногами

в событии же можно последовательно работать с одной переменной хоть сто раз - а я почему то подумал что событие одно, переменная одна значит и действие только одно... заклинило меня короче
все этот вопрос снят
Ok
Вопрос следующий
а как на время инициализации начальных переменных повесить окно - 'Подождите идет загрузка данных...' и потом снять его
нужно внешнее действие запустить? а по какому признаку его завершить? или в WorkFlow можно свой MsgBox повесить штатными средствами?
Добавлено: 02 ноя 2007, 10:02
Disillusioned
Вариант 1.
Данные получаем при помощи клиентского действия над объектами, тогда во время загрузки будет висеть модальное окно "Обработка действия..."
Вариант 2.
На форме создай вычисляемое поле или текст, в котором написано "Обработка данных и т.д. и т.п.", поставь зависимость видимости данного элемента от значения переменной, после загрузки данных измени значение переменной на значение невидимости. Можно этот текст/вычисляемое поле на всю форму растянуть, чтобы он другие элементы на время загрузки закрывал собой.
Добавлено: 07 ноя 2007, 09:58
Александр
Следующий вопрос
а скажите -есть форма работы - на ней есть массив
так вот при инициализации формы, когда в строке состояния бегают всякие сообщения а сама форма пока еще не загрузилась
на 'пустом диалоге' я вижу две 'пустых' области которые сразу бросаются в глаза т.е. наезжая на элементы пустого диалога или выделяющиеся своей вогнутостью
-это область где будет лежать массив (свои координаты)
-и это из свойств массива - форма объекта (верхний левый угол)
как избавиться от этого эффекта на этапе загрузки формы
ps
и так все медленно... а тут еще и это...

Добавлено: 07 ноя 2007, 22:32
Старик Крупский
А может ты там что-то долгоиграющее повесил? Или просто много всего? Оно там, насколько я понимаю, отрисовывается все сразу после выполнения всех начальных действий. Поэтому если до отрисовки проходит много времени, значит, что-то тяжелое повесил.
Можно, кстати, попробовать в свойствах массива поставить скрытость, а потом, после всех запросов, модифаить форму и отрывать массив.
Добавлено: 15 ноя 2007, 08:49
gali
Проблема шире. Мало того, что на форме отрисовывается всякая чушь, все исполняемые действия (после открытия, после закрытия, вместо...) считают нужным заявить о себе. Это хорошо на этапе отладки, но бедному юзеру зачем знать, что там формируется, отбирается, заполняется?
Из техподдержки мне ответили, что возможно, когда-нибудь, поставят в какие-нибудь планы. А надо-то задействовать один параметр управления "видимостью". Надо отлаживать - включил.
Добавлено: 15 ноя 2007, 08:50
Александр
Добавлено: 04 дек 2007, 12:30
Александр
очередной вопрос по массивам
а как с ними работать? почитал хелп и ничего не понял вообще

- посмотрел примеры и тоже ничего не понял
1. какой функцией набрать (через SQL) и отобразить массив на форме
и еще
2. какой функцией набрать (через SQL) массив из нескольких колонок (многомерный)
т.е. делаем переменную первая колонка типа массив + еще переменные (по числу колонок) типа массив - и как то одним запросом забиваем все переменные сразу или как?
или нужно запросом набрать строку и разрезая ее в цикле добавлять массив-нет так не может быть...
или сначала нужно набрать список и уже его запихивать в массив???
вобщем уже целый день сижу ничего не понимаю

щас взорвусь от напряжения

Добавлено: 05 дек 2007, 08:26
Александр
Добавлено: 05 дек 2007, 09:23
Disillusioned
Кидаем на форму переменную-массив, начинаем редактировать ее форму, выбираем пункт меню "Внедрить SQL SELECT", пишем в нем запрос (возвращать он может сколько угодно полей, каждое поле будет помещено в отдельный массив, а отображаться они будут в виде таблицы на одной форме), параметры передаваемые в запрос должны начинаться с ':', нажимаем кнопку Аргументы и задаем и те же аргументы, что указали в тексте SQL, только без ':'. Собственно, заполнение осуществляется при помощи последовательного вызова функций f_RetriveForm и f_FormDataToArray в действии над переменными.
P.S. Твой вопрос вполне освещен в документации.
Добавлено: 05 дек 2007, 12:36
Александр
Disillusioned - если есть время давай еще раз посмотрим - не получается ничего - не понимаю.... точнее
смотри
1. есть локальный строковый массив mArray[..]
2. кидаю его на форму и в его свойствах внедряю SQL
допустим
Код: Выделить всё
select LSDBO.object_reference_view.Description as Name
From LSDBO.object_reference_view
Where LSDBO.object_reference_view.Type_ID = 123456789
3. в результате этого получаю еще один массив - Name[..] не понятно зачем (если рассматривать только одну колонку)
а дальше что?
внедренный запрос вызывается сам при открытии и каждый раз при перерисовке?
но он (массив на форме) у меня пока все время пустой и в профайлере тоже не нашел этого вызова..
а процедуры f_RetriveForm и f_FormDataToArray когда вызывать и в каком порядке? - вобщем полная каша в голове - ничего не понимаю
напиши если не сложно - что делать дальше? самого смысла пока уловить не могу никак

вроде задача проста есть одномерный строковый массив mArray[..] есть запрос возвращающий список строк - а как их подружить?....
Добавлено: 05 дек 2007, 13:41
Disillusioned
Имена столбцов должны быть идентичны именам переменных-массивов, если нет создаются новые переменные.
Добавлено: 05 дек 2007, 14:02
Александр
понял - а дальше что делать? каков общий алгоритм
как я понимаю сейчас - есть внедренный запрос - он что то- где то создает если его кто то активирует, после чего нужно функциями о которых ты писал - это что то вставить в форму? или как - ну не понимаю я

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