|
БП2.0 ОСВ по счету. СКД Выражение представления | ☑ | ||
---|---|---|---|---|
0
nkolp
17.03.14
✎
15:44
|
Задача: В ОСВ по счету изменить представление поля Субконто1 - для субконто Контрагенты показать НаименованиеПолное, а не основное представление.
Изначельно в типовой В этом поле написано выражение - Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе Субконто1 Конец Добавляю условие - Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Когда Субконто1 ССЫЛКА Справочник.Контрагенты Тогда ВЫРАЗИТЬ(Субконто1 КАК Справочник.Контрагенты).НаименованиеПолное Иначе Субконто1 Конец Система пишет - Ожидается ключевое слово "Тогда" Пробовал так: Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Когда (Субконто1 ССЫЛКА Справочник.Контрагенты) Тогда ВЫРАЗИТЬ(Субконто1 КАК Справочник.Контрагенты).НаименованиеПолное Когда Истина Тогда Субконто1 Конец Пишет - Ожидается )")" Пробовал даже так: Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Когда ТИПЗНАЧЕНИЯ(Субконто1)= ТИП(Справочник.Контрагенты) Тогда ВЫРАЗИТЬ(Субконто1 КАК Справочник.Контрагенты).НаименованиеПолное Когда Истина Тогда Субконто1 Конец Всё равно - синтаксическая ошибка ??? Где засада? |
|||
1
nkolp
17.03.14
✎
15:55
|
Пробовал даже вставлять внутрь ещё один оператор ВЫБОР
|
|||
2
nkolp
17.03.14
✎
15:58
|
В самом запросе менять ссылку на строку нельзя - это Измерение СКД
|
|||
3
nkolp
17.03.14
✎
16:35
|
Получилось с использованием экспортной функции в общем модуле, но это не вариант - надо менять типовую.
|
|||
4
Ksandr
17.03.14
✎
16:56
|
В выражении представления использовать Ссылка было нельзя, как сейчас не знаю.
Поиграй с ВЫРАЗИТЬ и сравнивай с пустым значением |
|||
5
nkolp
17.03.14
✎
17:13
|
Спасибо(4) :) Сделал в модуле объекта - изменил представление программно (см. комменты //-> //<-):
Процедура СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина, ВнешниеНаборыДанных = Неопределено, ВыводитьПолностью = Истина) Экспорт Результат.Очистить(); Настройки = КомпоновщикНастроек.ПолучитьНастройки(); ВыводЗаголовкаОтчета(ЭтотОбъект, Результат); Если ВыводитьПолностью Тогда ДоработатьКомпоновщикПередВыводом(ВнешниеНаборыДанных); КомпоновщикНастроек.Восстановить(); НастройкаКомпоновкиДанных = КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); //-> МассивТипов = Новый Массив; МассивТипов.Добавить(Тип("СправочникСсылка.Контрагенты")); Если ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.ОсновнойНаборДанных.Поля[0].ТипЗначения = Новый ОписаниеТипов(МассивТипов) Тогда ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.ОсновнойНаборДанных.Поля[0].ВыражениеПредставления = "Субконто1.НаименованиеПолное"; КонецЕсли; //<- СтандартныеОтчеты.ВывестиОтчет(ЭтотОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета, ВнешниеНаборыДанных, Истина, НастройкаКомпоновкиДанных); КонецЕсли; ВыводПодписейОтчета(ЭтотОбъект, Результат); Если ВыводитьПолностью Тогда // Выполним дополнительную обработку Результата отчета ОбработкаРезультатаОтчета(Результат); // Сохраним настройки для Истории СтандартныеОтчеты.СохранитьНастройкуДляИстории(ЭтотОбъект); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |