Имя: Пароль:
1C
1С v8
Открыть форму
,
0 Не программист
 
22.11.13
13:27
Здравствуйте! По кнопке запускаю процедуру создать и передаю параметры:

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

Подскажите пожалуйста почему в открывшейся форме эти параметры не заполнены, что же не так?

ОтборОрганизация, ОтборКонтрагент в отладке имеют значения

Спасибо!
1 Любопытная
 
22.11.13
13:29
м.б. потому что параметры не ключевые
2 GROOVY
 
22.11.13
13:32
Потому что нужно в параметры передавать структуру ЗначенияЗаполнения.
3 George Wheels
 
22.11.13
13:32
ОткрытьФорму("Документ.ДокументРасчетовСКонтрагентом.ФормаВыбора",ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);

Вместо этого попробуй:
ОткрытьФорму("Документ.ДокументРасчетовСКонтрагентом.Форма.ФормаВыбора",ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
4 GROOVY
 
22.11.13
13:34
(3) Это каким боком повлияет на механизм заполнения?
5 George Wheels
 
22.11.13
13:35
Если нужен отбор, то

ПараметрыФормы = Новый Структура("Отбор", Новый Структура("Организация, Контрагент", ОтборОрганизация, ОтборКонтрагент));
6 Не программист
 
22.11.13
13:39
(5) А чем это отличается от моего?
7 GROOVY
 
22.11.13
13:39
(6) Именем ключа структуры.
8 Не программист
 
22.11.13
13:44
Спасибо! Вот так получилось
Функция ПолучитьСтруктуруПараметровФормы()
    
    СтруктураПараметров = Новый Структура;
    
    ЗначенияЗаполнения = Новый Структура();
    
    ЗначенияЗаполнения.Вставить("ТипСчетаФактуры", "Выданный");
    
    ЗначениеОтбора = Новый Структура();
    
    ЗначениеОтбора.Вставить("Организация", ОтборОрганизация);
    ЗначениеОтбора.Вставить("Контрагент", ОтборКонтрагент);
    СтруктураПараметров.Вставить("Отбор", ЗначениеОтбора);
    СтруктураПараметров.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения);
    
    Возврат СтруктураПараметров;
    
КонецФункции

&НаКлиенте
Процедура Создать(Команда)
    
ПараметрыФормы =  ПолучитьСтруктуруПараметровФормы();
ОткрытьФорму("Документ.ДокументРасчетовСКонтрагентом.Форма.ФормаВыбора",ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
КонецПроцедуры
9 Не программист
 
22.11.13
13:47
Точнее вот так
Функция ПолучитьСтруктуруПараметровФормы()
    
    СтруктураПараметров = Новый Структура;    
    ЗначенияЗаполнения = Новый Структура();        
    ЗначениеОтбора = Новый Структура();
    
    ЗначениеОтбора.Вставить("Организация", ОтборОрганизация);
    ЗначениеОтбора.Вставить("Контрагент", ОтборКонтрагент);
    СтруктураПараметров.Вставить("Отбор", ЗначениеОтбора);
    СтруктураПараметров.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения);
    
    Возврат СтруктураПараметров;
    
КонецФункции

&НаКлиенте
Процедура Создать(Команда)
    
ПараметрыФормы =  ПолучитьСтруктуруПараметровФормы();
ОткрытьФорму("Документ.ДокументРасчетовСКонтрагентом.Форма.ФормаВыбора",ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
КонецПроцедуры
10 Не программист
 
22.11.13
13:47
Всем спасибо!