|
Программное создание табличного поля на форме и связь его с табличной частью | ☑ | ||
---|---|---|---|---|
0
Solitar
09.08.13
✎
10:16
|
Уже убил несколько часов, чтобы связать программно добавленное табличное поле с табличной частью
НовыйЭлемент = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "ТЧ_Перечисление", Истина, ТекущаяПанель); НовыйЭлемент.Верх = 6; НовыйЭлемент.Высота = 19; НовыйЭлемент.Лево = 6; НовыйЭлемент.Ширина = 800; НовыйЭлемент.Данные = "NEW__Перечисление"; НовыйЭлемент.ТолькоПросмотр = Ложь; //НовыйЭлемент.ИзменятьПорядокСтрок = Истина; НовыйЭлемент.ИзменятьСоставСтрок = Истина; //НовыйЭлемент.СоздатьКолонки(); НовоеПоле= НовыйЭлемент.Колонки.Вставить(0, "Ведомость"); //НовоеПоле.Имя = "Ведомость"; НовоеПоле.УстановитьЭлементУправления(Тип("ПолеВвода")); НовоеПоле.Данные = "Ведомость"; Пробовал просто через НовыйЭлемент.СоздатьКолонки() . В примерах, которые я нашел, там так и было написано... ЧЯДНТ? Не ужели нужно добавлять все колонки табличной части в табличное поле руками? |
|||
1
Solitar
09.08.13
✎
10:58
|
чтобы все работало, нужно данный код размещать ПриОткрытии или ПередОткрытием.
|
|||
2
Solitar
09.08.13
✎
14:42
|
появились новые вопросы:
1) как к добавленным колонкам назначит события? ведь у самой колонки нет никаких событий, а есть только у полей ввода. 2) как обратиться к полю ввода табличного поля через форму? Сейчас убрал метод НовыйЭлемент.СоздатьКолонки() и сделал через НовыйЭлемент.Колонки.Вставить(0, "Ведомость"); НовыйЭлемент.Колонки.Колонка1.УстановитьЭлементУправления (тип("ПолеВВода")); НовыйЭлемент.Колонки.Колонка1.Данные = "Ведомость"; НовыйЭлемент.Колонки.Колонка1.Положение = ПоложениеКолонки.ВТойЖеКолонке; |
|||
3
cw014
09.08.13
✎
14:49
|
УстановитьЭлементУправления
|
|||
4
cw014
09.08.13
✎
14:49
|
А потом обращайся к элементу управления через ".ЭлементУправления"
|
|||
5
Solitar
12.08.13
✎
16:22
|
в документе "Платежное поручение исходящее" есть панель "ПанельПлатежи", у нее есть страницы " - Перечисление ЗП, Выдача подотчетнику и т.д.
Я программно добавил свою страницу на данную панель, но как разместить на ней новые реквизиты, которые тоже создаются программно? Т.к. в методе "ЭлементыФормы.Добавить" последний параметр это <Поместить На> "<ПоместитьНа> (необязательный) Тип: Панель; ПолеТабличногоДокумента. Определяет, какой панели формы или какому табличному документу принадлежит создаваемый элемент. Если указана панель, то добавляемый элемент размещается на текущей странице панели. Если не указан, создаваемый элемент будет принадлежать непосредственно форме. " Следовательно, никак нельзя связать новые элементы с страницей? Как временное решение сделал свою новую панель поверх "ПанельПлатежи". |
|||
6
Solitar
13.08.13
✎
09:57
|
ап. мб есть какие то обходные пути?
|
|||
7
Рэйв
13.08.13
✎
09:58
|
(0)А зачем тебе эти танцы с бубном?
|
|||
8
Рэйв
13.08.13
✎
09:58
|
(0)добавь Таб. поле в конфигураторе и скрывай/показывай в зависимости от желания
|
|||
9
Solitar
13.08.13
✎
11:21
|
(8) нельзя трогать форму.
и еще, нельзя переопределить событие модуля объекта? Про подписка на события я знаю. пробовал через ДобавитьОбработчик ДобавитьОбработчик ЭтотОбъект.ПриЗаписи, Test (Ложь) и ДобавитьОбработчик ЭтотОбъект.ПриЗаписи, TEST |
|||
10
hhhh
13.08.13
✎
12:00
|
(5) ну задайте текущую страницу на панели, а потом привязывайте таб поле.
|
|||
11
Solitar
13.08.13
✎
12:24
|
(10) тип тек страницы <> типу "Панель" на который можно добавлять новые элементы формы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |