Имя: Пароль:
1C
1С v8
Как убрать элементы с пометкой на удаление при открытии формы выбора групп?
0 kozhem1990
 
17.11.16
11:31
Имеется справочник Продукция, у него иерархия групп и элементов. Создаю новую продукцию, выбираю родителя, и при открытии формы выбора групп, в списке видны помеченные на удаление группы. Пробовал открывать программно, передавая параметр - не работает; пробовал через стандартные настройки "ПараметрыВыбора" реквизита Родитель - не работает. Помогите пожалуйста, кто сталкивался с такой проблемой. Код, которым вызывал форму:

&НаКлиенте
Процедура РодительНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ОтборФормы = Новый Структура;
    ОтборФормы.Вставить("ПометкаУдаления", Ложь);
    ОтборФормы.Вставить("ТекущаяСтрока", Объект.Родитель);
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Отбор", ОтборФормы);
    ПолученнаяФорма = ПолучитьФорму("Справочник.Продукция.Форма.ФормаВыбораГруппыУправляемая", ПараметрыФормы, ЭтаФорма);
    ПолученнаяФорма.Элементы.Список.РежимВыделения = РежимВыделенияТаблицы.Одиночный;
    Результат = ПолученнаяФорма.ОткрытьМодально();
    Если Результат = Неопределено Тогда
        Возврат;
    Иначе
        ЗаполнитьРодителяНаСервере(Результат);
    КонецЕсли;
КонецПроцедуры
1 kumena
 
17.11.16
11:51
ФормаВыбора.СправочникСписок.Отбор.Установить("ПометкаУдаления", Ложь);
2 kumena
 
17.11.16
11:52
а если формы управляемые, то в модуле  менеджера справочника можно отбор прописать, он на все формы сразу работать будет.
3 kumena
 
17.11.16
11:52
+2 но это вроде бы только для 8.3
4 kozhem1990
 
17.11.16
12:36
Что-то не работает ни одно из этого:

ПолученнаяФорма.СправочникСписок.Отбор.Установить("ПометкаУдаления", Ложь);

ПолученнаяФорма.Список.Отбор.Установить("ПометкаУдаления", Ложь);

ПолученнаяФорма.Элементы.Отбор.Установить("ПометкаУдаления", Ложь);

Может в самой системе так сделано, что и не обойти никак...
5 olegves
 
17.11.16
12:41
(1) при СтандартнаяОбработка=ложь это не будет работать
6 kozhem1990
 
17.11.16
12:41
Пробовал в самой форме динамический список через произвольный запрос с условием - всеравно выводит помеченные...
7 Мимохожий Однако
 
17.11.16
12:43
проще у помеченных впереди написать яяя и они будут внизу списка болтаться. Еще лет 20 назад применял на первых 1С-ках. Дёшево и сердито.
8 kozhem1990
 
17.11.16
12:43
я понимаю, но всеравно ошибка: не находит метод установить.

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

Но  всеравно спасибо большое. Странно, что на форумах нет этой темы, что помеченные группы, в любом справочнике всеравно остаются видимыми...
9 olegves
 
17.11.16
12:45
(0) убери свою процедуру и используй Связи параметров Выбора для элемента, из которого открываешь
10 Мимохожий Однако
 
17.11.16
12:46
А ты заводи новый элемент изнутри родителя...
11 kozhem1990
 
17.11.16
12:58
9 не знаю как связи делать с чем, если можно, чуть подробнее, пожалуйста. Я делал через ПараметрыВыбора - и всеравно пропускает, а при вызове процедуры ПриСозданииНаСервере в отборе пропадает ПометкаУдаления = Ложь, остается только ЭтоГруппа = Истина.

10 не понял, что значит изнутри?

Вообще скорее всего, это механизм платформы потому, что когда отображение дерево, то группы помеченные видны, а когда списком - не видны...
12 Мимохожий Однако
 
17.11.16
13:37
(11) Открываешь папку (родителя), создать новый элемент. При открытии в нём уже есть текущий родитель.
13 kozhem1990
 
17.11.16
13:49
(12) понял, но пользователи-то не такие аккуратные, могут и с нуля создавать...
14 kozhem1990
 
17.11.16
13:51
(12) всеравно, при изменении группы у уже созданной продукции нужно открывать форму выбора групп
15 kozhem1990
 
17.11.16
13:52
Ладно, я думаю можно закрывать тему, это не решаемо, либо слишком мудрено для меня) Большое спасибо всем за помощь))
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн