Имя: Пароль:
1C
1С v8
Передача данных между формами
,
0 13spartak13
 
16.12.20
21:01
Добрый день! Есть Справочник.Модели в нем есть команда с таким кодом:

        ФормаСписка = ПолучитьФОрму("РегистрСведений.ТарифыИНормыРасхода.Форма.ФормаСписка",,ПараметрыВыполненияКоманды.Источник,,ПараметрыВыполненияКоманды.Источник.Окно);
    ФормаСписка.Список.Отбор.Элементы.Очистить();
    ОтборОбъект = ФормаСписка.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборОбъект.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект");
    ОтборОбъект.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ОтборОбъект.Использование = Истина;
    ОтборОбъект.ПравоеЗначение = ПараметрКоманды;
    ФормаСписка.Открыть();
    
форма списка открывается замечательно с отбором, а вот задачу когда с формы списка нажимаю кнопку создать выдаеться пустая форма элемента, а мне нужно чтобы она выдавалась с заполненым элементом который являяется справочником.модели, помогите кодом
1 Йохохо
 
16.12.20
21:19
свою кнопку сделай
2 acht
 
16.12.20
21:22
(0) > а мне нужно
Машинку, лошадку, сабельку и почитать СП и ИТС на предмет параметра ЗначенияЗаполнения
3 13spartak13
 
16.12.20
21:25
Читал мне бы примерчик но за сарказм спасибо
4 Roootru
 
17.12.20
03:15
(3) Такие обмороки как (2) видимо спецом на форумах регистрируются чтобы эго потешить) А если по делу то зачем перед этим вызываешь форму списка? Если все таки нужна то загоняй в какой-нибудь ключевой параметр формы (к примеру) и создавай свою кнопку "Создать" по которой так же параметр будешь передавать и в форме элемента уже отлавливай:    
    ПараметрМодель = Новый Структура("Ключ", Элемент);
    ФормаДок = ПолучитьФорму("Справочник.КакойНибудьДокумент.Форма.ФормаЭлемента",ПараметрМодель,,,);
Можешь руководствоваться дальше этим кст(https://forum.infostart.ru/forum9/topic183591/).
5 13spartak13
 
17.12.20
07:40
(4) Спасибо, как понял без своей кнопки создать не получится. Форму списка вызываю т.к. со справочника идет переход на форму списка записей регистра, так нужно заказчиком, а вот дальше ступор... Буду расковыривать ваш способ. Просто я так понял мне нужно этот ключ передать на форму списка, а потом еще раз передать на форму элемента?
6 Йохохо
 
17.12.20
07:47
(5) формы какие?
7 acht
 
17.12.20
09:15
(3) Это стандартные механизмы, про которые все активно не хотят знать:

    ЗначенияЗаполнения = Новый Структура;
    ЗначенияЗаполнения.Вставить("МойРеквизит", "Моё значение");
    
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения);
    ОткрытьФорму("Справочник.МойСправчникФормаОбъекта", ПараметрыФормы);

На реквизите МойРеквизит должна стоять галочка "Заполнять из данных заполнения".

Кстати, аналогично делается отбор для динамического списка формы, через параметр "Отбор", оно автоматически добавится в фиксированные настройки. Но это уж сам.