|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
При формировании извещений и квитанций об уплате квартплаты формируется крос-таблица,число столбцов (kpl) в этой таблице не постоянно. Для печати извещений и квитанций используется генератор этикеток Label. Попытка создать объекты в этикетке типа Field по схеме: Expression:EVAL(FIELD(16)) ,Print When : kpl> 15 Expression:EVAL(FIELD(17)) ,Print When : kpl> 16 ........... Expression:EVAL(FIELD(20)) ,Print When : kpl> 19 Выдаёт ошибку например на поле EVAL(FIELD(17)),если kpl>17. Поэтому пришлось создать объекты в этикетке типа Field по схеме: Expression:IIF(KPL>16,EVAL(FIELD(17)),0),Format:Blank if zero,Print When: пусто Вопрос:можно чтобы вначале шёл анализ выражения в Print When,а потом всего остального. Получается,что создатели генератора этикеток не предусмотрели такой ситуации или имели ввиду что-то другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2008, 12:13 |
|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
"Генеральная линия партии" при работе с любой реляционной базой данных - это фиксированное (неизменное) количество полей (столбцов) и переменное количество строк. Под эту идеологию и "заточены" все объекты и вообще любая работа с таблицами. Разумеется, Вы можете "выпендрится" и сделать "переменное" количество полей. Но это уже будут Ваши проблемы. Придется постоянно "придерживать пальцем" и искать обходные пути. Гораздо разумнее всегда формировать курсор (таблицу) с фиксированным (максимальным) количеством столбцов. Тогда не надо будет никаких макроподстановок. Какая разница, есть столбец или нет, если факт его печати все-равно блокируется по Print When? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2008, 17:02 |
|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
Сейчас как раз делаю такую этикетку, с переменным кол-вом и строк и столбцов, извращение ещё то. Никакие условия в When не помогут, надо отдавать репорту готовый курсор, который предварительно формировать (и структуру и данные). У меня этикетка ещё и многоязычная :) Сначала попытался работать напрямую с кросс-таблицей на форме, очень сложный код выходит, неудобно. Переделал код для работы с двумя образами одной таблицы - нормальная таблица, которую пользователь не видит, служит для обработки данных, и её зеркальная кросс-подруга - для отображения на форме и в отчете. Так лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2008, 21:59 |
|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
А формировать сам frx на лету? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2008, 07:33 |
|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
А я вопрос с переменным числом столбцов в отчете решал с помощью массивов. Каждое поле - элемент массива. В отчете на каждой странице расположено максимально возможное число заготовок для данных столбцов. И при выходе они заполняются по необходимости. Недостаток - на печати видны не заполненные болванки стобцов. В ширину у меня число листов тоже плавает. Пользователь пустые столбцы обрезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2008, 09:30 |
|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2.
Я Вас понял ВладимирМ ,но в моём случае кодирование с переменным количеством полей проще,поэтому в этикетке буду использовать выражения:IIF() ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2008, 10:03 |
|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
LUCIAN Код: plaintext 1. 2.
Я Вас понял ВладимирМ ,но в моём случае кодирование с переменным количеством полей проще,поэтому в этикетке буду использовать выражения:IIF() Казимирыч, тебе дело говорят. Подумай еще. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2008, 10:13 |
|
PRINT WHEN В ЭТИКЕТКЕ
|
|||
---|---|---|---|
#18+
Код: plaintext
т.е. имеется таблица с полями №кв,ФИО,сумма услуги1,.....,сумма услуги12 и таблица ценник услуг. 2-ую программу делаю для общежития родного предприятия и решил сделать её более универсальной. И основная хранимая таблица расчётов имеет примерно такую структуру:№кв,код услуги,сумма услуги Поэтому вот и получается такое "выпендривание" ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2008, 10:48 |
|
|
start [/forum/topic.php?desktop=1&fid=41&tid=1587456]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 163ms |
0 / 0 |