Первоначальная загрузка данных
This commit is contained in:
2021-11-15 23:59:23 +04:00
parent 8f06d05495
commit c014f355cf
76 changed files with 1262 additions and 0 deletions

View 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. Добавьте в документ "Заказ поставщику" команду "Отправить заказ". Реализуйте процедуру "ОбработкаКоманды" согласно требованиям. Добавьте команду в группу "Командная панель формы: Важное"

View File

@@ -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. Конвертируйте полученную таблицу обратно в данные формы

View 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% от суммы). Сумма НДС должна попасть в поле "СуммаНДС" при окончании редактирования строки. Для получения редактируемой строки воспользуйтесь свойством ТекущиеДанные элемента управления таблицы.

View 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

Binary file not shown.