1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-16 07:10:14 +02:00
1c-homeworks/homework-3-3.md
2023-08-21 11:31:02 +03:00

8.5 KiB

Элементы управления

Задание 1

Описание задачи

Создать форму с полями ввода различных типов.

Требование к результату

Форма внешней обработки с полями ввода, привязанными к разным типам элементов управления.

Процесс выполнения

  1. Создайте внешнюю обработку, добавьте в неё основную форму.
  2. На форме разместите реквизиты с типом: «Строка», «Булево», «Дата», «Число».
  3. Строковый реквизит отобразите на форме в виде поля надписи без заголовка (только значение), установив свойство «Положение заголовка» в «Нет».
  4. Строковый реквизит также отобразите на форме в виде поля ввода.
  5. Реквизит типа «Булево» отобразите на форме в виде флажка.
  6. Реквизит типа «Булево» также отобразите на форме в виде элемента «Поле ввода» с позициями «Так точно» и «Никак нет», соответствующими значениям Истина и Ложь. Воспользуйтесь для этого свойством «Список выбора» элемента управления «Поле ввода». Обратите внимание на различное поведение поля при установленном и снятом флажке «Режим выбора из списка». Выберите наиболее подходящий задаче вариант значения флажка «Режим выбора из списка».
  7. Реквизит типа «Число» отобразите на форме без кнопки «Калькулятор» (кнопка выбора). Также задайте свойство «Формат» так, чтобы число отображалось без группировки разрядов и с отделением дробной части числа дефисом. Пример: 25520-71.
  8. Реквизит типа «Дата» отобразите в виде обязательного поля ввода. Используйте для этого признак «Автоотметка незаполненного».

Задание 2

Описание задачи

Обработчики событий поля ввода. Механика выбора значений.

Требование к результату

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

Процесс выполнения

  1. Создайте внешнюю обработку. Добавьте в неё основную форму. Назовите её «ПерваяФорма».
  2. Добавьте в обработку ещё одну форму, при создании укажите тип «Произвольная форма». Назовите её «ВтораяФорма».
  3. В первой форме разместите строковый реквизит «ВажныеДанные» и добавьте его на форму в виде элемента управления «Поле ввода».
  4. Установите свойство «Кнопка выбора» для этого поля в значение «Да», а флаг «Редактирование текста» снимите.
  5. Добавьте полю ввода обработчик события «НачалоВыбора».
  6. Во второй форме добавьте параметр «ТекущееЗначение» строкового типа. Укажите, что форма должна блокировать окно владельца.
  7. Во второй форме добавьте текстовое поле «НовоеЗначение» и команду «Применить». Текстовому полю установите признак «Многострочное».
  8. Во второй форме создайте обработчик «ПриСозданииНаСервере», в котором обеспечьте присваивание полю «НовоеЗначение» значение параметра «ТекущееЗначение».
  9. Также во второй форме создайте обработчик команды «Применить», в котором с помощью метода «ОповеститьОВыборе» передайте в первую форму значение, указанное в поле «НовоеЗначение».
  10. Сделайте так, чтобы команда «Применить» выдавала ошибку, если поле «НовоеЗначение» не заполнено, при этом вторая форма закрываться не должна. Т.е. если пользователь оставляет НовоеЗначение пустым, нажимает ОК - выводится предупреждение об ошибке, форма остается открытой, для исправления ошибки
  11. В обработчике события укажите СтандартнаяОбработка = Ложь, после добавьте вызов метода ОткрытьФорму, открывающий вторую форму и передающий в неё в качестве владельца сам элемент управления, событие которого мы обрабатывам (параметр Элемент обработчика события) и текущее значение поля «ВажныеДанные».
  12. Добавьте полю ввода «ВажныеДанные» обработчик события «ОбработкаВыбора». В обработчике присвойте полю «ВажныеДанные» значение входящего параметра «ВыбранноеЗначение».

Задание 3

Описание задачи

Изучение табличного поля.

Требование к результату

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

Порядок выполнения

  1. Создайте новую внешнюю обработку.
  2. Создайте основную форму внешней обработки.
  3. В реквизитах формы создайте новый реквизит «Товары» с типом ТаблицаЗначений. Добавьте в него колонки:
  • Товар (строка).
  • Количество (число 18.2).
  • Сумма (число 18.2).
  • СуммаНДС (число 18.2).
  1. Добавьте таблицу на форму.
  2. Добавьте с помощью кнопки (+) в колонки таблицы группу колонок с группировкой «Вертикальная».
  3. Сделайте так, чтобы в форме поля «Количество» и «Сумма» находились друг под другом, поместив их в группу колонок.
  4. Добавьте обработчик события «ПередОкончаниемРедактирования» табличного поля «Товары». В обработчике напишите алгоритм вычисления суммы НДС (20% от суммы). Сумма НДС должна попасть в поле «СуммаНДС» при окончании редактирования строки. Для получения редактируемой строки используйте свойство «ТекущиеДанные» элемента управления таблицы.