init
Первоначальная загрузка данных
This commit is contained in:
72
03. Интерфейс/01. Интерфейс конфигурации/homework-3-1.md
Normal file
72
03. Интерфейс/01. Интерфейс конфигурации/homework-3-1.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Интерфейс конфигурации
|
||||
|
||||
## Задание 1
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Создайте конфигурацию с требуемыми настройками интерфейса.
|
||||
|
||||
### Требование к результату
|
||||
|
||||
Конфигурация "Управление ИТ-фирмой", имеющая в своем составе все нужные объекты метаданных и интерфейс, позволяющий выполнять навигацию по данным.
|
||||
Конфигурация должна соответствовать требованиям:
|
||||
|
||||
* При запуске конфигурации панель навигации по разделам должна располагаться слева. Открытые окна - сверху, как в браузере Chrome.
|
||||
* В разделе "Закупки" на самом видном месте должны быть расположены документы "Заказ поставщику" и справочник "Контрагенты".
|
||||
* В разделе "Закупки" должен быть выделен отдельно подраздел "Складской учет" содержащий справочник "Склады" и отчет "Остатки по складам" Логику отчета реализовывать не надо.
|
||||
* Раздел "Продажи" на самом видном месте должен содержать пункт "Заказы покупателей"
|
||||
* Раздел отчетность должен содержать отчеты "Остатки по складам" и "Отчет по продажам"
|
||||
* Сразу при старте приложения должен отображаться список документов "Заказы покупателей".
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
В созданной ранее конфигурации "Управление ИТ-фирмой", заведите 3 подсистемы:
|
||||
|
||||
* Закупки
|
||||
* Продажи
|
||||
* Отчетность
|
||||
|
||||
Создайте все объекты метаданных, описанные в разделе "Требование к результату":
|
||||
|
||||
* 2 документа
|
||||
* 2 справочника
|
||||
* 2 отчета
|
||||
|
||||
При создании документов, добавьте им основные формы списков и формы объектов.
|
||||
При создании отчетов, добавьте им основную форму или схему компоновки данных. Это необходимо, чтобы отчет появился в меню командного интерфейса.
|
||||
|
||||
## Задание 2
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Развитие конфигурации "Управление ИТ-фирмой", добавление общих функций, улучшение юзабилити подписей.
|
||||
|
||||
### Требование к результату
|
||||
|
||||
Обеспечьте следующие требования к интерфейсу:
|
||||
|
||||
* Все формы списков должны отображать представление во множественном числе, а формы объектов - в единственном. "Заказы покупателей" -> "Заказ покупателя" и т.п.
|
||||
* Все документы конфигурации должны иметь кнопку "Печать" в формах списков и объектов. Нажатие на кнопку печать должно показывать предупреждение "Демо-версия. Печать будет реализована позднее". Окно предупреждения должно иметь заголовок "Мы работаем над этим..."
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
1. Добавьте общую команду "Печать". В качестве типа параметра команды укажите документы "Заказ поставщику" и "Заказ покупателю". Добавьте команду в группу "Командная панель формы: Важное"
|
||||
2. Напишите процедуру ОбработкаКоманды для команды "Печать" в соответствии с требованиями
|
||||
3. Задайте правильное представление объекта и представление списка для всех справочников и документов конфигурации.
|
||||
|
||||
# Задание 3
|
||||
|
||||
### Описание задачи
|
||||
|
||||
На главной странице приложения требуется отображать сразу 2 формы: список заказов поставщикам и список заказов покупателям. Также, требуется добавить команду быстрой отправки заказа поставщику по электронной почте и быстрого создания документа "Заказ поставщику".
|
||||
|
||||
### Требование к результату
|
||||
|
||||
На главной странице приложения отображаются два списка, один под другим, документов "Заказ поставщику" и "Заказ покупателя". В документе "Заказ поставщику" создана команда "Отправить заказ". При нажатии на кнопку должно выдаваться предупреждение "Демо-версия. Данная возможность не реализована". В командах раздела "Продажи" видна команда "Создать" для документа "Заказ покупателя".
|
||||
|
||||
### Порядок выполнения
|
||||
|
||||
1. Возьмите конфигурацию из заданий 1 и 2. Сохраните ее отдельно и на основании нее создайте новую, так, чтобы результатом заданий 1 и 2 был один файл, а результатом задания 3 - другой файл.
|
||||
2. Откройте рабочую область начальной страницы. Разместите в одной колонке 2 формы списка: документов "заказы покупателей" и "заказы поставщикам"
|
||||
3. Откройте командный интерфейс раздела "Продажи". Установите флажок "Видимость" у команды "Заказ покупателя: Создать"
|
||||
4. Добавьте в документ "Заказ поставщику" команду "Отправить заказ". Реализуйте процедуру "ОбработкаКоманды" согласно требованиям. Добавьте команду в группу "Командная панель формы: Важное"
|
BIN
03. Интерфейс/01. Интерфейс конфигурации/Задание_3_1_1_2.dt
Normal file
BIN
03. Интерфейс/01. Интерфейс конфигурации/Задание_3_1_1_2.dt
Normal file
Binary file not shown.
BIN
03. Интерфейс/01. Интерфейс конфигурации/Задание_3_1_2.dt
Normal file
BIN
03. Интерфейс/01. Интерфейс конфигурации/Задание_3_1_2.dt
Normal file
Binary file not shown.
BIN
03. Интерфейс/01. Интерфейс конфигурации/Задание_3_1_3.dt
Normal file
BIN
03. Интерфейс/01. Интерфейс конфигурации/Задание_3_1_3.dt
Normal file
Binary file not shown.
@@ -0,0 +1,62 @@
|
||||
# Формы, их реквизиты и данные
|
||||
|
||||
## Задание 1
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Создать форму внешней обработки "Приглашение на вечеринку"
|
||||
|
||||
### Требование к результату
|
||||
|
||||
Форма внешней обработки, позволяющая ввести имя гостя и такие параметры его размещения как: "Буду с ночевкой", "Что ест", "Что пьет". При нажатии команды "Сохранить" выдается предупреждение вида "<Имя> принял приглашение. Ест <Что ест>, пьет <что пьет>. Спальное место <потребуется/не потребуется>"
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
1. Создайте внешнюю обработку и добавьте в нее реквизиты:
|
||||
|
||||
* Имя (строка)
|
||||
* Что ест (строка)
|
||||
* Что пьет (строка)
|
||||
* БудетСНочевкой (булево)
|
||||
|
||||
2. Создайте основную форму внешней обработки и разместите на ней реквизиты обработки.
|
||||
3. Создайте в форме команду "Сохранить" и в обработчике команды создайте вывод текста в виде предупреждения, использовав обращение к данным формы вида "Объект.<Имя реквизита обработки>"
|
||||
|
||||
## Задание 2
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Развитие обработки "Приглашение на вечеринку"
|
||||
|
||||
### Требование к результату
|
||||
|
||||
Поля "Имя", "Что ест", "Что пьет" должны быть обязательны для заполнения и подчеркиваться волнистой линией, если они не заполнены. В случае, если нажата кнопка "Сохранить", а одно из обязательных полей не заполнено - должно выдаваться окно с указанием незаполненного реквизита.
|
||||
|
||||
Результат выполнения должен быть сохранен в отдельной обработке с именем "Задание 2.epf"
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
1. Скопируйте обработку, являющуюся результатом выполнения задания 1. Назовите ее "Задание 2"
|
||||
2. Укажите для полей "Имя", "Что ест", "Что пьет", что свойство "Проверка заполнения" имеет значение "Выдавать ошибку"
|
||||
3. В процедуре обработчике команды "Сохранить" вызовите метод ПроверитьЗаполнение и выводите окно "Принял приглашение" только в том случае если проверка пройдена
|
||||
|
||||
# Задание 3
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Работа с данными формы и преобразование в прикладные объекты. Закрепление знаний о различии между данными формы и общими объектами
|
||||
|
||||
### Требование к результату
|
||||
|
||||
Внешняя обработка с табличным полем, имеющим колонки "Товар" и "Сумма". При нажатии кнопки "Объединить строки" должна происходить свертка (группировка) таблицы по одинаковым значениям поля "Товар"
|
||||
|
||||
### Порядок выполнения
|
||||
|
||||
1. Создайте новую внешнюю обработку
|
||||
2. Создайте основную форму внешней обработки
|
||||
3. В реквизитах формы создайте новый реквизит "Товары" с типом ТаблицаЗначений. Добавьте в него колонки "Товар" (строка) и "Сумма" (число 18.2)
|
||||
4. Добавьте на форму команду "Объединить строки" и обработчик команды
|
||||
5. Добавьте в модуль формы процедуру с директивой &НаСервере с именем "СверткаСтрок"
|
||||
6. Конвертируйте таблицу "Товары" (`ДанныеФормы`) в универсальную коллекцию `ТаблицаЗначений`
|
||||
7. Воспользуйтесь штатным методом "Свернуть" таблицы значений, чтобы выполнить свертку одинаковых товаров и сложение сумм по ним. Воспользуйтесь синтакс-помощником для корректного применения метода "ТаблицаЗначений.Свернуть"
|
||||
8. Конвертируйте полученную таблицу обратно в данные формы
|
BIN
03. Интерфейс/02. Формы, их реквизиты и данные/Задание_3_2_1.epf
Normal file
BIN
03. Интерфейс/02. Формы, их реквизиты и данные/Задание_3_2_1.epf
Normal file
Binary file not shown.
BIN
03. Интерфейс/02. Формы, их реквизиты и данные/Задание_3_2_2.epf
Normal file
BIN
03. Интерфейс/02. Формы, их реквизиты и данные/Задание_3_2_2.epf
Normal file
Binary file not shown.
BIN
03. Интерфейс/02. Формы, их реквизиты и данные/Задание_3_2_3.epf
Normal file
BIN
03. Интерфейс/02. Формы, их реквизиты и данные/Задание_3_2_3.epf
Normal file
Binary file not shown.
71
03. Интерфейс/03. Элементы управления/homework-3-3.md
Normal file
71
03. Интерфейс/03. Элементы управления/homework-3-3.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Элементы управления
|
||||
|
||||
## Задание 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)
|
||||
5. Добавьте таблицу на форму
|
||||
6. Добавьте с помощью кнопки (+) в колонки таблицы группу колонок с группировкой "Вертикальная"
|
||||
7. Сделайте так, чтобы в форме поля Количество и Сумма находились друг-под-другом, поместив их в группу колонок
|
||||
8. Добавьте обработчик события "ПередОкончаниемРедактирования" табличного поля "Товары". В обработчике напишите алгоритм вычисления суммы НДС (20% от суммы). Сумма НДС должна попасть в поле "СуммаНДС" при окончании редактирования строки. Для получения редактируемой строки воспользуйтесь свойством ТекущиеДанные элемента управления таблицы.
|
BIN
03. Интерфейс/03. Элементы управления/Задание_3_3_1.epf
Normal file
BIN
03. Интерфейс/03. Элементы управления/Задание_3_3_1.epf
Normal file
Binary file not shown.
BIN
03. Интерфейс/03. Элементы управления/Задание_3_3_2.epf
Normal file
BIN
03. Интерфейс/03. Элементы управления/Задание_3_3_2.epf
Normal file
Binary file not shown.
BIN
03. Интерфейс/03. Элементы управления/Задание_3_3_3.epf
Normal file
BIN
03. Интерфейс/03. Элементы управления/Задание_3_3_3.epf
Normal file
Binary file not shown.
50
03. Интерфейс/04. Команды/homework-3-4.md
Normal file
50
03. Интерфейс/04. Команды/homework-3-4.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Команды
|
||||
|
||||
## Задание 1
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Создать общую группу команд "Печать" и два варианта печати "Сразу на принтер" и "Предварительный просмотр"
|
||||
|
||||
### Требование к результату
|
||||
|
||||
Добавить в конфигурацию из задания 3.1 общую команду печати для объектов "Заказ покупателя" и "Заказ поставщику". Команды должны находиться в общем подменю "Печать".
|
||||
При вызове команды "Сразу на принтер" должно выводиться сообщение "Печать объекта <представление объекта> В разработке. Здесь будет команда вывода на принтер".
|
||||
При вызове команды "Предварительный просмотр" должно выводиться сообщение "Печать объекта <представление объекта> В разработке. Здесь будет команда предварительного просмотра".
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
1. Возьмите конфигурацию из задания 3.1
|
||||
2. В ветке "Общие/Общие команды" добавьте группу команд "Печать" категории "Командная панель формы".
|
||||
3. Добавьте 2 общие команды "ПечатьНаПринтер" и "ПечатьСПредпросмотром" и поместите их в группу команд "Печать"
|
||||
4. В качестве типа параметра обеих команды укажите документы "Заказ покупателя" и "Заказ поставщику". Не забудьте установить флажок "Составной тип" в окне выбора типа, иначе можно будет выбрать только один документ
|
||||
5. В качестве значения поля "Режим использования параметра" в свойствах команды укажите "Одиночный"
|
||||
6. В каждой команде напишите код процедуры ОбработкаКоманды так, чтобы она выводила требуемое сообщение. Обратите внимание, объект, который мы печатаем будет передан в процедуру ОбработкаКоманды в параметре "ПараметрКоманды"
|
||||
|
||||
|
||||
## Задание 2
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Создать команду, открывающую формы объектов с заданными параметрами.
|
||||
|
||||
### Требование к результату
|
||||
|
||||
Выгрузка информационной базы (.dt) с конфигурацией, в которой есть группа команд "Быстрый доступ" отображающая список справочника "Сотрудники" с фильтрацией по полю "Уволен". Команда "Уволенные" открывает список сотрудников с фильтрацией по полю "Уволен = Истина". Команда "Работающие" - список сотрудников с фильтрацией по полю "Уволен = Ложь". Повторный вызов команд должен использовать механизм уникальности форм. Если открыта форма "Уволенные" команда "Работающие" должна все равно открывать вторую форму списка сотрудников с нужной фильтрацией. И наоборот, при открытых "Работающих" список "Уволенных" также должен открываться. Однако, повторный вызов одной и той же команды не должен открывать 2 одинаковых отфильтрованных формы.
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
1. Создайте новую подсистему "Кадровый учет"
|
||||
2. Справочник "Сотрудники" включите в подсистему "Кадровый учет"
|
||||
3. Добавьте в справочник "Сотрудники" реквизит "Уволен" с типом Булево
|
||||
4. Добавьте общую группу команд "Быстрый доступ" и включите ее в подсистему "Кадровый учет". Категория группы команд - Панель навигации
|
||||
5. Добавьте общую команду "Уволенные сотрудники", включите ее в группу команд "Быстрый доступ" и в подсистему "Кадровый учет"
|
||||
6. Добавьте общую команду "Работающие сотрудники", включите ее в группу команд "Быстрый доступ" и в подсистему "Кадровый учет"
|
||||
7. Изучите документацию метода ОткрытьФорму, пользуясь синтакс-помощником и презентацией к лекции 3.3
|
||||
8. В каждой команде в процедуре ОбработкаКоманды воспользуйтесь методом ОткрытьФорму, используя имя формы "Справочник.Сотрудники.ФормаСписка"
|
||||
9. В качестве параметров открываемой формы воспользуйтесь системным параметром формы "Отбор" в который передайте структуру со свойством "Уволен" и значением соответствующего фильтра. У вас должна получится Структура `ПараметрыФормы` со свойством "Отбор", значением отбора является структура со свойством "Уволен", т.е. Структура-в-Структуре.
|
||||
10. В качестве ключа уникальности формы используйте значение текущего статуса сотрудника - уволен или нет.
|
||||
11. В форме списка справочника Сотрудники добавьте над ДинамическимСписком новое `ПолеНадписи` и реквизит формы "ИмяТекущегоФильтра". Полю надписи снимите флажок "Видимость" в палитре свойств.
|
||||
12. В обработчике "ПриСозданииНаСервере" формы списка проверьте значение свойства Параметры.Отбор. Если там находится структура со свойством "Уволен" - установите видимость поля надписи `ИмяТекущегоФильтра` в Истина, а в качестве текста надписи укажите "Уволенные" или "Работающие", в зависимости от текущего значения параметра `Параметры.Отбор.Уволен`
|
||||
13. Если же в параметрах формы не задан отбор (нет свойства "Уволен" в параметре Параметры.Отбор), то поле надписи отображаться не должно.
|
||||
14. В случае возникновения сложностей воспользуйтесь отладчиком, установив точку останова в процедуре ПриСозданииНаСервере формы списка сотрудников и изучите содержимое структуры Параметры с помощью клавиши Shift+F9
|
BIN
03. Интерфейс/04. Команды/Задание_3_4.dt
Normal file
BIN
03. Интерфейс/04. Команды/Задание_3_4.dt
Normal file
Binary file not shown.
BIN
03. Интерфейс/certificate.pdf
Normal file
BIN
03. Интерфейс/certificate.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user