Имя: Пароль:
1C
1С v8
отбор в форме выбора
0 Kurbash
 
02.09.13
14:34
такая ситуация: в документе есть реквизит с типом Справочник.СтатьиДвиженияДенежныхСредств. Стоит задача чтобы при открытии в списке выбора был виден только определенный элемент справочника.  

Делаю такой код:


СтатьяДвиженияДенежныхСредствНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = Справочники.СтатьиДвиженияДенежныхСредств.ПолучитьФормуВыбора("ФормаВыбора", Элемент,);

    ФОрмаВыбора.НачальноеЗначениеВыбора=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00296");
    ФормаВыбора.Открыть();


проблема в том, что на событие ПриОткрытии() формыВыбора справочника стоит другой отбор. Получается мой отбор идет лесом при открытии формы выбора. Можно как нибудь обойти?
1 ОбычныйЧеловек
 
02.09.13
14:35
НУ так поменяй местами
ФормаВыбора.Открыть();
ФОрмаВыбора.НачальноеЗначениеВыбора=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00296");
2 Defender aka LINN
 
02.09.13
14:38
"на событие ПриОткрытии() формыВыбора справочника стоит другой отбор" - ничего, что в (0) никакого отбора нет в принципе?
3 Kurbash
 
02.09.13
14:42
(1)-пробовал, на канает
(2)-ты имеешь ввиду ВидСравнения и т.д?
4 Defender aka LINN
 
02.09.13
14:45
(3) Я имею в виду Отбор. Это слово в коде из (0) встречается примерно 0 раз.
5 Kurbash
 
02.09.13
15:00
Процедура СтатьяДвиженияДенежныхСредствНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    СправочникСписок = Справочники.СтатьиДвиженияДенежныхСредств.ПолучитьФормуВыбора("ФормаВыбора", Элемент,);
    СправочникСписок.Отбор.Сбросить();
    СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВИерархии;
      Если ЗначениеЗаполнено(Родитель) тогда
    СправочникСписок.Отбор.Ссылка.Значение = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00296");
    КонецЕсли;
    СправочникСписок.Отбор.Ссылка.Использование = 1;
    СправочникСписок.Открыть();
КонецПроцедуры
6 Kurbash
 
02.09.13
15:01
все равно  не канает....где то ошибся..
7 Kurbash
 
02.09.13
15:08
ау
8 Kurbash
 
02.09.13
15:26
никто не подскажет?
9 Zamestas
 
02.09.13
15:28
(8) УФ или ОФ?
10 Prilepsky
 
02.09.13
15:37
Форма=Справочники.СтатьиДвиженияДенежныхСредств.ПолучитьФормуВыбора();
    Форма.Отбор.Ссылка.Использование=Истина;
    Форма.Отбор.Ссылка.ВидСравнения=ВидСравнения.ВИерархии;
    Форма.Отбор.Ссылка.Значение=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000067");
    Форма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Ложь;
    Форма.Открыть();
11 Kurbash
 
02.09.13
15:38
УПП)))
12 Kurbash
 
02.09.13
15:42
(10)не канает
13 Prilepsky
 
02.09.13
15:55
(12) 100% рабочий код.
Форма открывает без отбора или пустая?

Кстати, перечитал (0). УПП не типовая?
У тебя в "ПриОткрытие()" устанавливается отбор?
Если конфа с возможностью изменения юзай Параметры, а при открытие что-то типа
Если параметры.свойства("ИмяПараметра") тогда
Пишешь свой отбор
иначе
Тот отбор что сейчас
КонецЕсли
14 notebug
 
02.09.13
15:59
Навскидку:
    СтандартнаяОбработка = Ложь;
    
    ФормаВыбора = Справочники.СтатьиДвиженияДенежныхСредств.ПолучитьФормуВыбора();
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.Использование = Истина;
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВИерархии;
    ФормаВыбора.СправочникСписок.Отбор.Ссылка.Значение = Справочники.СтатьиДвиженияДенежныхСредств.ПолучитьФормуВыбора().ОткрытьМодально();
    ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
    Элемент.Значение = ФормаВыбора.ОткрытьМодально();
15 notebug
 
02.09.13
16:00
+(14)
Вместо:
Справочники.СтатьиДвиженияДенежныхСредств.ПолучитьФормуВыбора().ОткрытьМодально()
вставь свое:
Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000067");
16 Kurbash
 
02.09.13
16:10
ок, спс всем
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший