Консультация № 108563
08.11.2007, 14:15
0.00 руб.
0 3 3
Добрый день уважаемые эксперты! Вновь прошу Вашей помощи....
Надо сделать такую вещь - Есть справочник ну скажим "базовый", в этом справочнике есть числовой реквизит "Архив" у некоторых элементов он =0 у некоторых =1. Надо сделать так чтобы была возможность скрывать те элементы у которых реквизит "Архив" =1. Т.е должна быть галочка - если она стоит, то непоказывать эти элементы, если не стоит показывать все. Есть еще один важный момент. Элементы этого справочника используются в других справочниках, отчетах и тд. Надо сделать так, чтобы Те элементы у которых реквизит "Архив" =1 НЕГДЕ НЕ ОТОБРАЖАЛИСЬ не зависимо от того стоит в справочнике "Базовый" галочка или не стоит. Т.е проще говоря нужно сделать так, чтобы элементы с реквизитом "Архив" =1 Можно было видеть только в справочнике "Базовый" и только при стоящей галочке.
Зарание прошу прощения если, что много написал, просто хотел как можно подробнее описать проблемму. Если будут вопросы с удовольствием отвечу на них в минифоруме. Зарание благодарю, с Уважением Сергей.


Приложение:
1с 7,7

Обсуждение

Неизвестный
08.11.2007, 14:33
общий
это ответ
Здравствуйте, Serega_artem!

1. Нужно сделать отдельную форму списка справочника "Базовый" и назначить ее <b>формой для выбора</b> (в Конфигураторе правой кнопкой на справочнике - Формы списка - Редактировать, далее соответствующай кнопка).

2. Далее есть два варианта решения.
а) при открытии этой формы списка справочника автоматически делать отбор по реквизиту Архив и значению 0 (метод <b>УстановитьОтбор()</b>, см. Синтакс-Помощник)
б) при открытии этой формы списка справочника формировать СписокЗначений с элементами, у которых реквизит Архив=0 и применить метод <b>ИспользоватьСписокЭлементов()</b> (см. Синтакс-Помощник)

В результате при открытии справочника в обычном режиме будут видны все элементы (если это не нужно, то в обычной форме списка нужно поставить тот же автоматический отбор, но по-моему лучше его включать опционально, например сделать специальную кнопку или пользоваться встроенной интерактивной функцией отбора по реквизиту), а при выборе элемента справочника в качестве реквизита будут видны только те элементы, которые Вам нужны. Т.е. как и заказывали :)
Неизвестный
09.11.2007, 05:06
общий
это ответ
<font color=blue><b>!!!</b></font>
Здравствуйте, Serega_artem!

что касается справочника "базовый" на форме списка нада галочку сделать, и на ее изменение настроить функцию, которая будет устанавливать отбор по реквизиту архив.

что касается других справочников, так наверно не получится, так это по сути другой объект, можно конечно использовать метод ИспользоватьСписокЭлементов() и при открытии списка "другого" справочника в котором есть ссылки на элементы "Базового", сделать к нему запрос с условием "Архив = 0" и вышеуказанный метод передать полученный из запроса список элементов.<p><fieldset style=‘background-color:#EFEFEF; width:80%; border:blue 1px solid; padding:10px;‘ class=fieldset><font color=blue><i>Пустой ответ, никакой новой информации. И предположение про "не получится" лишено оснований.</i>
-----
</font><font color=#777777 size=1><b>• Отредактировал: <a href=/info/user/10794 target=_blank>Сергей Максименко [Elric]</a></b> (Профессионал)
<b>• Дата редактирования:</b> 13.11.2007, 20:20</font></fieldset>
Неизвестный
11.11.2007, 11:45
общий
это ответ
Здравствуйте, Serega_artem! Для реквизита "Архив" в конфигураторе установите на закладке "Дополнительные" флаг"Отбор по реквизиту". Чтобы "НЕГДЕ НЕ ОТОБРАЖАЛИСЬ" лучше во все кроме одной формы справочника в процедуру "ПриОткрытии" добавте оператор УстановитьОтбор("Архив",0) тогда при открытии справочника те элементы у которых Архив = 1 отображаться не будут. Для какой либо одной формы выполнять или нет этот опрератор (т.е. отображать элементы с Архив=1 или нет) можно с помощью галочки (ее идентификатор например "Видеть")как вы написали и к ней привяжите процедуру например
Процедура ВидимостьАрхивных(Видеть)
Если Видеть = 0 огда
УстановитьОтбор("Архив",0);
Иначе
УстановитьОтбор("");
КонецЕсли;
КонецПроцедуры
Форма ответа