Имя: Пароль:
1C
1С v8
Нужно программно создать реквизит ТЗ у формы и вевести ее на саму форму, количество колоно
0 antipod13
 
27.12.19
11:05
Может у кого есть пример?
В инете нашел несколько вариантов, но запутался в них, не настолько силен в 1се, что бы сразу понять, а самый подходящий пример платный.
1 Галахад
 
гуру
27.12.19
11:15
Может книжки почитать. Они платные, но полезные.
2 Максимка_
Космонавтом
 
27.12.19
11:16
Не нужно никаких примеров. Ставишь точку останова где-нибудь при открытии формы. В отладчике по Шифт-Ф9 смотришь, какой тип значения у колонок формы, потом в синтаксис-помощнике ищешь, что можно сделать с этим (то бишь, какие методы и свойства существуют у объект данного типа). Там же смотришь, какие методы есть у объекта, на который ты хочешь добавить элемент.
Вот тебе удочка, рыбу поймаешь сам.
3 Максимка_
Космонавтом
 
27.12.19
11:18
(1) А еще лучше курсы какие-нибудь купить. Тоже бывают весьма полезные.
4 yalex
 
27.12.19
11:20
(0)Програмно создать, чтобы форму не ломать?
5 JeHer
 
27.12.19
11:22
(0) у тебя заголовок не влез. Что там с "количество колоно"?
(4) скорее всего, таблица формируется динамически.
6 yzimin
 
27.12.19
11:25
Весь модуль МодификацияКонфигурацииПереопределяемый пестрит таким кодом. Правда тут добавляется реквизит, но смысл думаю ясен.

МассивДобавляемыхРеквизитов = Новый Массив;
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("ВесНетто", Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(15,3)),, "Вес")); // Шапка формы

Форма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);

НовыйРеквизит = Форма.Элементы.Добавить("Вес_Программно", Тип("ПолеФормы"), Форма.Элементы.ГруппаВсегоСкидка);
НовыйРеквизит.Заголовок = "Вес";
НовыйРеквизит.ПутьКДанным = "ВесНетто";
НовыйРеквизит.Вид = ВидПоляФормы.ПолеВвода;
НовыйРеквизит.Ширина = 12;
        
ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, "Вес_Программно", "ТолькоПросмотр", Истина);
7 yalex
 
27.12.19
11:37
Вот для таблицы и тоже в модуле МодификацияКонфигурацииПереопределяемый.
Создаёт страницу в страницах формы и на этой новой странице Таблицу формы


Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт

Если Форма.ИмяФормы = "Справочник.Контрагенты.Форма.ФормаЭлемента" Тогда

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

КонецЕсли;

КонецПроцедуры;

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

        ПолеФормы = Форма.Элементы.Добавить(ТаблицаФормы.Имя + Рек.Имя, Тип("ПолеФормы"), ТаблицаФормы);
        ПолеФормы.ПутьКДанным           = ТаблицаФормы.ПутьКДанным + "." + Рек.Имя;
        ПолеФормы.Заголовок             = Рек.Синоним;
        ПолеФормы.Вид                   = ВидПоляФормы.ПолеВвода;
        
    КонецЦикла;
    
КонецПроцедуры