Имя: Пароль:
1C
1С v8
Как заполнить реквизит?
, ,
0 dart909
 
30.07.15
14:35
Есть Справочник с реквизитом.Есть Документ.Подскажите пожалуйста, в модуле формы документа получаю форму элемента справочника. Как сделать чтобы реквизит был сразу заполнен значением?
1 Михаил Козлов
 
30.07.15
14:39
"получаю форму элемента справочника." - существующего или нового (элемента)?
Если нового (т.е. через Справочники.<справочник>.СоздатьЭлемент();), то в новом объекте установите нужное значение реквизита.
2 dart909
 
30.07.15
14:42
(1) Нового элемента
3 StillEnough
 
30.07.15
14:43
либо при открытии справочника обработать
4 dart909
 
30.07.15
14:59
&НаКлиенте
Процедура ТаблицаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
    Отказ = Ложь;
    Копирование = Ложь;
    МояФормаВыбора = ПолучитьФорму("ПланВидовХарактеристик.СвойстваТС.Форма.ФормаЭлемента");
    МояФормаВыбора.ВладелецФормы  = Элемент;
    
    а = МояФормаВыбора;
    //МойОбъект = а.ЭтаФорма.Объект.;
    //ЭлементОтбора = МояФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    //ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВладелецСвойств");
    //ЭлементОтбора.ВидСравнения       = ВидСравненияКомпоновкиДанных.Равно;
    //ЭлементОтбора.ПравоеЗначение     = ПолучитьЗначениеМоегоСвойста();    
    МояФормаВыбора.Открыть();
    ЗаполнитьВладельца();

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

&НаСервере
Процедура ЗаполнитьВладельца()
     Об = ПланыВидовХарактеристик.СвойстваТС.СоздатьЭлемент();
     Об.ВладелецСвойств = Справочники.ВладельцыСвойств.НайтиПоНаименованию("Сотрудники");
КонецПроцедуры
5 dart909
 
30.07.15
15:00
Не заполняется Владелец при открытии, Подскажите как исправить.
6 VikingKosmo
 
30.07.15
15:02
(4) зачем я это увидел??? ТС можешь объяснить, что ты вообще пытаешься сделать?!
7 dart909
 
30.07.15
15:04
Да могу. Когда я открываю форму элемента Сотрудники. Во вкладке Пользовательские Данные при нажатии добавить, должна открыться Форма элемента ПВХ где ВладелецСвойств будет уже заполнен
8 barrgand
 
30.07.15
15:11
9 dart909
 
30.07.15
15:32
Переделал так, но все равно не заполняет

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

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

&НаСервере
Функция ЗаполнитьВладельцыСвойств()
     МойЭлемент = ПланыВидовХарактеристик.СвойстваТС.СоздатьЭлемент();
     МойЭлемент.ВладелецСвойств = Справочники.ВладельцыСвойств.НайтиПоНаименованию("Сотрудники");
     Возврат МойЭлемент.ВладелецСвойств
КонецФункции
10 barrgand
 
30.07.15
15:48
(9)  
а.Вставить("ВладелецСвойства",ЗаполнитьВладельцыСвойств());
    ОткрытьФорму("ПланВидовХарактеристик.СвойстваТС.Форма.ФормаЭлемента",а);

&НаСервере
Функция ЗаполнитьВладельцыСвойств()
     Возврат Справочники.ВладельцыСвойств.НайтиПоНаименованию("Сотрудники");
КонецФункции

&НаСервере
Процедура ПриСозданииНаСервере()

Если Параметры.Свойство("ВладелецСвойства") Тогда

Объект.ВладелецСвойства= Параметры.ВладелецСвойства;

КонецЕсли;

КонецПроцедуры
Основная теорема систематики: Новые системы плодят новые проблемы.