Имя: Пароль:
1C
 
программно установить порядок колонок в табличной части документа на управляемой форме
0 golem14
 
06.02.20
13:36
Добавляю программно колонку на форму в ТЧ, реквизит ТЧ уже добавлен в конфигураторе.    
    Элемент =  ЭтаФорма.Элементы.Добавить("ТоварыМакет", Тип("ПолеФормы"), ЭтаФорма.Элементы.Товары);
    Элемент.ПутьКДанным = "Объект.Товары.Макет";
Колонка добавляется в конец. Можно её сместить влево? Как-нибудь вроде такого:
    Этаформа.Элементы.Товары.Колонки.Сдвинуть(3, -1);
Но у "Элементы.Товары" нет такого свойства "Колонки". Что же делать?
1 vicof
 
06.02.20
13:38
ЭтаФорма.Элементы.Вставить(
2 golem14
 
06.02.20
14:22
Элемент =  ЭтаФорма.Элементы.Вставить("ТоварыМакет", Тип("ПолеФормы"), ЭтаФорма.Элементы.Товары, )

Что-то совсем не понял как использовать этот метод.
Что в четвертом параметре должно быть? Да и с третьим Родитель тоже сомневаюсь.
Подсказка говорит что четвертым параметром должен быть элемент. Какой непонятно.
В синтакс-помощнике нашёл только метод Вставить(<Индекс>) табличной части, а этот так и не могу найти к какой ветке относиться, там их дофига этих методов Вставить.
3 golem14
 
10.02.20
08:21
Так им не получилось вставить программно колонку в середину табличной части документа

Читал книгу.
Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8"
Глава 3,20
Добавление колонок в таблицу.

Приводится пример добавления колонки
НовыйЭлемент = Элементы.Добавить("КолонкаЗанятость", Тип("ПолеФормы"), Элементы.ЭлементТаблицаЗначений);

но она добавляется последней колонкой. Как её вставить в середину или в начало не описано.

Может есть способ определение места колонок в Элементы.ЭлементТаблицаЗначений?
4 Радим1987
 
10.02.20
08:46
Используй метод переместить.  Элементы.Переместить(Элементы.ТвойНовыйЭлемент, Элементы.Список(Родитель), Элементы.ЭлементПередКоторНужноВставить)
5 mmmarat
 
10.02.20
08:53
(2) родитель аналогично методу добавить, четвертым параметром элемент перед которым нужно вставить, например элементы.товары.количество
6 golem14
 
10.02.20
09:36
Спасибо, получилось так

Элемент =  ЭтаФорма.Элементы.Вставить("ТоварыМакет", Тип("ПолеФормы"), ЭтаФорма.Элементы.Товары, ЭтаФорма.Элементы.Товары.ПодчиненныеЭлементы[2]);
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший