Copyright © 2010 Promsite. All Rights Reserved.
P  R  O  M  S  I  T  E
Статьи по 1С
стр. 1
стр. 1
ИспользоватьСписокЭлементов()

        Задача тривиальная: есть форма списка справочника Товары,  надо установить элемент Флажок при включении которого  должны показываться товары которые есть в наличии, при выключении - все товары. При одноуровневом справочнике и использовании метода ИспользоватьСписокЭлементов() никаких проблем не возникает. На практике одноуровневый справочник связанный с номенклатурой не встречается, а вот здесь и возникают вопросы в буквальном и переносном смыслах.

    Метод ИспользоватьСписокЭлементов()имеет всего один параметр, который выполняет фукцию фильтра. В качестве фильтра выступает СписокЗначений. Этот список д.б. ПОДМНОЖЕСТВОМ того списка элементов который фильтруется. Как только это условие нарушается, сразу появляются значки с вопросами. Практически это можно пояснить так: например, справочник трех-уровневый и всего элементов четыре- A,B,C,D. Элементы B,C,D находятся на 3-м уровне, значит фильтрация на этом уровне м.б. или по B или по C или по D или по BC или CD или BD. Из этих соображений и надо исходить при разработке кода. Тогда решение задачи разбивается на три этапа:

1. формирование списка элементов выбранного уровня;

2. из этих элементов надо создать фильтр по условию (в примере надо получить список значений, строками которого будут элементы из п.1, но только те у которых есть остатки).

3. этот фильтр приложить к списку элементов по п.1 и этот же список элементов снова показать, но в кастрированном виде.

    Примечание: по сути мы и показываем сам фильтр, но в виде списка элементов справочника, как говорится налицо факт обмана, зато красиво.

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

Конфигурация Ref_Ise_1.zip 34kb.

    Для экспериментов конфигурацию надо доработать(а если нет желания дорабатывать ручками, то на стр. 3 можно скачать финальную конфигурацию), а именно в справочник Товары ввести реквизит Остатки - тип: Число, Длина: 3, Точность:0, периодический, неотрицательный, ручное изменение(хотя остатки хранить в справочники не есть лучший вариант, но не городить же сейчас регистр с проведением документов).

   Далее надо сделать дополнительную форму списка, назовем её ДляВыбора (откроем справочник Товары в конфигураторе - кнопка ФормыСписка-Редактировать-Новый-вводим имя ДляВыбора-делаем её основной-Закончить). Теперь снова: кнопка ФормыСписков-ДляВыбора-на закладке Размещение оставляем только галочки Наименование и Остатки.

Внизу вставляем флажок с идентификатором Наличие, заголовок - Показывать имеющиеся в наличии.

Справа от формы списка ДляВыбора вставляем визуальный элемент список значений Сз (визуально только на период отладки, это очень удобно). Ниже списка значений кнопку Фильтр (она тоже нужна будет временно для отладки), в свойствах этой кнопки в поле Формулы запишем ФормированиеФильтра(). В результате всех этих манипуляций получится примерно так:
Если ещё есть желание, то можно приступить к разработке кода.
страницы: 1   2   3
страницы: 1   2   3

Для отображения Облака ссылок
необходим
Adobe Flash Player 9
или выше.