|
СКД - Отобразить паспортные данные одной строкой |
☑ |
0
Adolf88
27.09.19
✎
12:54
|
Доброго дня, коллеги!
Есть УПП 1.3.110.3 и платформа 8.2.19.68 и один отчет на СКД.
Задача - создать поле паспорт, в котором бы отображались данные паспорта в одной строке.
Завожу новое вычисляемое поле, пишу в него следующее выражение:
ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументСерия + ", " + ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументНомер + ", " + ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументКемВыдан + ", " + ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументДатаВыдачи. Добавляю это поле в список выводимых полей, получаю ошибку - Отчет не сформирован! Неверные параметры "+".
Убираю ДатуВыдачи, получается вот такое выражение:
ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументСерия + ", " + ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументНомер + ", " + ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументКемВыдан + ", "
Все отрабатывает корректно. И если написать вот такое выражение:
ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументДатаВыдачи, то ДатаВыдачи отображается.
Что не так может быть с этой датой, что отдельно она отображается, а вкупе со всеми остальными паспортными данными - нет?
|
|
1
ДенисЧ
27.09.19
✎
12:55
|
Преобразования типов в выражениях не допустимы.
|
|
2
Vakhrin
27.09.19
✎
12:58
|
А чем уже готовое "Представление" не нравится?
|
|
3
Cyberhawk
27.09.19
✎
13:05
|
Через запятую СКД сама умеет ресурсы в одной строке отображать
|
|
4
Cyberhawk
27.09.19
✎
13:06
|
Ну а тебе естьнулл добавить к каждому слагаемому
|
|
5
Adolf88
27.09.19
✎
13:27
|
(4)
Добавил, опять такая же петрушка - Отчет не сформирован! Неверные параметры "+".
|
|
6
Cyberhawk
27.09.19
✎
13:28
|
Ну в исполняемом запросе компоновки посмотри какие значения в полях СКД-то на самом деле. Естнулл защищает только от нуллов, остальное к строке преобразовывай
|
|
7
Cyberhawk
27.09.19
✎
13:29
|
Вчитался в ноль, у тебя из-за даты
|
|
8
Cyberhawk
27.09.19
✎
13:31
|
Дату в строку преобразовываешь и дело в шляпе - можно хоть в слагаемом через Строка или Формат
|
|
9
Cyberhawk
27.09.19
✎
13:32
|
Ну или вычисляемое поле
|
|
10
pechkin
27.09.19
✎
13:32
|
в выражения Формат работает
|
|
11
Adolf88
27.09.19
✎
13:39
|
(8) (10) Благодарочка вам, все работает.
Финальный вариант, вдруг кому-нибудь пригодится:
ЕСТЬNULL(ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументСерия, ЛОЖЬ) + ", " + ЕСТЬNULL(ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументНомер, ЛОЖЬ) + ", " + ЕСТЬNULL(ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументКемВыдан, ЛОЖЬ) + ", " + ФОРМАТ(ДанныеОФизЛице.ПаспортныеДанные.ФизЛицоДокументДатаВыдачи, "ДФ = 'дд.ММ.гггг'")
|
|
12
Cyberhawk
27.09.19
✎
13:40
|
(11) Вместо ЛОЖЬ тогда уж что-то типа "серия отстутствует", "номер отсутствует" и т.д.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший