Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/75: Рейтинг темы: голосов - 75, средняя оценка - 4.76
 Аватар для andrey76
8 / 8 / 0
Регистрация: 04.12.2012
Сообщений: 415

Как программно добавить таблицу значений (тип "ДанныеФормыКоллекция") на форму

29.03.2013, 12:37. Показов 16698. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите позжайлуста в чем ошибка?

1C
1
2
3
4
5
6
7
8
9
&НаСервере
Процедура ДобавитьТаблицуНаСервере()
 
    МойТип = Новый ОписаниеТипов("ДанныеФормыКоллекция");   
    ТаблицаНовая = Новый РеквизитФормы("ТаблНовая",МойТип);
    ТаблицаНовая.Имя = "ТаблицаНовая";
    МассивДляТаблицаНовая = Новый Массив;
    МассивДляТаблицаНовая.Добавить(ТаблицаНовая);
    ЭтаФорма.ИзменитьРеквизиты(МассивДляТаблицаНовая);
пишет - недопустимый тип реквизита

Добавлено через 16 часов 30 минут
Напишите позжайлуста в чем ошибка?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.03.2013, 12:37
Ответы с готовыми решениями:

Как программно получить имена всех колонок реквизита формы, имеющего тип ДанныеФормыКоллекция?
как программно получить имена всех колонок реквизита формы, имеющего тип ДанныеФормыКоллекция? Имеется реквизит упр формы, типа таблица...

Как в таблицу значений, добавить колонку тип значения булево?
Как добавить просто колонку в СП есть и даже развернутый пример, но не очень понятно каким образом для этой колонки указать тип значения,...

Добавить на форму таблицу значений с сохранением значения после закрытия
Всем доброго времени суток! Есть форма настроек учетной политики, привязанная к регистру сведений. Конфа нестандартная, но не суть....

5
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
29.03.2013, 13:43
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
&НаСервере
Процедура ДобавитьНаСервере()
        
    ДобавляемыеРеквизиты = Новый Массив;    
    Реквизит1 = Новый РеквизитФормы("Таб", Новый ОписаниеТипов("ТаблицаЗначений"), , "Таблица", Истина);
    ДобавляемыеРеквизиты.Добавить(Реквизит1); 
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    
    ДобавляемыеРеквизиты = Новый Массив;    
    Реквизит2 = Новый РеквизитФормы("Кол", Новый ОписаниеТипов("Строка"),"Таб" , "Колонка", Истина);
    ДобавляемыеРеквизиты.Добавить(Реквизит2); 
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    
    ТаблицаФормы = ЭтаФорма.Элементы.Добавить("Таблица", Тип("ТаблицаФормы"), ЭтаФорма);    
    ТаблицаФормы.ПутьКДанным = "Таб";       
    
    Колонка = ЭтаФорма.Элементы.Добавить("Колонка", Тип("ПолеФормы"), ТаблицаФормы);    
    Колонка.ПутьКДанным = "Таб.Кол";       
    
КонецПроцедуры
2
 Аватар для andrey76
8 / 8 / 0
Регистрация: 04.12.2012
Сообщений: 415
29.03.2013, 14:44  [ТС]
Dethmontt Спасибо мужик , Меня смутило то что уже добавленная на форму таблица имела тип "ДанныеФормыКоллекция".

Всвязи с этим ворос: Почему мы добавляем реквизит типа "ТаблицаЗначений", а уже после добавления эта таблица имеет тип "ДанныеФормыКоллекция"?

Если можешь опиши логику - почему добавляемый элемент таблица имеет тип "ТаблицаФормы", а колонка которая принадлежит этой форме имеет такой же тип как например какая нибудь строка или число отображаемые на форме - тип "ПолеФормы"?

заранее спасибо
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
29.03.2013, 15:01
1.
1C
1
ЭтаФорма.Элементы.Добавить(Парам1,Парам2,.... )
Читаем в синтаксис помощнике про второй параметр метода ДОБАВИТЬ() - какие типы он принимает

2.
Реквизиты формы - могут иметь типы только прикладных типов или примитивных
1
 Аватар для andrey76
8 / 8 / 0
Регистрация: 04.12.2012
Сообщений: 415
29.03.2013, 19:00  [ТС]
Не понял. Мы же добавляем на форму реквизит Таким образом
Этаформа.ИзменитьРеквизиты(ДобавляемыеРе квизиты);

а массив ДобавляемыеРеквизиты включает в себя один реквизит
Реквизит1 = Новый РеквизитФормы("Таб", Новый ОписаниеТипов("ТаблицаЗначений"), , "Таблица");
который имеет тип ТаблицаЗначений

а затем если посмотреть в отладчике после того как програмно создался реквезит Таб. Ивыделить вот это значение ----> (этаФорма.Таб) будет указано что у него тип ДанныеФормыКоллекция

Почему?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
30.03.2013, 01:05
ТАк ты добавь мышкой РЕКВИЗИТ форме (не помещая этот реквизит на форму) и посмотри какой у него ТИП
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.03.2013, 01:05
Помогаю со студенческими работами здесь

Как программно добавить в проект форму
Как можно программно добавить в проект форму?

Как программно добавить label на форму
Здравствуйте, подскажите пожалуйста как можно программно добавить label на форму ?

Как добавить tableAdapterManager на форму программно?
Как добавить tableAdapterManager на форму программно? Добавлено через 19 часов 49 минут Смотрю не точно изъяснился, попробую еще...

Как программно добавить элемент на форму
Подскажите, как программно добавить элемент на форму? #include "dartedit.h" #include "ui_dartedit.h" #include...

Как программно добавить объект на форму?
Всем привет. Подскажите плиз. Как на форму программно добавить объект, ну например - Label или Command и т.п. Спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru