Не отображать записи, помеченные на удаление. 1С V77

  • Автор темы AlexeyVol
  • Дата начала
A

AlexeyVol

#1
Возникла необходимость не отображать помеченные на удаление записи в различных местах. Например в справочниках. Причем хотелось бы дать возможность пользователю менять режим показа/сокрытия таких записей. Возможно ли сделать это "стандартными" средствами или необходимо использовать внешние компоненты.(тогда какие и как)? В "восьмерке" подобная возможность насколько я понял, существует.
 
I

itsmith

#2
Можно в форме списка справочника повесить кнопку с функцией:

Выбираем не помеченные на удаление элементы в СписокЭлементов, затем

ИспользоватьСписокЭлементов(СписокЭлементов)

При таком режиме не удобно использовать "Иерархический список"
Кривенько работает поиск по Коду/Наименованию в колонке списка (надо на верх списка каждый раз возвращаться)


про восьмерку - чё-то не слышал, что бы там прятались удалённые
 
A

AlexeyVol

#3
Можно в форме списка справочника повесить кнопку с функцией:

Выбираем не помеченные на удаление элементы в СписокЭлементов, затем

ИспользоватьСписокЭлементов(СписокЭлементов)

При таком режиме не удобно использовать "Иерархический список"
Кривенько работает поиск по Коду/Наименованию в колонке списка (надо на верх списка каждый раз возвращаться)


про восьмерку - чё-то не слышал, что бы там прятались удалённые
БОЛЬШОК ВАМ СПАСИБО!
Именно так я и сделал. Если кому понадобиться, то вот пример кода в модуль формы списка справочника.

////////////////////////////////////////////////////////////////////////////////

Перем Список;

Процедура ПриОткрытии()
Список=СоздатьОбъект("СписокЗначений");
КонецПроцедуры

Процедура УстановитьФильтр()
// ВыбПризнак
Цех = СоздатьОбъект("Справочник.Цеха");
// отбираем только те элементы, которые могут отображаться в текущем списке
Цех.ИспользоватьРодителя(ИспользоватьРодителя());
Цех.ВключатьПодчиненные(0);
Цех.ВыбратьЭлементы();
Пока Цех.ПолучитьЭлемент() = 1 Цикл
// отбираем только те элементы, которые удовлетворяют заданному признаку
Если (Цех.ПометкаУдаления() = 0) Тогда
Список.ДобавитьЗначение(Цех.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
ИспользоватьСписокЭлементов(Список);
КонецПроцедуры
 

puh14

Well-known member
11.07.2008
1 412
0
#4
А как это с иерархией работает? просто не пробовал, интересно.