Что такое быстрый выбор и когда его использовать 1с
Пусть на форме документа есть реквизит типа справочникссылка определенного вида. Нужно ограничить элементы справочника, доступные для выбора. Если бы открывалась форма выбора справочника, то понятно, что нужно просто программно установить отбор по нужному мне реквизиту. А как это можно сделать, если использовать быстрый выбор (т.е. выпадающее меню, а не отдельная форма справочника)?
Список организаций все равно выпадает полный. СписокВыбора не отрабатывается.
(4,5) да я вот думал, что может быть можно без включения режима выбора из списка сделать. Но похоже, что нет. Все получилось, спасибо!
(10) это что, где искать? Не вижу такого свойства у поля ввода. СписокВыбора задействуется вроде только при включенном режиме выбора из списка.
Озадачил ты меня.
Синтаксис:
ВыбратьИзСписка(<Список значений>, <Элемент формы>, <Начальное значение>)
Параметры:
<Список значений> (обязательный)
<Элемент формы> (необязательный)
Тип: Элемент управления. Элемент формы, около которого будет открыт выпадающий список. Для некоторых элементов (табличный документ, табличное поле) выпадающий список будет показан около активной области. Если не указан, то будет выбран активный элемент формы.
<Начальное значение> (необязательный)
Тип: Число, ЭлементСпискаЗначений. Задает начальный элемент, который будет активным при открытии списка. Если параметр не указан, в списке не будет выбрано начальное значение.
Возвращаемое значение:
Тип: ЭлементСпискаЗначений. Выбранный элемент списка или Неопределено, если пользователь отказался от выбора.
Описание:
Вызывает выпадающий список для выбора значения. Набор значений для выбора задается списком значений. Выпадающий список будет расположен около переданного элемента формы или около его активной области.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Если в списке значений указаны картинки, то они отображаются в выпадающем списке.
Пример:
Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.
Для чего используется объект конфигурации "Подсистема"?
Подсистема - основной элемент для построения интерфейса 1С:Предприятие. Подсистемы выделяют в конфигурации функциональные части, на которые логически разбивается прикладное решение.
Как описать логическую структуру при помощи Подсистем?
При помощи разделения на функциональные части, представляющие собой отдельные предметные области.
Как управлять порядком вывода и отображения подсистем в конфигурации?
Правый клик мыши по конфигурации, выбираем команду "Открыть командный интерфейс конфигурации", поменять позиции можно с помощью стрелочек.
Управление порядком вывода подсистем. |
Что такое окно редактирования объекта конфигурации и в чем его отличие от панели свойств?
Окно редактирования - в основном используется для создания новых объектов.
Палитра свойств - не привязано к конкретному объекту конфигурации.
Для чего предназначен объект конфигурации Справочник?
Справочник предназначен для работы со списками данных, описания их свойств и структуры.
Какие характерные особенности объекта конфигурации Справочник?
Справочник состоит из элементов; Каждый элемент представляет собой отдельную запись в таблице, хранящей информацию из этого справочника;
Элемент также может содержать дополнительную информацию, которая подробнее описывает этот элемент - одинаковый для всех элементов справочника - реквизит; Реквизит также является объектом конфигурации;
Для чего используются реквизиты и табличные части справочника?
Реквизиты используются для описания дополнительной информации, описывающей элемент справочника;
Табличная часть используется для описания информации элемента справочника, одинаковой по структуре, но различной по количеству.
Зачем нужны иерархические справочники и что такое Родитель?
Иерархические справочники нужны для группировки элементов справочника по какому-либо признаку или принципы. Различаются несколько типов иерархий: иерархия групп и элементов - элемент справочника, представляющий группу - родитель для всех элементов и групп, входящих в эту группу;
Иерархия элементов - родителем является не группой элементов справочника, а непосредственно сам элемент.
Зачем нужны подчиненные справочники и что такое Владелец?
Элементы одного справочника могут быть подчинены элементам другого справочника, и в таком случае устанавливается связь один-ко-многим. Так же может быть использована связь один-к-одному, когда каждый элемент подчиненного справочника связан с одним из элементов справочника-владельца.
Какие основные формы существуют у справочника?
Форма элемента - для редактирования или создания элемента справочника;
Форма группы - для редактирования или создания группы справочника;
Форма списка - для отображения списка элементов в справочнике;
Форма выбора группы - для выбора одной из группы справочника;
Что такое предопределенные элементы справочника?
Элементы справочника, создающиеся в конфигураторе, данные элементы пользователь удалить не может; Служат для хранения информации всегда, независимо от действий пользователя;
Чем с точки зрения конфигурации отличается обычный элемент от предопределенного?
На предопределенные элементы могут быть завязаны алгоритмы работы конфигурации, следовательно, система добавляет эти элементы в структуру базы данных сама, без участия пользователя.
Как пользователь может отличить обычный элемент от предопределенного?
С помощью пиктограммы
Я сам новичок в 1С и знаю, как трудно поначалу разобраться в море незнакомой информации и быстро найти нужную для решения какой-либо срочной задачи. Поэтому эту статейку пишу и для себя тоже.
Иногда пользователю нужно быстро отобрать нужные строки в списке по нескольким не точным критериям.
В списках отбор может быть установлен вручную пользователем стандартным способом через контекстное меню списка «Установить отбор и сортировку списка»
Но если отборы часто используемые, то мы можем вынести поля для ввода критериев на форму и устанавливать отборы программно.
1) Рассмотрим установку такого отбора на примере списка справочника Номенклатура.
Открываем в конфигураторе форму списка справочника Номенклатура.
Уменьшим высоту табличного поля «Список».
На освободившееся место над табличным полем разместим 5 элементов:
со следующими именами:
2) фНомер – Булево
3) отбНомер – Строка(20)
4) фНаименование – Булево
5) отбНаименование – Строка(150)
Результат будет выглядеть примерно так:
Сверим список реквизитов формы на закладке «Реквизиты», наши новые обведены красным:
Теперь пишем в модуле формы обработчики событий «При изменении» для флажков и полей ввода.
Для назначения обработчика события элементу формы выбираем мышкой нужный элемент, идем в панель «Свойства» , ищем в разделе «События» событие «ПриИзменении» и щелкаем мышкой по лупе:
И в созданную заготовку процедуры вписываем нужный код:
Вот код этих четырех обработчиков:
// при изменении флажка фНомер
Процедура фНомерПриИзменении ( Элемент )
// если не заполнен Номер для отбора не будем понапрасну дергать Отбор
Если ЗначениеЗаполнено ( отбНомер ) Тогда
УстановитьОтборыФормы ();
КонецЕсли;
КонецПроцедуры
// при изменении поля ввода отбНомер
Процедура отбНомерПриИзменении ( Элемент )
// если не установлен флажок не будем понапрасну дергать Отбор
Если фНомер Тогда
УстановитьОтборыФормы ();
КонецЕсли;
КонецПроцедуры
Процедура фНаименованиеПриИзменении ( Элемент )
// если не заполнено Наименование для отбора не будем понапрасну дергать Отбор
Если ЗначениеЗаполнено ( отбНаименование ) Тогда
УстановитьОтборыФормы ();
КонецЕсли;
КонецПроцедуры
Процедура отбНаименованиеПриИзменении ( Элемент )
// если не установлен флажок не будем понапрасну дергать Отбор
Если фНаименование Тогда
УстановитьОтборыФормы ();
КонецЕсли;
КонецПроцедуры
На двух наших полях ввода включим свойство «КнопкаОчистки».
При очистке поля ввода мы будем сбрасывать соответсвующий флажок и перечитывать отбор:
// при очистке поля ввода отбНомер
Процедура отбНомерОчистка ( Элемент , СтандартнаяОбработка )
фНомер = Ложь;
УстановитьОтборыФормы ();
КонецПроцедуры
// при очистке поля ввода отбНаименование
Процедура отбНаименованиеОчистка ( Элемент , СтандартнаяОбработка )
фНаименование = Ложь;
УстановитьОтборыФормы ();
КонецПроцедуры
Теперь пишем процедуру установки отбора:
Процедура УстановитьОтборыФормы ()
// запомним состояние иерархии
мИерархическийПросмотр = ЭлементыФормы.Список.ИерархическийПросмотр;
Если ( фНомер И НЕ ПустаяСтрока ( отбНомер ))
или ( фНаименование И ЗначениеЗаполнено ( отбНаименование ))
Тогда
// сбросим иерархию
Если ЭлементыФормы . Список . ИерархическийПросмотр Тогда
ЭлементыФормы . Список . ИерархическийПросмотр = Ложь;
КонецЕсли;
// получаем запросом список с установленными критериями отбора
сз = ВернутьСписок ();
// устанавливаем отбор на ссылки, входящие в возвращенный список ссылок
ЭтаФорма . Отбор . Ссылка . ВидСравнения = ВидСравнения . ВСписке ;
ЭтаФорма . Отбор . Ссылка . Значение = сз ;
ЭтаФорма . Отбор . Ссылка . Использование = Истина;
// сбросим отбор
ЭтаФорма . Отбор . Ссылка . Использование = Ложь;
// вернем иерархию взад
Если НЕ мИерархическийПросмотр Тогда
ЭлементыФормы.Список.ИерархическийПросмотр = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
А теперь пишем функцию, выбирающую запросом ссылки по введенным пользователем критериям и возвращающую как результат список отобранных ссылок:
Функция ВернутьСписок ()
Запрос = Новый Запрос ;
// устанавливаем параметры запроса введенными критериями
Запрос . УстановитьПараметр ( "фНомер" , фНомер );
Запрос . УстановитьПараметр ( "фНаименование" , фНаименование );
Запрос . УстановитьПараметр ( "пНомер" , "%" + СокрЛП ( отбНомер ) + "%" );
Запрос . УстановитьПараметр ( "пНаименование" , "%" + СокрЛП ( отбНаименование ) + "%" );
// нам нужна только ссылка для построения списка значений
Запрос . Текст = "ВЫБРАТЬ
| Ссылка
|ИЗ
| Справочник.Номенклатура
|
|ГДЕ
| // 1-ое условие
| (&фНомер = Ложь
| или (&фНомер и НоменклатурныйНомер ПОДОБНО &пНомер)
| )
| // соединим условия союзом И
| И
|
| // 2-ое условие
| (&фНаименование = Ложь
| или (&фНаименование и Наименование ПОДОБНО &пНаименование)
| )
|" ;
Результат = Запрос . Выполнить ();
// создаем новый список значений и выгружаем в него колонку «Ссылка» из результата запроса
сз = Новый СписокЗначений ;
сз . ЗагрузитьЗначения ( Результат . Выгрузить (). ВыгрузитьКолонку ( "Ссылка" ));
// возвращаем результат - полученный список зачений
Возврат сз ;
Вот результат отбора по двум критериям:
Взглянем на форму отборов опять для сравнения и видим на ней установленный наш отбор по ссылке:
2) Рассмотрим более сложный пример со справочником «Основные средства».
Размещаем над списком 7 элементов:
Где 1 – это просто метка, а остальные реквизиты имеют следующие типы:
Добавим в модуль списка новую процедуру ЭлементОтбораПриИзменении и впишем в нее следующий код:
Процедура ЭлементОтбораПриИзменении ( Элемент )
УстановитьОтборыФормы ();
КонецПроцедуры
Всем новым элементам (кроме метки, хе-хе) назначаем этот обработчик, чтобы не плодить их тучу однотипных:
Пишем процедуру установки снятия отбора:
мИерархияВкл = ЭлементыФормы . СправочникСписок . ИерархическийПросмотр ;
Если ( флПоИнвНомеру и НЕ ПустаяСтрока ( отбИнвНомер ))
или ( флПоПодразделению и ЗначениеЗаполнено ( отбПодразделение ))
или ( флПоМОЛ и ЗначениеЗаполнено ( отбМОЛ ))Тогда
Если мИерархияВкл Тогда
ЭлементыФормы . СправочникСписок . ИерархическийПросмотр = Ложь;
КонецЕсли;
ЭтаФорма . Отбор . Ссылка . ВидСравнения = ВидСравнения . ВСписке ;
ЭтаФорма . Отбор . Ссылка . Значение = СписокОС ;
ЭтаФорма . Отбор . Ссылка . Использование = Истина;
Иначе
Если ЭтаФорма . Отбор . Ссылка . Использование Тогда
ЭтаФорма . Отбор . Ссылка . Использование = Ложь;
ЭлементыФормы . СправочникСписок . ИерархическийПросмотр = мИерархияВкл ;
КонецЕсли;
КонецЕсли;
И пишем еще одну процедурку получения списка ссылок запросом.
Здесь мы будем получать последние сведения по ОС из регистров сведений:
- Инвентарный Номер из РС ПервоначальныеСведения
- Подразделение и МОЛ из РС МестонахождениеОС.
Запрос = Новый Запрос ;
Если флПоИнвНомеру и НЕ ( флПоПодразделению или флПоМОЛ ) Тогда
// отбор только по инв. номерам только
Запрос . Текст = "ВЫБРАТЬ
| ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство
|ИЗ
| РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(
| &пДата,
| ИнвентарныйНомер ПОДОБНО &пИнвНомер)
|КАК ПервоначальныеСведенияОССрезПоследних" ;
Если флПоПодразделению И ЗначениеЗаполнено ( отбПодразделение ) Тогда
аргУсловие = "МестонахождениеОССрезПоследних.Местонахождение = &пПодразделение"
КонецЕсли;
Если флПоМОЛ И ЗначениеЗаполнено ( отбМОЛ ) Тогда
стрМОЛ = "МестонахождениеОССрезПоследних.МОЛ = &пМОЛ" ;
аргУсловие = ?( ПустаяСтрока ( аргУсловие ), стрМОЛ , аргУсловие + " И " + стрМОЛ );
КонецЕсли;
Если НЕ флПоИнвНомеру Тогда
Запрос . Текст = "ВЫБРАТЬ
| МестонахождениеОССрезПоследних.ОсновноеСредство
|ИЗ
| РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&пДата, )
|КАК МестонахождениеОССрезПоследних
|ГДЕ " + аргУсловие ;
Запрос . Текст = "ВЫБРАТЬ
| ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство
|ИЗ
| РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(
| &пДата,
| ИнвентарныйНомер ПОДОБНО &пИнвНомер)
| КАК ПервоначальныеСведенияОССрезПоследних
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&пДата, )
| КАК МестонахождениеОССрезПоследних
| ПО ПервоначальныеСведенияОССрезПоследних.ОсновноеСредство = МестонахождениеОССрезПоследних.ОсновноеСредство
|ГДЕ " + аргУсловие ;
КонецЕсли;
Запрос . УстановитьПараметр ( "пИнвНомер" , "%" + СокрЛП ( отбИнвНомер ) + "%" );
Запрос . УстановитьПараметр ( "пДата" , ТекущаяДата ());
Запрос . УстановитьПараметр ( "пПодразделение" , отбПодразделение );
Запрос . УстановитьПараметр ( "пМОЛ" , отбМОЛ );
Результат = Запрос . Выполнить ();
сз = Новый СписокЗначений ;
сз . ЗагрузитьЗначения ( Результат . Выгрузить (). ВыгрузитьКолонку ( "ОсновноеСредство" ));
Теперь добавляем в список две новых колонки МОЛ и Местонахождение без привязки к данным
Установим их свойства «Видимость» в Ложь, чтобы они не светились в списке сразу. Их заполение мы будем обрабатывать в событии ПриПолученииДанных (см. ниже)
В свойстве ЭлементУправления обоим назначаем «Поле ввода»
В обработчик ПриПолученииДанных добавляем код для отображения значений наших добавленных колонок:
Процедура СправочникСписокПриПолученииДанных ( Элемент , ОформленияСтрок )
…
// создаем структуру для получения сведений из регистра
СтруктураОтбора = Новый Структура ;
СтруктураОтбора . Вставить ( "Организация" , Организация );
СтруктураОтбора . Вставить ( "ОсновноеСредство" , ДанныеСтроки . Ссылка );
// будем запрашивать и выводить данные только при видимости наших колонок
Если ОформлениеСтроки . Ячейки . МОЛ . Видимость
или ОформлениеСтроки . Ячейки . Местонахождение . Видимость Тогда
РегистрыСведений . МестонахождениеОСБухгалтерскийУчет . ПолучитьПоследнее (
ОформлениеСтроки . Ячейки . МОЛ . Значение = МестонахождениеОС . МОЛ ;
ОформлениеСтроки . Ячейки . Местонахождение . Значение =
МестонахождениеОС . Подразделение ;
КонецЕсли;
Открываем список ОС, устанавливаем видимость наших новых колонок МОЛ и Местонахождение, вводим критерии отбора и вуаля:
P . S .
Недостаток рассмотренного подхода в том, что если ранее был каким-либо образом установлен отбор по ссылке, то он будет затерт нашим.
Отбор объектов в Избранное
Самый простой способ поместить объект в Избранное – это нажать мышкой на звездочку рядом с его наименованием в форме объекта или с помощью сочетания клавиш Ctrl + D.
Настройка Панели избранного
Панель избранного – форма, где показываются объекты, специально отобранные пользователем. Она выполнена по аналогии с избранными ссылками веб-браузера. Здесь сохраняются навигационные ссылки, которые бухгалтер пометил для быстрого доступа.
Рассмотрим пример настройки Панели избранного для расчетчика зарплаты.
В быстром доступе находятся все необходимые данные: по физическим лицам, сотрудникам, начислениям и выплатам зарплаты, отчеты по контролю зарплаты и уплаты налогов (взносов) и Универсальный отчет для более глубокой проверки данных по зарплатным регистрам.
В форме Панели избранного могут быть выполнены действия:
- открытие избранных;
- упорядочивание избранных;
- изменение названия избранных;
- установка важности избранных;
- удаление из избранных.
Открытие Избранных
По ссылке в Панели избранного открывается форма Избранного : отчета, обработки, справочника, журнала или документа.
Для этого достаточно щелкнуть мышью на избранную ссылку.
Упорядочивание Избранных
Избранные объекты можно расположить в удобном для работы порядке. Например, сначала списка справочники, потом начисления, выплаты и т.д. Расположенные по порядку объекты помогают бухгалтеру идти последовательно по тем действиям, что еще не выполнены.
Для упорядочивания списка Избранных по строке избранного в контекстном меню следует выбрать команды Переместить вниз или Переместить вверх . Или использовать комбинацию клавиш CTRL+SHIFT+UP (вверх) или CTRL+SHIFT+DOWN (вниз).
Контекстное меню вызывается правой кнопкой мышки по выбранной ссылке на Панели избранного .
Для изменения порядка расположения Избранных можно также перетаскивать объекты выше или ниже с помощью мыши.
Изменение названия Избранных
Для изменения наименования нужно просто ввести новое название.
Изменим наименование отчета Оборотно-сальдовая ведомость по счету в списке избранных на название ОСВ по счету 70.
Установка важности Избранных
Избранные с установленным признаком важности показываются в верхней части списка избранного и выделяются жирным шрифтом.
Удаление из Избранных
Удалим из списка избранных Банковские выписки .
Поиск в Избранном
Для быстрого поиска нужного объекта в большом списке избранных удобно использовать команду Поиск в правом верхнем углу Панели Избранных или комбинацию клавиш CTRL + F.
В поле поиска начните ввод названия искомого объекта. Программа выполнит отбор по заданному названию. В списке избранного отобразятся только те элементы, в представлении которых содержится введенная строка. Найденные подстроки подсвечиваются.
Для завершения поиска и возврата к полному списку Избранного следует очистить строку поиска.
Ответы на вопросы
Предлагаем ответы на блиц-вопросы, чтобы закрепить и дополнить данный материал.
Вызвать список Избранных можно из любого места программы или существуют какие-то ограничения?
Ограничений нет. Где бы вы ни находились в 1С, вам всегда будет доступна Панель избранного .
Я правильно понимаю, что если я настраиваю список Избранного , то мой список автоматически виден всем остальным пользователям, работающим в 1С?
Нет. Каждый пользователь настраивает СВОЙ список Избранного , который виден только ему. В этом и состоит удобство этого инструмента!
Может ли другой пользователь изменить мои настройки Избранного ?
Только в том случае, если он зайдет в 1С под вашим логином.
Кто может работать со списком Избранного ?
ВСЕ пользователи 1С. Даже те, у кого установлены права Только просмотр.
Можно ли скопировать список Избранного от одного пользователя другому?
Можно. Это делается через форму копирование настроек: раздел Администрирование – Настройки программы – Настройки пользователей и прав – Копирование настроек .
Для копирования настроек Избранного необходимо в Отдельных настройках перейти на вкладку Прочие настройки и установить флажок Избранное .
А печатные формы можно поместить в Панель избранного ?
Нет. Для печатных форм и для сформированных отчетов не поддерживается получение ссылок, и они не могут быть помещены в Избранное . Сохраняйте их в файл на диске и прикрепляйте к документам и справочникам.
Можно. Вам в помощь Редактор панелей : кнопка Главное меню – Вид – Настройка панелей .
Избранное входит в команды Панели Инструментов , с которой работает Редактор панелей :
Расположим панель инструментов с командой Избранное слева, а панель разделов сверху, используя редактор панелей.
Откройте Редактор панелей : кнопка Главное меню – Вид – Настройка панелей . Стандартный вид расположения панелей в 1С.
Перетащите мышкой Панель разделов и Панель инструментов , как показано на рисунке.
Результат выполненной настройки.
Вы всегда можете сами настраивать внешний вид программы.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
(7 оценок, среднее: 4,71 из 5)
Читайте также: