Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №9 «Справочник и регистры с...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
585.73 Кб
Скачать

9.2.6. Изменение привязок элементов

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

Упражнение №9.23.

Запустите основную форму элемента на проверку в режиме "Конфигуратор".

Что Вы видите (см. рис. 9.14)? Какие элементы формы требуют доработки?

Рис. 9.14. Окно проверки основной формы элемента.

Будем действовать последовательно.

Для элемента формы "Фирма" в его свойствах для свойства "Привязка границ" откройте диалог "Привязка границ…", нажав на ссылку "Установить правила" и установите на закладке "Сложная" установите свойства согласно рисунку 9.15.

Проверьте работу формы. Что изменилось?

Рис. 9.15. Привязки элемента "Фирма".

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

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

Рис. 9.16. Работа привязок элементов формы.

9.2.7. Отображение картинки

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

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

Упражнение №9.24.

Добавьте в панель, расположенную в форме, новую закладку:

Свойство

Значение

Имя:

Картинка

Заголовок страницы:

Картинка

После чего вставьте на эту страницу элемент управления типа "Поле картинки" со следующими свойствами:

Свойство

Значение

Имя:

ПолеКартинки

Рамка:

Выпуклая

Картинка:

 -

Размер картинки:

Пропорционально

Гиперссылка:

И расположите ее на свободном пространстве (см. рис. 9.17).

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

Установите привязки у поля картинки согласно рисунку 9.18.

Теперь нам нужно решить две проблемы:

  1. Как прочитать новую картинку из файла в элемент формы и сохранить ее в хранилище значений;

  2. Как извлечь картинку из хранилища и отобразить ее.

Рис. 9.17. Поле картинки в форме.

Рис. 9.18. Привязки поля картинки.

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

Упражнение №9.25.

Установите для элемента формы "ПолеКартинки" событие:

Свойство

Значение

Нажатие

ПолеКартинкиНажатие

И наберите следующий текст:

//ПолеКартинкиНажатие - читает картинку в поле картинки Процедура ПолеКартинкиНажатие(Элемент)    // Открем диалог выбора файла    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);    Диалог.Заголовок = "Выберите файл картинки";    Диалог.ПредварительныйПросмотр = Истина;    Диалог.Фильтр = "Точечный рисунок(*.bmp)|*.bmp";    // Если пользователь сделал выбор тогда    Если Диалог.Выбрать() Тогда       // Прочитаем картинку в ОП       НоваяКартинка = Новый Картинка(Диалог.ПолноеИмяФайла);       // и оборазим в форме:       ЭлементыФормы.ПолеКартинки.Картинка =НоваяКартинка;       Изображение = Новый ХранилищеЗначения(НоваяКартинка);    КонецЕсли; КонецПроцедуры

Запустите режим "1С:Предприятие" и проверьте работу алгоритма.

На закладке "Картинка" добавьте фотографию головного офиса (файл расположен здесь)

При записи объекта реквизит Изображение будет сохранен в ИБ.

А вот когда мы будем открывать форму, то нужно отобразить реквизит "Изображение" в картинку, если объект не новый. Если объект новый, то тогда следует в картинку отобразить пустую картинку.

Упражнение №9.26.

 Исправьте текст процедуры ПриОткрытии():

// ПриОткрытии - действия в момент открытия формы Процедура ПриОткрытии()    Если ЭтоНовый() Тогда       // Заполним реквизиты нового объекта начальными значениями       Фирма = Константы.ОсновнаяФирма.Получить();       УстановитьКод();       // запишем пустую картинку       Изображение = Новый ХранилищеЗначения(Новый Картинка());    КонецЕсли;    // Установим свойство видимость у элементов диалога перед его открытием    ПриИзмененииГруппыОС(Неопределено);    // отобразим картинку    ЭлементыФормы.ПолеКартинки.Картинка = Изображение.Получить(); КонецПроцедуры

Запустите режим "1С:Предприятие" и проверьте работу алгоритма.