1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
RizONE 02.01.21 - 23:08 | Доброе!
С Новым Годом! Подскажите сабж, нагуглить ничего кроме УП не могу делаю на 8.3 что-то типа МассивТипа = Новый Массив; МассивТипа.Добавить(Тип("ТаблицаЗначений")); ОписаниеТипа = Новый ОписаниеТипов(МассивТипа); Поле = ЭлементыФормы.Добавить(ОписаниеТипа, "тпПроцедуры", Истина, ЭлементыФормы.ПанельСправочники); дает ошибку Нужно для ОП | ||
RizONE 1 - 02.01.21 - 23:09 | (0) пардон, УП = УФ | ||
Сергиус 2 - 02.01.21 - 23:21 | (0)&НаСервере
Процедура ПриОткрытииНаСервере()  // Описание таблицы значений как реквизита МассивТипа = Новый Массив; МассивТипа.Добавить(Тип("ТаблицаЗначений"));  // Добавление ТаблицыЗначений в массив реквизитов ОписаниеТипа = Новый ОписаниеТипов(МассивТипа); МассивРеквизитовФормы = Новый Массив; МассивРеквизитовФормы.Добавить(Новый РеквизитФормы("ТаблицаСотрудников", ОписаниеТипа, "", "ТЗСотр"));  // Создание ТаблицыЗначений с описанием колонок КвалификаторыСтроки = Новый КвалификаторыСтроки(10); ОписаниеСтроки_10 = Новый ОписаниеТипов("Строка", ,КвалификаторыСтроки); ОписаниеСотрудника = Новый ОписаниеТипов("СправочникСсылка.Сотрудники"); ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Код", ОписаниеСтроки_10); ТЗ.Колонки.Добавить("Сотрудник", ОписаниеСотрудника);  // ТЗ.Колонки.Добавить - можно и в цикле  // Добавление в массив реквизитов колонок ТаблицыЗначений Для Каждого Колонка Из ТЗ.Колонки Цикл МассивРеквизитовФормы.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "ТаблицаСотрудников")); КонецЦикла;  // Удаление - если таблица существует ЭлементТаблица = Элементы.Найти("ТаблицаСотрудников"); Если ЭлементТаблица <> Неопределено Тогда Элементы.Удалить(ЭлементТаблица); Иначе ИзменитьРеквизиты(МассивРеквизитовФормы); КонецЕсли;  // Добавление ТаблицыЗначений на форму ТаблицаПолейВыбора = Элементы.Добавить("ТЗСотр", Тип("ТаблицаФормы")); ТаблицаПолейВыбора.ПутьКДанным = "ТаблицаСотрудников"; ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список; ТаблицаПолейВыбора.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;// Отключение командной панели Для Каждого Колонка Из ТЗ.Колонки Цикл НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "ТаблицаСотрудников." + Колонка.Имя; НовыйЭлемент.Ширина = 10; КонецЦикла;  // Заполнение ТаблицыЗначений Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Сотрудники.Код КАК Код, | Сотрудники.ГоловнаяОрганизация КАК ГоловнаяОрганизация, | Сотрудники.Ссылка КАК Ссылка, | Сотрудники.Наименование КАК Наименование |ИЗ | Справочник.Сотрудники КАК Сотрудники | |УПОРЯДОЧИТЬ ПО | Наименование"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Строка = ТЗ.Добавить(); Строка.Код = ВыборкаДетальныеЗаписи.Код; Строка.Сотрудник = ВыборкаДетальныеЗаписи.Ссылка; КонецЦикла;  // Передача ТаблицыЗначений в реквизит формы ЗначениеВРеквизитФормы(ТЗ, "ТаблицаСотрудников"); КонецПроцедуры | ||
RizONE 3 - 02.01.21 - 23:23 | (2)
Поле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "тпПроцедуры", Истина, ЭлементыФормы.ПанельСправочники); Поле.ТолькоПросмотр = ЛОЖЬ; Поле.ТипЗначения = Новый ОписаниеТипов("ТаблицаЗначений"); |
|
Список тем форума |