![]() |
![]() |
|
СКД. Программное добавление поля | ☑ | ||
---|---|---|---|---|
0
Point
29.11.10
✎
10:35
|
Есть уже созданная схема, источником данных которой является ТЗ.
В данной ТЗ в зависимости от настроек добавляется/удаляется колонка. В схеме компоновки данных эту колонку стандартными методами добавлять не стал - хочу добавляет ее программно. Как это сделать? Пока навоял вот это: //--------------------------------------------- КомментарийКарточки = ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); КомментарийКарточки.Поле = "КомментарийКарточки"; КомментарийКарточки.ПутьКданным = "КомментарийКарточки"; КомментарийКарточки.Заголовок = "Комментарий в карт."; Как сделать, чтобы это поле выводилось в отчете, как я понимаю его нужно добавить в список выбранных полей. |
|||
1
Point
29.11.10
✎
10:54
|
Ну и где все любители СКД!!!
|
|||
2
Defender aka LINN
29.11.10
✎
10:57
|
А для нахрена такие извращения:
|
|||
3
Defender aka LINN
29.11.10
✎
10:57
|
*?
|
|||
4
Point
29.11.10
✎
11:01
|
(2)(3) А зачем мне лишняя колонка в отчете, когда она там не нужна и наоборот.
|
|||
5
Defender aka LINN
29.11.10
✎
11:04
|
(4) Эта штука называется "настройки", если что.
|
|||
6
Point
29.11.10
✎
11:05
|
(5) по подробнее пожалуйста.
|
|||
7
IronDemon
29.11.10
✎
11:07
|
Ты колонку видишь? А она есть.
|
|||
8
Point
29.11.10
✎
11:08
|
(7) Колонка есть в ТЗ, но в схеме компоновки данных она не описана.
1. Нужно выводить колонку если она есть в ТЗ 2. Не выводить колонку, если ее нет в ТЗ |
|||
9
acsent
29.11.10
✎
11:15
|
Есть колонка в наборе данных, а есть колонка в выбранных полях
|
|||
10
acsent
29.11.10
✎
11:16
|
Если провести аналогию с ТЗ, то есть колонка ТЗ, а есть колонка табличного поля
|
|||
11
Point
29.11.10
✎
11:31
|
Ну что. Никто не добавлял в набор данных программно колонку?
|
|||
12
shlyahtich
29.11.10
✎
11:38
|
Процедура НоменклатураПриИзменении(Элемент)
ОтчетОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить(); элОтбора = ОтчетОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); элОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; элОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура"); элОтбора.ПравоеЗначение = Номенклатура; ЭлементыФормы.Результат.Очистить(); ОтчетОбъект.СкомпоноватьРезультат(ЭлементыФормы.Результат); КонецПроцедуры |
|||
13
shlyahtich
29.11.10
✎
11:39
|
Ошибся - это по отбору данных
|
|||
14
Point
29.11.10
✎
11:40
|
(13) да я уж вижу :)
|
|||
15
shlyahtich
29.11.10
✎
11:42
|
Используй это
ща ппроверю ОтчетОбъект.КомпоновщикНастроек.Настройки.Выбор.Элементы.Добавить( |
|||
16
Point
29.11.10
✎
11:50
|
Сдела проще.
1. В схему компоновки данных добавил поле (есть оно в ТЗ или нет - не важно). 2. Если выполняется условие заданное пользователем (нужно выводить данную колонку), то программно добавляем это поле в выбранные поля схемы компоновки данных: //----------------------------------------------- ВыбранноеПолеКомментарий = Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); ВыбранноеПолеКомментарий.Использование = Истина; ВыбранноеПолеКомментарий.Заголовок = "Комментарий в карт."; ВыбранноеПолеКомментарий.Поле = Новый ПолеКомпоновкиДанных("КомментарийКарточки"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |