|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
Добрый день всем добрым людям. Такой вопрос возник при создании отчета - в одном месте выводится куча полей и это выражение не влазит в Expession Bilder, т.е. до 255 символов можно туда только записать, что свыше - обрезается при сохранении. А ведь еще сверх того хотелось всяких IIF туда понавставлять для красивости, что еще больше удлиняет код. При этом в хелпе четко указано: You can enter more than 255 characters ... и т.д. Может кто сталкивался с такой проблемой и как победить? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2017, 21:29 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
Обычно в таких случаях делается UDF-функция, ей передаешь как параметры все что надо учесть, а внутри нормальным кодом прописываешь всю логику. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 08:26 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
К предыдущему ответу добавлю, что писать код внутри отчета - это путь в никуда. Слишком сложно и не очевидно становится поддерживать такой отчет. Оптимальное решение для отчетов FoxPro - это до выполнения отчета сформировать и наполнить курсор (временную таблицу) нужной структуры с таким расчетом, чтобы собственно отчет представлял из себя максимально простой "гладкий" вывод информации по этому курсору В этом случае весь код подготовки данных будет сосредоточен в процедуре создания и наполнения этого курсора. Как следствие, в случае необходимости, можно будет легко внести изменения. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 10:56 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
DimaT, ВладимирМ - спасибо. В отчете формируется строка с данными заказчика, а это и название, и адрес, и тел., и банки, и e-mail и т.д., и перед каждым значением имеется поясняющий текст, например 'Тел./факс: ' или 'e-mail: ' , который нужно выводить, если есть содержимое поля. А разделять на строки - не очень гармонично, поскольку не известна заранее длина записи, например, наименования, или адреса, или того же банка и т.п. Поэтому в одну строку или вернее, в один ReportControl и удобнее, и код растягивается. Буду готовить выборку заранее. Но это решение конкретного случая, а все-таки, можно больше 255 символов добавлять в билдер, как хэлпе пишут, или нельзя? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 13:12 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
DmitryKnНо это решение конкретного случая, а все-таки, можно больше 255 символов добавлять в билдер, как хэлпе пишут, или нельзя? Попробовал - у меня тоже обрезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 13:39 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
Выбрал данные заранее в переменную, потом ее в отчет. Так даже намного удобнее, в смысле возможного редактирования, не нужно тесниться в билдере. Наверное поэтому разработчики и не заморачивались по поводу вместительности билдера - для полей и коротких выражений достаточно, а длинное кто, кроме таких как я, в билдер писать будет? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 19:51 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
DmitryKnDimaT, ВладимирМ - спасибо. В отчете формируется строка с данными заказчика, а это и название, и адрес, и тел., и банки, и e-mail и т.д., и перед каждым значением имеется поясняющий текст, например 'Тел./факс: ' или 'e-mail: ' , который нужно выводить, если есть содержимое поля. А разделять на строки - не очень гармонично, поскольку не известна заранее длина записи, например, наименования, или адреса, или того же банка и т.п. Поэтому в одну строку или вернее, в один ReportControl и удобнее, и код растягивается. Буду готовить выборку заранее. Но это решение конкретного случая, а все-таки, можно больше 255 символов добавлять в билдер, как хэлпе пишут, или нельзя? Если данные могут быть > 255 символов, я их в курсоре в поле memo вывожу. А memo, он ведь как резиновый, его отчет без ограничений выводит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2017, 21:53 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
Pulsar_pЕсли данные могут быть > 255 символов, я их в курсоре в поле memo вывожу. А memo, он ведь как резиновый, его отчет без ограничений выводит. В вопросе речь идет не о длине самих данных, а о длине выражения, вычисляющего эти самые данные. Длина команды ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2017, 16:32 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
DmitryKnНо это решение конкретного случая, а все-таки, можно больше 255 символов добавлять в билдер, как хэлпе пишут, или нельзя? 255 символов - это ограничение именно билдера. Т.е. некоего встроенного построителя. Длина команды может быть до 8К. Вопрос только в том, как эту самую команду вставить в указанное место отчета. "В принципе" побороть можно, но уж больно "кривыми" способами. Там постоянно придется "пальцем придерживать". В смысле, всегда "помнить", что вот здесь, в этом отчете, было сделано вот так, чтобы обойти ограничение на 255 символов. Соответственно, редактирование отчета превратится в постоянное мучение. Поэтому даже нет смысла описывать как этого добиться ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2017, 16:38 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
ВладимирМDmitryKnНо это решение конкретного случая, а все-таки, можно больше 255 символов добавлять в билдер, как хэлпе пишут, или нельзя? 255 символов - это ограничение именно билдера. Т.е. некоего встроенного построителя. Длина команды может быть до 8К. Вопрос только в том, как эту самую команду вставить в указанное место отчета. "В принципе" побороть можно, но уж больно "кривыми" способами. Там постоянно придется "пальцем придерживать". В смысле, всегда "помнить", что вот здесь, в этом отчете, было сделано вот так, чтобы обойти ограничение на 255 символов. Соответственно, редактирование отчета превратится в постоянное мучение. Поэтому даже нет смысла описывать как этого добиться Добрый день, целиком и полностью тут согласен, отличное решение команду записать в переменную и ее подставить. Но все же, как для неопытного, хорошо бы явно где-то писать - команда в билдере не может быть длиннее 255 символов, а тем более, если в хелпе прямо указывается - вы можете помещать более 255 символов. Это немного путает. И это не только для билдера в отчете. Например, если мы хотим записать длинную команду , например, селект в row source комбо - та же выйдет история, команда не влезет. 18115038 Т.е. теперь понятно, что символов в построителе команд или в специальном окне контрола (простите, не знаю, как его назвать правильно) , куда мы пишем эти команды, не может быть больше 255. Но новичек, к примеру я, убъет на это не один час, а то и день, пока поймет в чем дело. И это еще огромная удача, что существует этот форум, иначе проблема может перерасти в разряд мистических - окно есть, скрол у окна есть, что подразумевает возможность длинного текста, в хелпе пищут - you can! - а она, падла, команда, то есть, ни в какую не лезет и переустановка фокса, в том числе полученного из разных источников, ничего не дает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2017, 18:40 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
Ну через это все прошли. Да с годами еще и забывается многое. Посмотри в ROWSOURCETYPE Там много возможностей. А можно и по-простому (ограничений у меня не встречалось): **************************************************** В Init Combobox This.AddItem("Классический - голубой") This.AddItem("Темно - зеленый") This.AddItem("Темно - синий") This.AddItem("Разноцветный") This.ListIndex=1 **************************************************** ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2017, 22:13 |
|
Размер выражения в Expession Bilder
|
|||
---|---|---|---|
#18+
Насколько я понял, все это решается с помощью простых команд обычной кнопки: ***************************************************** && 1 SELECT DISTINCT Oic.N_BS_KZ, Oic.NAZV_POL_L , Oic.NAZV_POL_R ; FROM ; OICR04!Oic; WHERE Oic.N_BS_KZ = 3; ORDER BY Oic.NAZV_POL_L; INTO CURSOR red THISFORM.L1.Clear() THISFORM.L1.ROWSOURCETYPE = 6 THISFORM.L1.ROWSOURCE = "red.NAZV_POL_L" THISFORM.L1.CONTROLSOURCE = "red.NAZV_POL_L" THISFORM.L1.REQUERY() THISFORM.L1.REFRESH() ***************************************************** && 2 PUBLIC ARR1(1,100) SELECT DISTINCT Oic.NAZV_POL_R ; FROM ; OICR04!Oic; WHERE Oic.N_BS_KZ = 3; ORDER BY Oic.NAZV_POL_R; INTO ARRAY ARR1 THISFORM.L2.Clear() THISFORM.L2.ROWSOURCETYPE = 5 THISFORM.L2.ROWSOURCE = ARR1 THISFORM.L2.REQUERY() THISFORM.L2.REFRESH() ***************************************************** ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2017, 23:19 |
|
|
start [/forum/topic.php?fid=41&fpage=14&tid=1581948]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 180ms |
0 / 0 |