Имя: Пароль:
1C
 
Подскажи, программно не получается сделать отбор
0 msk-07
 
14.08.14
17:25
Скажите вот что пишу

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

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

И форма открывается без отбора...Плиз, подскажите где я туплю?
1 jsmith82
 
14.08.14
17:33
ЭлементыФормы чо за х
2 jsmith82
 
14.08.14
17:34
а, обычные формы
3 jsmith82
 
14.08.14
17:38
Форма=Справочники.ХЗ.ПолучитьФормуВыбора();
Форма.Отбор.Контрагент.ВидСравнения = ВидСравнения.Равно;
Форма.Отбор.Контрагент.Значение = ЭлементыФормы.Контрагент.Значение;
Форма.Отбор.Контрагент.Использование = Истина;
Форма.Открыть();
4 msk-07
 
14.08.14
17:38
Да, это обычная форма
5 jsmith82
 
14.08.14
17:47
ну чо, кентяра, мой код работает?
6 msk-07
 
14.08.14
23:23
все хорошо, отбор получился, а вот выбрать нужный документ не получается, то есть выбрать не доступно...Не пойму почему.
7 msk-07
 
14.08.14
23:35
СтандартнаяОбработка=Ложь;
Форма=Документы.РеализацияТоваровУслуг.ПолучитьФормуВыбора();
Форма.Отбор.Контрагент.ВидСравнения = ВидСравнения.Равно;
Форма.Отбор.Контрагент.Значение = ЭлементыФормы.Контрагент.Значение;
Форма.Отбор.Контрагент.Использование = Истина;
Форма.Открыть();

Вот этот код не дает выбрать нужную реализацию...Подскажите, что не так
8 Фокусник
 
14.08.14
23:38
(7)
замени

Форма=Документы.РеализацияТоваровУслуг.ПолучитьФормуВыбора();

на

Форма=Документы.РеализацияТоваровУслуг.ПолучитьФормуВыбора(, Элемент);
9 PRO100 NigGaZ
 
15.08.14
00:50
ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаСписка", Новый Структура("Контрагент",ЭлементыФормы.Контрагент.Значение));
10 PRO100 NigGaZ
 
15.08.14
00:52
Нужно добавить обработчик событий, ищи в свойствах элемента формы на котором жмакаешь кнопку выбора там есть процедура ОбработкаВыбора, вроде так называется
11 PRO100 NigGaZ
 
15.08.14
00:53
Или РезультатВыбора = ОткрытьФормуМодально(...)
12 PRO100 NigGaZ
 
15.08.14
01:01
сейчас вроде отказываются от модальности поэтому так
&НаКлиенте
Процедура ДокументыКонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = ПолучитьФорму("Справочник.Контрагенты.Форма.ФормаВыбора",,Элементы.ДокументыКонтрагент);
    ЭлементОтбора = ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Контрагент");  
    ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование  = Истина;
    ЭлементОтбора.ПравоеЗначение = ЭлементыФормы.Контрагент.Значение;
    ФормаВыбора.Открыть();
КонецПроцедуры

ГДЕ ВАЖНО Элементы.ДокументыКонтрагент - это элемент из которого ты вызываешь выбор
И важно указать событие у этого элемента вызов процедуры ОбработкаВыбора, которая имеет примерно такой вид

&НаКлиенте
Процедура ДокументыКонтрагентОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    ТвойВыбор = ВыбранноеЗначение;
КонецПроцедуры
13 SeraFim
 
15.08.14
02:42
(12) чукча не читатель, чукча писатель?
написано же, что это обычные формы
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший