Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 03:19

Добовление реквизитов на форму из встроенного языка.

Автор |R|U|D|E|N, 07 фев 2011, 16:13

0 Пользователей и 3 гостей просматривают эту тему.

|R|U|D|E|N

Приведенный выше пример работает. В табличном поле появляется указанный справочник и командная панель над ним. Но если я создаю ТаблицуЗначений:

ТабЗн = Новый ТаблицаЗначений;
ТабЗн.Колонки.Добавить("SN", Новый ОписаниеТипов("СправочникСсылка.СерийныеНомера"));


Помещаю ее в ТабличноеПоле:

ТабПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "Оборудование", Истина);
ТабПоле.Лево = 15; ТабПоле.Верх = 190;
ТабПоле.Ширина = ЭтаФорма.Ширина - 30;
ТабПоле.Высота = 70;
ТабПоле.Значение = ТабЗн;
ТабПоле.СоздатьКолонки();


И создаю командную панель для созданной выше таблици:

КПанель = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), "КоменднаяПанельКТаблице", Истина);
Кпанель.Лево = 15;
КПанель.Верх = 160;
КПанель.Ширина = ЭтаФорма.Ширина - 30;
КПанель.Высота = 30;

КПанель.ИсточникДействий = ЭлементыФормы.Оборудование;
КПанель.АвтоЗаполнение = Истина;


То в результате у меня пустая таблица с одной единственной колонкой SN в которой нечего нельзя сделать. Командной панели тоже нет.

Что я опять делаю не так? Если можно поеснение в коде)

Наверно прейдется сделать эту таблицу со всем необходимым на форме в ручную и лишь когда надо делать Видимость = истина. Не как не дается мне она из встроенного языка)



Klyacksa

|R|U|D|E|N, а зачем создавать таблицу значений? Оставьте как в примере у cska-fanat-kz, а потом будете обращаться к таблице как ЭлементыФормы.ТабличноеПоле1.Значение
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Klyacksa

Прошу прощения, вчиталась в пример...
Действительно, если использовать Список справочника, то автозаполнение работает.
А если свою таблицу, то нет(((

НоваяТЧ = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПоле1",Истина);
НоваяТЧ.Лево = 8;
НоваяТЧ.Верх = 60;
НоваяТЧ.Высота = 200;
НоваяТЧ.Ширина = 200;
   
НоваяТЧ.ТипЗначения = Новый ОписаниеТипов("ТаблицаЗначений");
НоваяТЧ.Колонки.Добавить("Колонка1",Тип("СправочникСсылка.Номенклатура"));
НоваяТЧ.СоздатьКолонки();
   
НоваяКП = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"),"КоманднаяПанельКТаблице",Истина);
НоваяКП.Лево   = 8;
НоваяКП.Верх   = 33;
НоваяКП.Высота = 24;
НоваяКП.Ширина = 384;

НоваяКП.ИсточникДействий = ЭлементыФормы.ТабличноеПоле1;
НоваяКП.АвтоЗаполнение = Истина;      
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Товарищи!
Получилось!!!
Создалось "живое" ТабличноеПоле, привязанное к таблице значений!!!!

ТабЗн = Новый ТаблицаЗначений;
ТабЗн.Колонки.Добавить("Стол", Новый ОписаниеТипов("СправочникСсылка.Столы"));
НоваяСтрока = ТабЗн.Добавить();
НоваяСтрока.Стол = Справочники.Столы.НайтиПоКоду(2);
   
ТабПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "Оборудование", Истина);
ТабПоле.Лево = 15; ТабПоле.Верх = 190;
ТабПоле.Ширина = ЭтаФорма.Ширина - 30;
ТабПоле.Высота = 70;
ТабПоле.ТолькоПросмотр = ЛОЖЬ;//И ВСЕ ИЗ-ЗА ВОТ ЭТОГО!!
ТабПоле.ТипЗначения = Новый ОписаниеТипов("ТаблицаЗначений");
ТабПоле.Значение = ТабЗн;
ТабПоле.СоздатьКолонки();
   
КПанель = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), "КоменднаяПанельКТаблице", Истина);
Кпанель.Лево = 15;
КПанель.Верх = 40;
КПанель.Ширина = ЭтаФорма.Ширина - 30;
КПанель.Высота = 30;
   
КПанель.ИсточникДействий = ЭлементыФормы.Оборудование;
КПанель.АвтоЗаполнение = Истина;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

|R|U|D|E|N

Спасибо огромное Вам! Действительно, работает и это меня очень обрадовало!

Теперь мои относительно, сложные формы полностью рисуются программно. Благодоря Вам...

Klyacksa

cska-fanat-kz, круто!!!! Ты его победил!!! (аплодирующий смайлик)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

|R|U|D|E|N

Вы рано радуетесь)

Это только первый раунд....

cska-fanat-kz

Так у нас оказывается квест?

И когда боссы начнутся?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск