|
УФ: табличная часть. Как добавить произвольное количество колонок? |
☑ |
0
НубВ1С8
01.07.13
✎
20:55
|
Изначально я не знаю, сколько и каких колонок будет в табличной части обработки. Как добавить?
в принципе, &насервере можно создать ТЗ со всеми требуемыми характеристиками, но я не пойму, как ТЗ в Табличную часть обработки положить.
|
|
1
AlexNew
01.07.13
✎
21:10
|
В книге Разработка управляемого интерфейса есть, там буков много.
|
|
2
Eugeneer
01.07.13
✎
21:33
|
ярчайший пример есть в самой типовой - документ установка цен номенклатуры.
|
|
3
Eugeneer
01.07.13
✎
21:34
|
все на самом деле очень и очень просто. У тебя есть массив.
В цикле массива можно создавать и заполнять любые колонки указав им генерируемый идентификатор по которому далее можно работать с данными такой таблицы. опять таки через цикл по массиву.
|
|
4
AlexNew
01.07.13
✎
21:35
|
(2) УФ, УТ 11? и там лишнего много.
|
|
5
Eugeneer
01.07.13
✎
21:35
|
(4) да. все элементарно!
|
|
6
Eugeneer
01.07.13
✎
21:37
|
автору могу в подарок дать разработку в которой я это юзаю.
|
|
7
anddro
01.07.13
✎
21:38
|
|
|
8
Eugeneer
01.07.13
✎
21:41
|
(7) это на 90 процентов того что я писал в (2).
Типовой код.
|
|
9
anddro
01.07.13
✎
21:51
|
(8) судя по частоте этого вопроса, пора его в кз
|
|
10
Eugeneer
01.07.13
✎
21:54
|
Таже самая ситуация и с условными оформлениями построенными программно.
|
|
11
Eugeneer
01.07.13
✎
21:54
|
например если усложнить задачу и еще надо раскрашивать определенные ячейки таблицы построенной с произвольными колонками.
|
|
12
НубВ1С8
02.07.13
✎
09:06
|
(6) можно на sh(гав)ic-angara.ru ?
|
|
13
НубВ1С8
12.07.13
✎
09:38
|
Чтобы ветка не осталась без решения-кода:
&НаСервере
Процедура СоздатьКолонкуНасервере(НазваниеКолонки)
// Добавить реквизит.
ТипыРеквизита = Новый Массив;
ТипыРеквизита.Добавить(Тип("Строка"));
ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита);
НовыйРеквизит = Новый РеквизитФормы(НазваниеКолонки, // имя
ОписаниеТиповДляРеквизита, // тип
"Объект.ТЗ", // путь к табличной части
НазваниеКолонки, // заголовок
Истина); // сохраняемые данные
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// Добавить элемент формы и связать его с реквизитом.
НовыйЭлемент = Элементы.Добавить(НазваниеКолонки, Тип("ПолеФормы"), Элементы.ТЗ);
НовыйЭлемент.ПутьКДанным = "Объект.ТЗ."+НазваниеКолонки;
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.Доступность = Истина;
//НовыйЭлемент.ЦветФона = webЦвета.Аквамарин;
элементы.Шахматка.Видимость = истина;
новыйэлемент.Видимость =истина ;
конецпроцедуры
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший