|
СКД вывод колонки опционально | ☑ | ||
---|---|---|---|---|
0
ANDRU48
13.10.14
✎
14:04
|
Как реализовать вывод колонки в скд в определенном случае (к примеру, параметр "Выводить такую-то колонку", значения да или нет.)
|
|||
1
ultrannge89
13.10.14
✎
14:11
|
Программно
|
|||
2
ultrannge89
13.10.14
✎
14:19
|
К сожалению нет такого кода чтобы прямо этот случай показать... Можешь по аналогии с этим сделать несколько макетов Схемы компоновки данных, один с колонкой, другой без, если параметр задан то открыть первый если нет то второй...
БазаИсточник = V82COMConnector.Connect(Параметры); Запрос = БазаИсточник.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ | ПлатежиПоДоговору.ДоговорКонтрагента.Номер КАК УтНомер, | ВЫБОР | КОГДА ПлатежиПоДоговору.ДоговорКонтрагента.СпособОплаты = ЗНАЧЕНИЕ(Перечисление.СпособыОплатыДоговоров.Оплата100) | ТОГДА ""Оплата100"" | КОГДА ПлатежиПоДоговору.ДоговорКонтрагента.СпособОплаты = ЗНАЧЕНИЕ(Перечисление.СпособыОплатыДоговоров.Ипотека) | ТОГДА ""Ипотека"" | КОГДА ПлатежиПоДоговору.ДоговорКонтрагента.СпособОплаты = ЗНАЧЕНИЕ(Перечисление.СпособыОплатыДоговоров.ИпотекаФОНД) | ТОГДА ""ИпотекаФОНД"" | КОГДА ПлатежиПоДоговору.ДоговорКонтрагента.СпособОплаты = ЗНАЧЕНИЕ(Перечисление.СпособыОплатыДоговоров.Рассрочка) | ТОГДА ""Рассрочка"" | ИНАЧЕ """" | КОНЕЦ КАК УтСпособОплаты, | ПлатежиПоДоговору.СуммаПлатежа КАК УтСуммаДок, | ПлатежиПоДоговору.Период КАК УтПериод |ИЗ | РегистрСведений.ПлатежиПоДоговору КАК ПлатежиПоДоговору |ГДЕ | ПОДСТРОКА(ПлатежиПоДоговору.ДоговорКонтрагента.Номер, 1, 1) = ""А"" | |УПОРЯДОЧИТЬ ПО | ДоговорКонтрагента, | Период"; Результат = Запрос.Выполнить(); Если Не Результат.Пустой() Тогда ТаблицаРезультат = Новый ТаблицаЗначений; ТаблицаРезультат.Колонки.Добавить("УтНомер", Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(100))); ТаблицаРезультат.Колонки.Добавить("УтСпособОплаты", Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(100))); ТаблицаРезультат.Колонки.Добавить("УтНомерСтроки", Новый ОписаниеТипов("Число",, Новый КвалификаторыЧисла(12))); ТаблицаРезультат.Колонки.Добавить("УтСуммаДок", Новый ОписаниеТипов("Число",, Новый КвалификаторыЧисла(12))); ТаблицаРезультат.Колонки.Добавить("УтПериод", Новый ОписаниеТипов("Дата",, Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя))); Выборка = Результат.Выбрать(); ДокНомерПред = ""; Пока Выборка.Следующий() Цикл НоваяСтрока = ТаблицаРезультат.Добавить(); Если ДокНомерПред = "" ИЛИ ДокНомерПред <> Выборка.УтНомер Тогда ДокНомерПред = Выборка.УтНомер; НомерСтроки = 1; ИначеЕсли ДокНомерПред = Выборка.УтНомер Тогда НомерСтроки = НомерСтроки + 1; КонецЕсли; НоваяСтрока.УтНомерСтроки = НомерСтроки; НоваяСтрока.УтНомер = Выборка.УтНомер; НоваяСтрока.УтСпособОплаты = Выборка.УтСпособОплаты; НоваяСтрока.УтСуммаДок = Выборка.УтСуммаДок; НоваяСтрока.УтПериод = Выборка.УтПериод; КонецЦикла; Иначе Сообщить("Пустой результат запроса"); КонецЕсли; //сформируем структуру внешних данных ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("Данные", ТаблицаРезультат); Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); //инициализация процессора скд ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); ТабличныйДокумент.Очистить(); //инициализация процессора вывода ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
|||
3
ultrannge89
13.10.14
✎
14:20
|
Это на кнопку,
СформироватьОтчет(ЭлементыФормы.Результат, ДанныеРасшифровки); |
|||
4
Chameleon1980
13.10.14
✎
15:22
|
может как-то через условное оформление подумать?
|
|||
5
echo77
13.10.14
✎
15:25
|
Таблица = КомпоновщикНастроек.Настройки.Структура.Получить(0);// Первый элемент структуры таблица
Таблица.Настройки.Выбор.Элементы - содержит коллекцию выбранных полей - изменяй свойство использование тем самым будешь включать/выключать вывод |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |