На главную>Книги по 1С>Программисту
Подбор
Лирическое отступление о справочниках
Справочник изнутри
Свойства окна редактирования
Свойства реквизита справочника
Создание форм справочника
Непосредственное посредственное программирование

Бороться и искать найти и перепрятать
Перетряхивание справочника поэлементно
Подбор
Рождение нового социально близкого элемента
Поудаляем
Заключение


Если в документе нужно выбрать несколько элементов справочника ,не закрывая самого справочника, используется подбор.
На каком то из предыдущих уроков мы создавали отчет. Вставим туда таблицу значений. Вставить -> Таблица значений. Идентификатор Тбл. Встамим кнопку "Подбор". В свойствах этой кнопки на вкладке дополнительно в поле формула напишем Подбор().
Теперь в модуле формы пишем текст:
Процедура ПриОткрытии()
Тбл.НоваяКолонка("Машина");
КонецПроцедуры
Процедура Подбор()
ОткрытьПодбор("Справочник.Авто","Осн");
КонецПроцедуры
Процедура ОбработкаПодбора(ВыбрАвто)
Тбл.НоваяСтрока();
Тбл.Машина= ВыбрАвто;
КонецПроцедуры

Поясняю: при открытии вставляем колонку в таблицу значений. При нажатии на кнопке Подбор открывается справочник Авто. Добавление в таблицу значений проводится предопределенной (т.е. программа знает, когда нужно вызывать эту процедуру) процедурой ОбработкаПодбора().

Вынужденная справка

ОткрытьПодбор(<?>,,,,);
Синтаксис:
ОткрытьПодбор(<Объект>,<ИмяФормы>, <КонтекстФормы>,<ФлагМножВыбора>,<ТекЗнач>)
Назначение:
Открыть Форму подбора значений.
Параметры:
<Объект> - строка с именем объекта агрегатного типа для подбора. Можно указывать: ''Справочник.ХХХХХ'' или ''Документ.ХХХХХ'' или ''Журнал.ХХХХХ'' или ''Журнал.Подчиненные'' или ''ЖурналОпераций.ХХХХХ'', ''ПланСчетов.ХХХХХ'' (если ХХХХХ не задан, то открывается подбор из любого(всех) плана счетов) или ''Отчет.ХХХХХХ'' или ''Обработка.ХХХХХХ'', где ХХХХХ - имя вида соответствующего объекта, как он задан в конфигураторе.
<ИмяФормы> - строка с именем Формы подбора;
<КонтекстФормы> - необязательный параметр. Имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст формы подбора. С помощью значения этого контекста можно затем произвольно манипулировать формой подбора, пока она открыта. Пока форма открыта, тип значения данного параметра равен 100 (см. ТипЗначения), если закрыта - 0.
<ФлагМножВыбора> - число: 1 - выбор нескольких значений; 0 - выбор одного значения, после чего окно закрывается;
<ТекЗнач> - необязательный параметр. В случае выбора из списка, здесь можно передать значение, на которое следует изначально установить курсор при открытии формы подбора.
Замечание:
Доступ к методу возможен только в контексте Модуля формы.
Процедура ОбработкаПодбора(<?>,)
КонецПроцедуры
Синтаксис:
ОбработкаПодбора(<Элемент>,<КонтФормы>)
Назначение:
Предопределенная процедура обработки подбора значения при нажатия кнопки Выбрать в Форме Подбора значения.
Параметры:
<Элемент> - элемент справочника подбора или документ, передаваемый для обработки.
<КонтФормы> - контекст той формы, из которой шел подбор.
Замечание:
Данная процедура может располагаться только в программном модуле формы.