Опубликован: 21.09.2010 | Доступ: свободный | Студентов: 6881 / 2129 | Оценка: 4.62 / 4.38 | Длительность: 06:15:00
Специальности: Бухгалтер
Лекция 4:

Справочники, конструирование форм

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

4.3. Механизм форм по умолчанию

Мы уже создали немало объектов, но пока не занимались редактированием их форм. Лишь форму констант мы создавали явно. Формы справочников были созданы автоматически. 1С:Предприятие автоматически создает нужные формы объектов. Такие формы поддерживают лишь минимально необходимую функциональность - ввод, просмотр и изменение данных объектов. Эти формы создаются "на лету" в ходе работы пользователя с объектом. Если форма должна поддерживать какую-нибудь дополнительную функциональность - она должна быть создана при проектировании объекта. Например, выше мы столкнулись с необходимостью выводить элементы подчиненного справочника в форме справочника Контрагенты. Автоматически подобная функциональность не создается.

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

4.4. Доработка формы списка справочника Контрагенты

Откроем в конфигураторе окно свойств справочника Контрагенты и перейдем на его вкладку Формы ( рис. 4.10).

Вкладка Формы окна свойств справочника Контрагенты

Рис. 4.10. Вкладка Формы окна свойств справочника Контрагенты

Здесь есть группа элементов Основные формы. Как видите, ни одна из форм не задана, то есть все они формируются системой при возникновении необходимости в них. Нажмем на кнопку Открыть в поле Списка. Будет вызван конструктор форм ( рис. 4.11) для формы списка справочника. Именно эта форма открывается при выборе соответствующего справочника из окна Справочники в режиме 1С:Предприятие.

Конструктор формы справочника, первый шаг

Рис. 4.11. Конструктор формы справочника, первый шаг

Не будем менять установки, заданные по умолчанию и нажмем на кнопку Далее. Появится второе окно конструктора форм ( рис. 4.12).

Конструктор формы справочника, второй шаг

Рис. 4.12. Конструктор формы справочника, второй шаг

Здесь мы можем видеть список реквизитов формы. В частности, это реквизиты Список и Дерево. Дерево - это то, что мы видим в левой части окна формы иерархического справочника, созданной автоматически. Список - это список элементов справочника, который можно видеть в правой части окна формы. Здесь мы можем отредактировать набор отображаемых свойств. Оставим эти значения в неизменном виде и нажмем на кнопку Готово. Откроется окно редактора форм, который содержит автоматически сгенерированную форму, готовую к ручному редактированию ( рис. 4.13).

Результат работы конструктора форм

Рис. 4.13. Результат работы конструктора форм

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

Мы должны доработать видимую часть формы. Здесь можно поступить двумя путями.

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

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

Изменение размеров форм производится аналогично изменению размеров окон в Windows - нужно подвести указатель мыши к краю формы, указатель превратится в двунаправленную стрелку, после чего, зажав левую кнопку мыши, можно перемещать границу формы.

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

Теперь, когда все готово, добавим на форму новый элемент управления Табличное поле. Для этого щелкнем по кнопке Табличное поле (она расположена на панели инструментов, которая находится в нижней части окна программы) и с помощью мыши "нарисуем" прямоугольник, в котором будет располагаться новое табличное поле. Зададим следующие свойства нового табличного поля, табл. 4.3.

Таблица 4.3. Свойства нового табличного поля
Свойство Значение
Имя ПредставителиКонтрагентов
ТипЗначения СправочникСписок.ПредставителиКонтрагентов
Связь по владельцу СправочникСписок.ПриАктивизацииСтроки

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

Настройка свойств нового табличного поля

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

При выборе связи по владельцу мы нажимаем кнопку с тремя точками в соответствующем поле, после чего в появившемся окне Выбор связи активируем вкладку События и выбираем событие ПриАктивизацииСтроки для СправочникСписок. Напомним, что реквизит формы СправочникСписок соответствует списку элементов справочника Контрагенты.

После указанных операций, кроме прочих изменений, список реквизитов формы (вкладка Реквизиты окна редактирования формы) будет пополнен новым реквизитом ПредставителиКонтрагентов (именно он указан в свойстве Данные табличного поля, которое заполняется автоматически при указании типа поля) с типом СправочникСписок.ПредставителиКонтрагентов.

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

Таблица 4.4. Свойства новой колонки табличного поля
Свойство Значение
Имя Телефон
Данные Телефон

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

Настройка свойств столбца табличного поля

увеличить изображение
Рис. 4.15. Настройка свойств столбца табличного поля

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

Форма списка справочника Контрагенты в режиме 1С:Предприятие, контекстное меню табличного поля ПредставителиКонтрагентов

увеличить изображение
Рис. 4.16. Форма списка справочника Контрагенты в режиме 1С:Предприятие, контекстное меню табличного поля ПредставителиКонтрагентов

В режиме конфигурирования разместим на форме элемент управления Командная панель. Настроим ее в соответствии с табл. 4.5.

Таблица 4.5. Свойства командной панели
Свойство Значение
Имя КоманднаяПанельПредставителей
АвтоЗаполнение Истина (флажок нужно установить)
ИсточникДействий ПредставителиКонтрагентов

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

Добавление командной панели и настройка ее свойств

увеличить изображение
Рис. 4.17. Добавление командной панели и настройка ее свойств

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

Доработанная форма списка справочника Контрагенты в режиме 1С:Предприятие

увеличить изображение
Рис. 4.18. Доработанная форма списка справочника Контрагенты в режиме 1С:Предприятие
< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Евгений Смоленцев
Евгений Смоленцев
Россия, Курганинск, Армавирская государственная педагогическая академия, 2013