Имя: Пароль:
1C
1С v8
БП: открыть форму выбора документа с отбором по организации
0 kiwi
 
14.11.11
14:32
делаю так:
   ЗначениеОтбора = Новый Структура("Организация", Поз.Ссылка);
   ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
   ОткрытьФорму(ФормаВыбора,ПараметрыВыбора);
- открывается без отбора. Где косяк?
Спасибо.
1 SuperMario
 
14.11.11
15:03
В управляемой форме?
2 SuperMario
 
14.11.11
15:22
3 kiwi
 
14.11.11
15:27
(2)да, я вроде как 1:1 и сделал, как там, оттуда и списывал...
4 SuperMario
 
14.11.11
15:28
(3) работает только для динамического списка. У тебя список?
5 kiwi
 
14.11.11
15:31
хм, похоже - нет

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

...вот для ясности
6 hhhh
 
14.11.11
15:35
(5) чего ты нам впариваешь? Это у тебя обычные формы, а вызываешь как управляемые.
7 kiwi
 
14.11.11
15:47
(6) подскажите, как правильно?
8 SuperMario
 
14.11.11
16:04
9 SuperMario
 
14.11.11
16:05
Я так понимаю, что в (5) тебе не просто форму с отбором открыть нужно, а подбор организовать?
10 kiwi
 
14.11.11
16:11
(9) сначала из списка (2 элемента) выбирается тип документа - ПКО или РКО и после этого надо открыть для выбора список документов выбранного типа, но с отбором по одной организации (Поз.Ссылка)
11 kiwi
 
15.11.11
11:54
короче, получилось, что увидеть НЕправильное гораздо проще, чем подсказать как сделать правильно...
а правильно оказалось так:
Процедура ДокНачалаНачалоВыбора(ЭлементФормы, СтандартнаяОбработка)
       СтандартнаяОбработка = Ложь;
       СписокТипов = Новый СписокЗначений;
       СписокТипов.Добавить(Метаданные.Документы.ПриходныйКассовыйОрдер.Имя);
       СписокТипов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя);
       ВыбранныйЭлемент = ЭтаФорма.ВыбратьИзСписка(СписокТипов, ЭлементФормы);
       Если ВыбранныйЭлемент = Неопределено Тогда // Отказ от выбора
           Возврат;
       КонецЕсли;
       ВыбранныйТип = ВыбранныйЭлемент.Значение;
       ФормаВыбора = Документы[ВыбранныйТип].ПолучитьФормуВыбора(,ЭлементФормы,);
       ФормаВыбора.Отбор.Организация.Установить(Поз.Ссылка);
       ОткрытьФорму(ФормаВыбора);
КонецПроцедуры
...может кому пригодится
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший