Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3 курс (заочка) / Методические пособия / Пособие для ответов на контрольные вопросы

.pdf
Скачиваний:
187
Добавлен:
15.02.2021
Размер:
46.69 Mб
Скачать

Занятие 27 831

Рис. 27.13. Список номенклатуры с заданным оформлением

Рассмотрим также свойства пользовательских настроек списка, которые аналогичны для всех настроек динамического списка –

Отбор, Порядок, Группировка и УсловноеОформление. Настройки динамических списков в платформе очень похожи на настройки отчетов, построенных с помощью системы компоновки данных.

В режиме «Конфигуратор»

По умолчанию в окне настроек (внизу на каждой из закладок: Отбор,

Порядок, Группировка, УсловноеОформление) динамического списка в конфигураторе установлен флажок Включать в пользовательские настройки, а также свойство Режим редактирования установлено свойство Обычный (см. рис. 27.11).

Это значит, что пользователь может изменить заданное оформление списка, выполнив команду Еще Настроить список… При этом откроется окно настройки динамического списка, аналогичное окну пользовательских настроек отчетов, где он может задать свое условное оформление списка и/или другие настройки (см. рис. 27.15).

832 1С:Предприятие 8.3. Практическое пособие разработчика

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

Быстрый доступ (рис. 27.14).

Рис. 27.14. Свойства настроек условного оформления

В режиме «1С:Предприятие»

При открытии списка в режиме 1С:Предприятие мы увидим следующий результат (рис. 27.15).

Мы видим, что настройка условного оформления доступна пользователю в самой форме списка, сразу над списком номенклатуры. Кроме того, он может вызвать окно пользовательских настроек по команде Еще Настроить список… и редактировать там условное оформление и другие настройки списка.

А также (как и в отчетах) пользователь может изменить состав настроек (Еще Изменить состав настроек…) согласно своим предпочтениям. То есть перенести какие-то настройки из списка быстрых настроек в обычные и наоборот.

Свойства Включать в пользовательские настройки, Представление

и Режим редактирования могут относиться как в целом к настройкам отбора, порядка, группировки и условного оформления динамического списка, так и к отдельным элементам этих настроек. Например, одна настройка отбора может быть включена в пользовательские настройки, а другая – нет. Свойства отдельных элементов настроек, если они заданы, имеют больший приоритет. Они задаются

Занятие 27 833

по команде Свойства элемента пользовательских настроек нажатием соответствующей кнопки над списком настроек.

Рис. 27.15. Пользовательские настройки списка номенклатуры

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

Но выполняется это уже с помощью условного оформления самой формы. То есть в дереве элементов формы нужно выделить корневой элемент и в палитре свойств открыть ссылку УсловноеОформление.

Если требуется выделить по некоторому условию полностью всю строку табличной части, то в список Оформляемые поля нужно добавить саму таблицу формы, содержащую табличную часть (например, Материалы), иначе нужно указать те поля таблицы, которые должны быть оформлены.

834 1С:Предприятие 8.3. Практическое пособие разработчика

Вычисляемые колонки в списках

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

Мы рассмотрим эту ситуацию на примере отображения актуальной цены в списке справочника Номенклатура.

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

В режиме «Конфигуратор»

Откроем в конфигураторе форму списка справочника Номенклатура и  вызовем палитру свойств основного реквизита формы Список.

До сих пор в свойствах динамического списка была указана Основная таблица – Справочник.Номенклатура (см. рис. 27.10), и список форми-

ровался путем запроса к этой таблице.

Теперь нам нужна еще связанная информация из таблицы регистра сведений Цены.СрезПоследних.

Поэтому установим флажок ПроизвольныйЗапрос и в строке Настройка

списка нажмем Открыть

(рис. 27.16).

Рис. 27.16. Вызов настройки динамического списка

Занятие 27 835

Откроется окно настройки динамического списка. На закладке Запрос мы видим запрос, в котором выбираются все поля из таблицы

Справочник.Номенклатура.

Изменим его. Для этого нажмем кнопку Конструктор запроса

(рис. 27.17).

Рис. 27.17. Создание произвольного запроса для динамического списка

Добавим в список таблиц Цены.СрезПоследних и выберем из нее поле

Цена (рис. 27.18).

Рис. 27.18. Добавление второй таблицы

На закладке Связи отредактируем связь между таблицами, созданную по умолчанию.

836 1С:Предприятие 8.3. Практическое пособие разработчика

Установим флажок Все у таблицы Справочник.Номенклатура и снимем его у таблицы Цены.СрезПоследних (рис. 27.19).

Рис. 27.19. Установка связи между таблицами

Тем самым мы задаем, что в списке номенклатуры будут отражены все позиции, даже те, по которым не установлены цены.

Похожие действия мы уже выполняли на занятии № 13 «Отчеты» для отчета «Перечень услуг» на стр. 390.

Создание запроса закончено, нажмем ОК. Текст запроса нам уже знаком и понятен, поэтому не будем на нем останавливаться.

Теперь колонка Цена, содержащая актуальную цену, будет отображаться в списке номенклатуры, когда мы поместим ее в форму списка.

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

Для этого перейдем на закладку Условное оформление. Там мы видим созданное нами ранее условное оформление для строк списка. Нажмем кнопку Добавить в командной панели окна.

Сначала укажем Оформление для выделения полей. Нажмем кнопку выбора в поле Оформление и установим синий цвет текста.

Затем укажем условие, при наступлении которого будет применяться оформление, то есть когда текст в колонке Цена будет синим.

Нажмем кнопку выбора в поле Условие и в появившемся окне добавим Новый элемент отбора (рис. 27.20). Для этого нажмем кнопку

Добавить и укажем в графе Левое значение – поле Цена, в графе Вид сравнения Меньше, а в графе Правое значение выберем 500.

Затем укажем список оформляемых полей. Нажмем кнопку выбора в  поле Оформляемые поля, затем нажмем Добавить и выберем поле Цена (рис. 27.20).

Занятие 27 837

Рис. 27.20. Настройка условного оформления динамического списка

Нажмем ОК. Теперь нам осталось только перетащить поле Цена из окна реквизитов в окно элементов формы (рис. 27.21).

Рис. 27.21. Добавление колонки в форму списка

Теперь зададим отдельно свойства для каждого созданного нами элемента настроек условного оформления.

Для этого выделим каждую настройку и нажмем кнопку Свойства элемента пользовательских настроек над списком настроек. У обеих

838 1С:Предприятие 8.3. Практическое пособие разработчика

настроек установим флажок Включать в пользовательские настройки.

Зададим представление первой настройки как Услуги, второй – Низкая цена, а свойство Режим редактирования оставим без изменения в значении Быстрый доступ. Аналогичное свойство для настроек условного оформления в целом (внизу окна) вернем к значению

Обычный (рис. 27.22).

Рис. 27.22. Свойства настроек условного оформления

В режиме «1С:Предприятие»

Запустим «1С:Предприятие» в режиме отладки и откроем список номенклатуры. Мы видим, что вместе с номенклатурой выводится ее актуальная цена, причем цены на номенклатуру меньше 500 выделены синим цветом текста. А также строки номенклатуры, являющейся услугами, выделены сиреневым цветом фона. Обе настройки условного оформления расположены прямо над списком номенклатуры, они имеют понятное название, их можно включить или выключить (предварительно нужно удалить общую настройку оформления строк списка цветом фона, если она осталась в пользовательских настройках), рис. 27.23.

В заключение обратим внимание на свойство динамического списка

Автоматическое сохранение пользовательских настроек (см. рис. 27.16).

Стандартно оно включено.

Занятие 27 839

Рис. 27.23. Список номенклатуры с заданным оформлением

Поэтому при закрытии формы все настройки списков автоматически сохраняются в системном хранилище и загружаются при открытии формы этим же пользователем. Кроме того, пользователь может сохранять настройки списков и вручную, задавая им понятные имена

(Еще Сохранить настройки…, Еще Загрузить настройки…). В резуль-

тате для одного и того же списка можно хранить несколько вариантов его настройки.

Можно снова вернуться к настройкам списка, заданным разработчиком в конфигураторе, выполнив команду Еще Восстановить стан-

дартные настройки.

Список выбора для поля ввода

Одним из полезных и удобных механизмов поля ввода является использование списка выбора для этих полей.

Поля ввода, имеющие ссылочный тип, например, Склад, Сотрудник, по умолчанию имеют кнопку выбора. При нажатии этой кнопки открывается форма выбора объекта, на которую ссылается данное поле.

840 1С:Предприятие 8.3. Практическое пособие разработчика

Но для полей других типов тоже бывает нужно выполнять выбор из  нескольких предопределенных значений.

Рассмотрим совсем простой пример, когда пользователю нужно ввести адреса клиентов, начинающиеся с названия города.

В режиме «Конфигуратор»

Сначала нужно добавить поле Адрес в форму элемента справочника

Клиенты.

Для этого откроем в конфигураторе окно редактирования объекта конфигурации Справочник Клиенты и на закладке Данные добавим реквизит Адрес с типом Строка, длиной 25. Затем откроем форму элемента справочника Клиенты. Раскроем основной реквизит формы Объект и перетащим поле Адрес из окна реквизитов в окно элементов формы.

В открывшейся палитре свойств этого поля установим свойство РежимВыбораИзСписка. Затем нажмем кнопку выбора в строке СписокВыбора и, нажимая кнопку Добавить, создадим значения,

например: Москва, Королев, Монино (рис. 27.24).

Рис. 27.24. Создание списка выбора для поля ввода