Вход | Регистрация
 

Как обратиться к программно созданным колонкам табличного поля? Обычные формы.

Как обратиться к программно созданным колонкам табличного поля? Обычные формы.
Я
   DGorgoN
 
05.07.21 - 20:16
Создаю колонки
НоваяКолонка = ЭлементыФормы.Анализ.Колонки.Добавить(СокрЛП(Стр.Подразделение.тдГруппаПодразделений), СокрЛП(Стр.Подразделение.тдГруппаПодразделений));
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));    

Вот как теперь мне узнать какое текущее значение в колонке СокрЛП(Стр.Подразделение.тдГруппаПодразделений) ?
   ДенисЧ
 
1 - 05.07.21 - 20:22
В колонке нет значений...
Они есть в ячейке строки...

А так ... Строкатз[ИмяКолонки]
   DGorgoN
 
2 - 05.07.21 - 20:23
(1) Нифига. Не получается. Я делал давно но сейчас хоть убей не помню. Полчаса ковырял и вот..
   DGorgoN
 
3 - 05.07.21 - 20:24
Процедура АнализПриИзмененииФлажка(Элемент, Колонка)
    //Сообщить(Колонка.Имя);

    ////Сообщить(Элемент.ТекущаяСтрока[Колонка.Имя]);

    ////Сообщить(ЭлементыФормы.Анализ.ТекущаяСтрока[Колонка.Имя]);

    //ЭлементыФормы.Анализ.Яче

    //ТекущиеДанные = ЭлементыФормы.Анализ.ТекущиеДанные;

    //Сообщить(ТекущиеДанные[Колонка.Имя]); ///Имя реквизита

    
    //Для каждого СтрПоля из ЭлементыФормы.Анализ Цикл

    //    Сообщить(СтрПоля[Колонка.Имя]);

    //КонецЦикла;

    
    Для Каждого Строчка из Анализ Цикл
        Сообщить(Строчка[Колонка.Имя]);
    КонецЦикла;    
КонецПроцедуры

Везде ошибки
   ДенисЧ
 
4 - 05.07.21 - 20:33
ВотсЪ
Процедура ПриОткрытии()
    тз.Колонки.Добавить("Колонка1");
    ЭлементыФормы.ТЗ.СоздатьКолонки();;
    
    ЭлементыФормы.ТЗ.Колонки["Колонка1"].УстановитьЭлементУправления(Тип("ПолеВвода"));
    
    тз.Добавить().Колонка1 = "1";
    тз.Добавить().Колонка1 = "2";
    
КонецПроцедуры

Процедура ТЗПриАктивизацииСтроки(Элемент)
    сообщить("" + тз[0]["Колонка1"]);
    сообщить("" + тз[1]["Колонка1"]);
КонецПроцедуры


тз - таблица значений на форме.
   DGorgoN
 
5 - 05.07.21 - 20:39
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(27)}: Поле объекта не обнаружено (Колонки)
    Анализ.Колонки.Добавить("Колонка1");
   ДенисЧ
 
6 - 05.07.21 - 20:41
(5) значит, анализ у тебя не таблица значений.
   ДенисЧ
 
7 - 05.07.21 - 20:41
Источник у неё какой?
   DGorgoN
 
8 - 05.07.21 - 20:43
(7) Это реквизит документа, ну может быть реквизит обработки.
   DGorgoN
 
9 - 05.07.21 - 20:43
Табличная часть обработки
   ДенисЧ
 
10 - 05.07.21 - 20:44
И как ты собирался к нему добавить колонки?
Для таких колонок ты можешь записать туда что-то. В ПриВыводеСтроки() или в ПриПолученииДанных()
   Ёпрст
 
11 - 05.07.21 - 20:48
Проще уж не программно добавить колонку в ТЧ обработки, тем более, что это флажок..
   DGorgoN
 
12 - 05.07.21 - 20:51
(10) Ну добавлять то просто
            НоваяКолонка = ЭлементыФормы.Анализ.Колонки.Добавить(СокрЛП(Стр.Подразделение.тдГруппаПодразделений), СокрЛП(Стр.Подразделение.тдГруппаПодразделений)); 
            НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));    
            НоваяКолонка.Ширина = 5;
   DGorgoN
 
13 - 05.07.21 - 20:52
(10) (11) Есть список постоянный полей и есть список динамических. От 0 до n. Можно конечно добавить реквизит1, реквизит2 и т.п. но хочется покрасивее.
   DGorgoN
 
14 - 05.07.21 - 20:53
(10) Записать при выводе строки получается. Вот пользователь изменил что то в этой колонке - как узнать в какой и что?
   Сергиус
 
15 - 05.07.21 - 21:28
(14)Метод ДанныеСтроки.
   DGorgoN
 
16 - 05.07.21 - 21:30
(15) Поясни подробнее с примером пжста.
   Сергиус
 
17 - 05.07.21 - 21:37
(16)Не прокатит, там будут доступны только данные колонок из привязанной ТЧ. Для твоего случая только либо ПриВыводеСтроки, либо ПриПолученииДанных - события Табличного поля
   Ёпрст
 
18 - 05.07.21 - 21:51
(13) Тогда не используй ТЧ, используй ТЗ. И там, что угодно. Ну, разве что отборы будешь ручоками лепить
   DGorgoN
 
19 - 05.07.21 - 22:00
(18) Я вот точно помню что перебирал элемент формы. Ну не ужели нет способа и мне причудилось?
   Ёпрст
 
20 - 05.07.21 - 22:04
(19) способ есть. Он в (18)
   DGorgoN
 
21 - 05.07.21 - 22:05
Ну коряво это. Буду делать как в установкецен - по аналогии.
   Ёпрст
 
22 - 05.07.21 - 22:20
(21) там просто ТЗ на форме. Которая потом хранится в виде плоской ТЧ.
   Ёпрст
 
23 - 05.07.21 - 22:21
Ну и собственна, см (18)
   DGorgoN
 
24 - 05.07.21 - 22:23
(23) Ну вот так и придётся делать. Странно с точки зрения программирования не предоставить доступ к элементам табличного поля напрямую на форме. Колонки создать можно, даже что то туда записать при выводе строки а считать никак )
   Ёпрст
 
25 - 05.07.21 - 22:48
(24) Источник ТЧ - в колонках ТЧ можешь сделать что угодно. Добавляя свои колонки в табличное поле, они никак с ТЧ не связаны, вообще. Ты можешь только показать нечто в этих колонках использую ПривыводеСтроки или ПриПолученииДанных.
А вот с ТЗ, всё проще - ты сразу добавляешь колонки в ТЗ (хотя можешь и в табличное поле и см. проблему выше), т.е в сам источник данных

Соответственно можешь делать что угодно.
   Ёпрст
 
26 - 05.07.21 - 22:50
Табличное поле - это всего лишь "окошко", через которое ты на данные источника смотришь.
Если ты в источник не добавляешь ничего (колонки свои) ты их в "окошко" и не видишь и управлять ими не можешь.
   DGorgoN
 
27 - 05.07.21 - 22:58
(26) Ну почему тогда в это окошко можно добавить колонку? )
   Ёпрст
 
28 - 05.07.21 - 22:59
(27) чтобы вывести нередактируемую доп информацию, которую ты можешь получить из источника данных
   DGorgoN
 
29 - 05.07.21 - 23:02
(28) Почему тогда ты эту информацию можешь редактировать? )
   Ёпрст
 
30 - 05.07.21 - 23:03
(29) не можешь
 
 
   DGorgoN
 
31 - 05.07.21 - 23:11
(30) Ну как не можешь? Можешь - отображается что можешь. Да пофик на самом деле - на обычные форму 1с давно забила. Чисто по логике вполне себе можно было допилить.
   Ёпрст
 
32 - 05.07.21 - 23:20
(31) Если че, в УФ - всё тоже самое.
   Ёпрст
 
33 - 05.07.21 - 23:20
Только, там еще больше ограничений
   DGorgoN
 
34 - 05.07.21 - 23:41
(32) (33) Ну не скажи. Там всё логично более-менее. Хотя где 1с где логика, скорее привычка.


Список тем форума
 
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.