Имя: Пароль:
1C
1С v8
Реквизит на форме. Отбор.
,
0 ЗлаяЗая
 
16.01.20
10:09
На форме есть реквизит типа Справочник.
Можно сделать, чтобы были видны строки справочника не помеченные на удаление?
Или нужно формировать список, отбирать туда только "живые" и показывать его?
1 SergTheGreat
 
16.01.20
10:23
Можно.
Если УФ, то указываешь ограничение в свойстве элемента формы "Параметры выбора". Если обычный, то в обработчике "НачалоВыбора" передаешь свое ограничение в форму выбора.
2 ЗлаяЗая
 
16.01.20
10:51
я в свойствах реквизита написала Отбор.ПометкаУдаления(Истина). не срабатывает.
3 aleks_default
 
16.01.20
10:56
А почему же Истина?
4 ЗлаяЗая
 
16.01.20
10:59
(3) да без разницы. выдает все элементы.
5 ЗлаяЗая
 
16.01.20
11:04
(1) вот так напсиала, все равно не получается
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
Отбор = Новый Структура;
Отбор.Вставить("ПометкаУдаления", ЛОЖЬ);
ПараметрыФормы = Новый Структура("Отбор", Отбор, );
ОткрытьФорму("Справочник.ТипыЦенНоменклатуры.ФормаВыбора", ПараметрыФормы, Элемент);
6 D_E_S_131
 
16.01.20
11:11
(5) Для начала скажите, формы у Вас ОФ или УФ?
7 ЗлаяЗая
 
16.01.20
11:13
(6) обычные
8 D_E_S_131
 
16.01.20
11:14
(7) А используете методы для УФ. :) Гуглите как установить отбор для ОФ при открытии.
9 D_E_S_131
 
16.01.20
11:18
Вот тут например в конце дамочка пришла к результату
Отбор в форме выбора справочника
10 ЗлаяЗая
 
16.01.20
11:27
ФормаВыбора=Справочники.ТипыЦенНоменклатуры.ПолучитьФормуВыбора(,Элемент);
    ФормаВыбора.РежимВыбора=Истина;
    ФормаВыбора.Отбор.ПометкаУдаления=ЛОЖЬ;
    ФормаВыбора.Открыть();
ругается, что поле объекта недоступно для записи.
11 D_E_S_131
 
16.01.20
11:30
(10) А если повнимательнее пример посмотреть и в СП почитать про работу с объектом "Отбор"?
12 D_E_S_131
 
16.01.20
11:31
...и открывать нужно Модально.
13 ЗлаяЗая
 
16.01.20
11:34
все, получилось
14 ЗлаяЗая
 
16.01.20
11:35
ФормаВыбора=Справочники.ТипыЦенНоменклатуры.ПолучитьФормуВыбора(,Элемент);
    ФормаВыбора.РежимВыбора=Истина;
    ФормаВыбора.Отбор.ПометкаУдаления.Установить(Ложь);
    ФормаВыбора.Открыть();
15 D_E_S_131
 
16.01.20
11:36
Супер! :)
16 SergTheGreat
 
16.01.20
11:38
(14) осталось получить выбранный элемент ;-)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший