|
Как получить типзначения документа в запросе? | ☑ | ||
---|---|---|---|---|
0
suvolod
28.07.12
✎
11:13
|
УТ 10.3, в нем есть отчет "Ведомость по партиям товаров на складах". Дефолтные настройки отчета формируются через запрос, в котором есть такая строчка...
| ИсточникДанных.Регистратор КАК Регистратор, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор), Как мне в запросе определить тип значения регистратора? Т.е мне надо нечто вроде: Если ТиПЗнч(ИсточникДанных.Регистратор) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда РегистраторПредставление = Строка(Регистратор)+"; " + Регистратор.Контрагент.Наименование; Иначе РегистраторПредставление = Строка(Регистратор); КонецЕсли; |
|||
1
suvolod
28.07.12
✎
11:14
|
.. разумеется, мне это в запросе надо написать
|
|||
2
mehfk
28.07.12
✎
11:15
|
КОГДА ИсточникДанных ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА
|
|||
3
mehfk
28.07.12
✎
11:15
|
fix ИсточникДанных --> ИсточникДанных.Регистратор
|
|||
4
suvolod
28.07.12
✎
11:17
|
попробую сейчас.. спасибо
|
|||
5
Живой Ископаемый
28.07.12
✎
11:18
|
В запросе есть функция ТипЗначения. в чем трудность?
|
|||
6
suvolod
28.07.12
✎
11:20
|
(5) а небольшой пример работы с этой функцией не можешь написать?
|
|||
7
suvolod
28.07.12
✎
11:21
|
... и еще. Как правильно сложить в этом случае два представления?
так не получается: ВЫБОР КОГДА ИсточникДанных.Регистратор Ссылка Документ.РеализацияТоваровУслуг ТОГДА ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор)+Представление(ИсточникДанных.Регистратор.Контрагент) ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КОНЕЦ |
|||
8
suvolod
28.07.12
✎
11:26
|
ладно.. в любом случае спасибо за помощь. наводку дали, остальное нагуглю :)
|
|||
9
suvolod
28.07.12
✎
11:41
|
... вопрос оказался сложнее, чем я думал. Два представления сложить нельзя. Как тогда в запросе получить строку вида:
ИсточникДанных.Регистратор + "; " + ИсточникДанных.Регистратор.Контрагент из контрагента я могу вытащить Наименование ... но как вытащить тогда строку с полным названием документа (с номером, датой) без использования представления? |
|||
10
mehfk
28.07.12
✎
11:46
|
СП --> Работа с языком запросов --> ВЫРАЗИТЬ
|
|||
11
Kaidend
28.07.12
✎
12:01
|
(9) В запросе этого не сделать никак. В языке запросов 1С можно складывать строки, но там нет преобразования типов, то есть, если изначально значение не строкового типа, то его никаким образом к строковому типу не приведешь и не "сложишь" с другим строковым значением. ПРЕДСТАВЛЕНИЕ на уровне платформы досчитывается отдельным запросом уже после выполнения основного запроса, поэтому оно, по сути, не дает преобразования к строковому типу. ВЫРАЗИТЬ используется для полей составного типа, чтобы подсказать платформе, с какими таблицами ей нужно соединяться для получения поля через точку, то есть функции преобразования к строке оно тоже не выполняет.
Советую выбирать контрагента отдельным полем, а дальше уже крутится через построитель отчета, на котором сделан этот отчет в УТ. Либо выводить отдельным полем, либо построитель может некоторые поля выводить вместе через запяюту (например, реквизиты измерений) - нужно смотреть его настройки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |