
3 курс (заочка) / Методические пособия / Пособие для ответов на контрольные вопросы
.pdf
Занятие 26 811
Для решения подобной задачи мы дадим некоторые рекомендации, которые могут быть положены в основу конкретного решения.
Для построения цепочек связанных объектов необходимо у каждого объекта, который будет вводиться на основании, создать служебный реквизит для хранения ссылки на объект-основание. Затем следует создать объект конфигурации КритерийОтбора, который будет использоваться для установки отбора по требуемому значению служебного реквизита.
Вдальнейшемдляполучениявсехобъектов,введенныхнаосновании, достаточно будет установить нужное значение отбора в критерии отбора.
Критерий отбора
Объект конфигурации КритерийОтбора предназначен для задания правил, по которым может выполняться отбор объектов.
Этот объект используется в случае поиска различной информации, когда, например, требуется отобрать все документы, в которых используется (в реквизитах и в табличных частях) определенный контрагент.
При этом можно учитывать также и другие условия отбора информации (например, поиск ведется только среди проведенных документов или в определенном интервале дат).
Получение объектов, введенных на основании
Поскольку задача получения всех объектов, введенных на основании какого-либо другого объекта, чаще всего возникает при анализе документов, мы рассмотрим применение описанной выше методики на примере получения списка документов, введенных на основании элемента справочника Клиенты.
В режиме «Конфигуратор»
Раскроем ветвь Общие и создадим новый объект конфигурации Крите-
рийОтбора с именем ОказаниеУслуги.
На закладке Данные выберем тип используемого критерия – Справоч-
никСсылка.Клиенты.


Занятие 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).
Связь элементов формы с данными, которые они должны отображать, задается в свойстве ПутьКДанным.
Связь формы и ее элементов с данными осуществляется при помощи реквизитов формы. Список существующих реквизитов формы доступен на закладке Реквизиты окна редактора формы.
Среди всех реквизитов формы, как правило, существует один основной реквизит (он выделен жирным шрифтом). Он определяет источник данных для формы в целом. От типа значения основного реквизита формы зависит не только то, какие данные будут отображены в элементах формы, но и поведение самой формы.


818 1С:Предприятие 8.3. Практическое пособие разработчика
Возможность связать форму и ее элементы с различными данными является причиной того, что у формы и ее элементов существует несколько расширений.
Расширение представляет собой набор дополнительных свойств, методов и событий, появляющихся у формы или у элемента формы. Наличие того или иного расширения определяется либо типом данных, которые отображает форма/элемент, либо расположением элемента формы в других ее элементах.
Чтобы подробнее познакомиться с этим механизмом, создадим основную форму списка справочника Номенклатура. При этом в конструкторе формы мы не будем сразу нажимать кнопку Готово, как делали раньше.
Нажмем кнопку Далее > и кроме полей Наименование и Код включим в состав таблицы Список еще одно поле – ВидНоменклатуры. И затем уже нажмем Готово (рис. 27.2).
Рис. 27.2. Форма списка справочника «Номенклатура»
Итак, с механизмом расширений мы будем знакомиться на примере поля ВидНоменклатуры, расположенного в таблице Список формы списка справочника Номенклатура.


820 1С:Предприятие 8.3. Практическое пособие разработчика
В результате этого у формы появляются такие параметры, как
ТекущаяСтрока, Отбор и т. п.
Теперь посмотрим на таблицу Список.
Поскольку в таблице отображается динамический список, то к свойствам, методам и событиям объекта встроенного языка Табли-
цаФормы добавляется Расширение динамического списка (рис. 27.5).
Рис. 27.5. Контекст таблицы дополняется контекстом расширения динамического списка
В результате у таблицы Список появляются такие свойства, как
АвтоОбновление, ОтображатьКорень и т. д.
И в заключение посмотрим на поле ВидНоменклатуры.
Это поле связано с реквизитом типа ПеречислениеСсылка.ВидыНоменклатуры и является полем ввода.
Поэтому к свойствам, методам и событиям объекта встроенного языка ПолеФормы добавляется Расширение поля ввода (рис. 27.6).
В результате у поля ВидНоменклатуры появляются такие свойства, как
БыстрыйВыбор, ВыделенныйТекст и т. д.