Имя: Пароль:
1C
1С v8
1с 8.3 поле ввода - кнопка создать - не подставляется созданный док-т
0 Dm1try
 
16.08.23
20:00
Здравствуйте! Поле ввода на форме (УФ). тип док-т. При выборе появляется кнопка "создать". Пишу свою процедура чтобы создать заполненный док-т.

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

оп = Новый ОписаниеОповещения("ПослеЗакрытияОкнаСозданияСчета",ЭтотОбъект);	

ОткрытьФорму(форма,,Элемент,УникальныйИдентификатор,,,оп);

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

проблема не подставляется созданный док-т в это поле ввода. Как это можно решить?
1 Волшебник
 
16.08.23
20:01
Документ не записан
2 fly7
 
16.08.23
21:30
у меня так работает. записывать док не надо

&НаКлиенте
Процедура Ордер(Команда)
    
    ФормаОрдера = ПолучитьФорму(
        "Документ.ОрдерВнешний.ФормаОбъекта",,
        ЭтаФорма);
        
    Об = ФормаОрдера.Объект;
    
    ОрдерНаСервере(Об);
    
    КопироватьДанныеФормы(Об, ФормаОрдера.Объект);

    ФормаОрдера.Открыть();
    
КонецПроцедуры
3 Dm1try
 
17.08.23
10:08
Да форма появляется , нужные реквизиты заполнены. С этим проблем нет. А вот потом когда жмешь записать этот записанный док-т должен выбраться в поле ввода (ну как по умолчанию если мы не переопределяем процедуру по кнопке "создать" в поле ввода). Вот тут не получается сделать. Параметр "РежимВыбора" в открываемую форму передается, пытался его и в команду "ОткрытьФорму" передать, все равно не срабатывает. Событие ОбработкаВыбора тоже не срабатывает (
4 Dm1try
 
17.08.23
12:23
Проблему решил. Нужно при получении формы указывать владельца.
Может кому пригодится:

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


ДанныеФормы = Форма.Объект;
данныеформы.реквизит1="ааааа";
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
Форма.открыть();                                      
КонецПроцедуры