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

1c 8.3 УФ Отобразить таблицу на форме

Автор illiona, 10 окт 2017, 08:11

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

illiona

Добрый день. Создаю программно таблицу, колонки и строки.
           
Пока Выборка1.Следующий() Цикл
ТаблицаЗначений = Новый ТаблицаЗначений;
ОписаниеСтроки = Новый ОписаниеТипов("Строка");
ТаблицаЗначений.Колонки.Добавить("Номер");
Строка = ТаблицаЗначений.Добавить();
Строка.Номер = Выборка1.Наименование;
// Создать нужные колонки.
Пока Выборка.Следующий() Цикл
НаименованиеКолонки = СтрЗаменить(Выборка.Наименование," ","");
ТаблицаЗначений.Колонки.Добавить(НаименованиеКолонки,ОписаниеСтроки,СокрЛП(Выборка.Наименование));
КонецЦикла;
КонецЦикла;

Теперь нужно это таблицу отобразить на форме. Создала реквизит Таблица (Таблица значений)пустую, как мне ТаблицаЗначений отобразить, подскажите?

Golickoff

Здесь было глупое предложение и я его затёр.
<- там есть кнопочка "Нет" для таких случаев.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Oldman06


illiona


Группа = Справочники.Склады.НайтиПоНаименованию("КЛ",Истина);
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.КЛ = &КЛ");
Запрос.УстановитьПараметр("КЛ", Истина);
РезультатЗапроса = Запрос.Выполнить();
ТЗ1 = Запрос.Выполнить().Выгрузить();
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номер");
Для Каждого СтрМассива Из ТЗ1 Цикл
НаименованиеКолонки = СтрЗаменить(СтрМассива.Наименование," ","");
        ТЗ.Колонки.Добавить(НаименованиеКолонки);
КонецЦикла;
 
    //Опишем массив реквизитов
  МассивРеквизитов = Новый Массив;
    МассивТипаВыбора = Новый Массив;
МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений"));
    ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
 
    //Добавим в массив реквизитов таблицу значений
    МассивРеквизитов.Добавить(Новый РеквизитФормы("ДанныеФайла", ОписаниеТипаВыбора));
 
    //Добавим в массив реквизитов колонки таблицы
    Для Каждого Колонка Из ТЗ.Колонки Цикл
        МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "ДанныеФайла"));
КонецЦикла;

    //Удаляем если существует таблица
ЭлементТаблица = Элементы.Найти("ТаблицаДанныхФайла");
Если ЭлементТаблица <> Неопределено Тогда
        Элементы.Удалить(ЭлементТаблица);
Иначе
ИзменитьРеквизиты(МассивРеквизитов);
    КонецЕсли;

//Добавим Таблицу на форму
    ТаблицаДанныхФайла             = Элементы.Добавить("ТаблицаДанныхФайла", Тип("ТаблицаФормы"));
    ТаблицаДанныхФайла.ПутьКДанным = "ДанныеФайла";
    ТаблицаДанныхФайла.Отображение = ОтображениеТаблицы.Список;


массивТип = Новый Массив();
массивТип.Добавить(Тип("Число"));
ОписаниеТиповСсылка = Новый ОписаниеТипов(массивТип,,,);
   
//Добавим колонки
    Для Каждого Колонка Из ТЗ.Колонки Цикл
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаДанныхФайла);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "ДанныеФайла." + Колонка.Имя;
КонецЦикла; 

Запрос1 = Новый Запрос(
"ВЫБРАТЬ
| Склады.Наименование КАК Наименование
|ИЗ
| Справочник.Склады КАК Склады
|ГДЕ
| Склады.Родитель=&Группа");
Запрос1.УстановитьПараметр("Группа", Группа);
РезультатЗапроса1 = Запрос1.Выполнить();
Выборка1 = РезультатЗапроса1.Выбрать();
//Добавляем строки
Пока Выборка1.Следующий() Цикл
Строка = ТЗ.Добавить();
Строка.Номер = Выборка1.Наименование;
КонецЦикла;
    ЗначениеВРеквизитФормы(ТЗ,"ДанныеФайла");


Не получается ячейке присвоить тип число,постоянно тип нужно выбирать, потом только можно вводить число - это таблица для ввода данных.
Еще попутно вопрос про ячейку в таблице, как можно одну разбить на две для ввода данных
Добавлено: 11 окт 2017, 06:06


С типом ячейка получилось. Остался вопрос, как можно одну ячейку разбить на две для ввода данных

Теги:

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

Рейтинг@Mail.ru

Поиск