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

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

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

Занятие 26 811

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

Для построения цепочек связанных объектов необходимо у каждого объекта, который будет вводиться на основании, создать служебный реквизит для хранения ссылки на объект-основание. Затем следует создать объект конфигурации КритерийОтбора, который будет использоваться для установки отбора по требуемому значению служебного реквизита.

Вдальнейшемдляполучениявсехобъектов,введенныхнаосновании, достаточно будет установить нужное значение отбора в критерии отбора.

Критерий отбора

Объект конфигурации КритерийОтбора предназначен для задания правил, по которым может выполняться отбор объектов.

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

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

Получение объектов, введенных на основании

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

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

Раскроем ветвь Общие и создадим новый объект конфигурации Крите-

рийОтбора с именем ОказаниеУслуги.

На закладке Данные выберем тип используемого критерия – Справоч-

никСсылка.Клиенты.

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

На закладке Состав в качестве объектов, входящих в критерий,

выберем реквизит ОбъектОснование документа ОказаниеУслуги

(рис. 26.8).

Рис. 26.8. Состав критерия отбора «ОказаниеУслуги»

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

Создадим эту форму и на закладке Командный интерфейс установим видимость команды Оказание услуги (рис. 26.9).

Рис. 26.9. Команда открытия критерия отбора из формы элемента справочника «Клиенты»

Занятие 26 813

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

Запустим «1С:Предприятие» в режиме отладки и проверим работу критерия отбора.

В форме списка клиентов выделим клиента Роман, на основании которого мы создавали документы Оказание услуги.

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

Выполним эту команду (рис. 26.10).

Рис. 26.10. Открытие списка критерия отбора «ОказаниеУслуги» с отбором по клиенту

Мы видим в этом списке документы Оказание услуги, созданные на основании клиента Роман. К содержимому документа можно перейти, нажав соответствующую ссылку в списке документов.

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

Контрольные вопросы

;; Что такое подбор?

;; Как организовать различные виды подбора в табличную часть формы документа?

;; Как задать вопрос пользователю в команде?

;; Как задать вопрос пользователю в обработчике события формы? ;; Чем модальные окна отличаются от блокирующих окон?

;; Что такое ввод на основании?

;; Как организовать ввод одних объектов конфигурации на основании других?

;; Как с помощью критерия отбора вывести список объектов, введенных на основании текущего объекта?

Занятие 27

Приемы разработки форм

Продолжительность

 

Ориентировочная продолжительность занятия – 2 часа 10 минут.

 

Данные и элементы формы...........................................................................................

816

Типы данных формы.......................................................................................................

821

Связанные списки...........................................................................................................

825

Оформление строк в форме списка..............................................................................

828

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

834

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

839

Форма выбора для поля, содержащего ссылочный реквизит.....................................

841

Проверка заполнения реквизитов..................................................................................

847

Автоматическая проверка заполнения....................................................................

847

Программная проверка заполнения........................................................................

848

Использование параметризованных команд................................................................

851

Открытие формы списка с заданным отбором.............................................................

855

Контрольные вопросы....................................................................................................

862

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

На этом занятии мы рассмотрим несколько типичных приемов работы с формами объектов.

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

Данные и элементы формы

Важной особенностью платформы «1С:Предприятие» является механизм представления данных в формах. Ключевым моментом здесь является то, что принадлежность формы к тому или иному объекту конфигурации никоим образом не определяет состав данных, которые форма будет отображать.

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

Форма сама по себе и ее элементы обособлены от объектов конфигурации. Для того чтобы форма отображала какие-либо данные, необходимо задать связь самой формы и ее элементов с данными. Если  связь элементов формы с данными не задана, то элементы вообще не будут отображены в форме (кроме элементов оформления формы).

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

Связь элементов формы с данными, которые они должны отображать, задается в свойстве ПутьКДанным.

Связь формы и ее элементов с данными осуществляется при помощи реквизитов формы. Список существующих реквизитов формы доступен на закладке Реквизиты окна редактора формы.

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

Занятие 27 817

Рис. 27.1. Связь элементов формы с данными

Например, если основному реквизиту формы указать тип значения

ДокументОбъект.ПриходнаяНакладная, то при закрытии формы программа будет запрашивать подтверждение записи и проведения документа. Если же основному реквизиту формы указать тип значения СправочникОбъект.Клиенты, то подобного подтверждения при закрытии формы возникать не будет.

Похожее влияние источники данных оказывают и на элементы формы.

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

РегистрНакопления.ОстаткиНоменклатуры или Справочник.Номенклатура).

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

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

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

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

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

Нажмем кнопку Далее > и кроме полей Наименование и Код включим в состав таблицы Список еще одно поле – ВидНоменклатуры. И затем уже нажмем Готово (рис. 27.2).

Рис. 27.2. Форма списка справочника «Номенклатура»

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

Занятие 27 819

Сама форма отображает данные объекта ДинамическийСписок (основной реквизит формы Список

имеет тип ДинамическийСписок,

рис. 27.3).

Рис. 27.3. Основной реквизит формы списка

Поэтому к свойствам, методам и событиям объекта встроенного языка УправляемаяФорма добавляется Расширение динамического списка (рис. 27.4).

Рис. 27.4. Контекст формы дополняется контекстом расширения динамического списка

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

В результате этого у формы появляются такие параметры, как

ТекущаяСтрока, Отбор и т. п.

Теперь посмотрим на таблицу Список.

Поскольку в таблице отображается динамический список, то к  свойствам, методам и событиям объекта встроенного языка Табли-

цаФормы добавляется Расширение динамического списка (рис. 27.5).

Рис. 27.5. Контекст таблицы дополняется контекстом расширения динамического списка

В результате у таблицы Список появляются такие свойства, как

АвтоОбновление, ОтображатьКорень и т. д.

И в заключение посмотрим на поле ВидНоменклатуры.

Это поле связано с реквизитом типа ПеречислениеСсылка.ВидыНоменклатуры и является полем ввода.

Поэтому к свойствам, методам и событиям объекта встроенного языка ПолеФормы добавляется Расширение поля ввода (рис. 27.6).

В результате у поля ВидНоменклатуры появляются такие свойства, как

БыстрыйВыбор, ВыделенныйТекст и т. д.