diff --git a/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.dt b/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.dt new file mode 100644 index 0000000..0c64c30 Binary files /dev/null and b/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.dt differ diff --git a/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.md b/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.md new file mode 100644 index 0000000..0bdc403 --- /dev/null +++ b/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.md @@ -0,0 +1,58 @@ +# Задание к занятию "Иерархия и подчинение" + +## Задача 1 "Номенклатура" + +### Описание задачи + +Создать иерархический справочник "Номенклатура" для хранения сведений о товарах и услугах. В форме списка, по аналогии с реальными прикладными решениями, сделать таблицу для групп и таблицу для элементов, с отбором элементов по активной группе. Выглядеть это должно примерно так: +![Exapmle](https://github.com/netology-code/1c-homeworks/blob/master/homework-4-2-1.png) + +### Требования к результату + +Выгрузка информационной базы (.dt) со Справочником "Номенклатура": +* с неограниченной иерархией групп и элементов; +* с реквизитами Тип (ПеречислениеСсылка.ТипыНоменклатуры) и ПолноеНаименование, определенными только для элементов; +* с формой списка, разделенной на дерево групп (в режиме "Дерево") и список элементов (в режиме "Список"); +* с отбором элементов по принадлежности к активной группе. + +### Процесс выполнения + +* Создать перечисление ТипыНоменклатуры со значениями Товар, Услуга. +* Создать справочник Номенклатура (синоним "Товар, услуга"): + * С неограниченной иерархией групп и элементов. + * С реквизитами ПолноеНаименование (строка неограниченной длины) и Тип (ПеречислениеСсылка.ТипыНоменклатуры), определенными только для элементов. Сделать тип обязательным к заполнению. +* Включить его в роль БазовыеПрава с правом на чтение, редактирование, изменение, удаление и запись (но не на интерактивное удаление). +* Создать форму списка, в которой: + * Отключить автозаполнение общей командной панели (ее заменит командная панель списка элементов). + * Создать общую группу с горизонтальной группировкой элементов, в которой разместить две группы с вертикальным расположением, правую - для дерева групп номенклатуры, левую - для списка элементов. + * В автоматически созданном динамическом списке Список установить отбор по условию ЭтоГруппа = Ложь, а соответствующую таблицу формы перетащить в левую группу. Выбрать для нее режим отображения "Список". + * Из состава команд таблицы формы "Список" исключить команду "Создать группу" (она будет только в командной панели дерева групп). + * Создать динамический список Группы с основной таблицей Справочник.Номенклатура и отбором по условию ЭтоГруппа = Истина. + * Перетащить динамический список Группы на форму, в правую группу, и для этой таблицы выбрать режим отображения "Дерево". + * Исключить из состава ее команд команду "Создать" (элемент), она останется только для списка элементов. + * Реализовать для таблицы Группы обработчик события ПриАктивизацииСтроки, в котором установить отбор по значению текущей группы. Для установки использовать коллекцию элементов отбора компоновки данных (Список.Отбор.Элементы), в которой: + * Сперва попытаться перебором найти ранее установленный отбор по значению свойства ЛевоеЗначение (оно будет равно полю компоновки данных, созданному вами по имени "Родитель"). + * При его наличии - установить новое значение свойства ПравоеЗначение, а в его отсутствие - добавить новый элемент отбора, установив ЛевоеЗначение, ПравоеЗначение, ВидСравнения и Использование. Обратите внимание: в качестве вида сравнения следует указывать элемент предопределенного перечисления ВидСравненияКомпоновкиДанных, а не ВидСравнения. + +## Задача 2 "Упаковки" + +### Описание задачи + +Создать справочник "Упаковки", подчиненный справочнику "Номенклатура" и хранящий сведения о возможных упаковках товаров с указанием количества единиц товара в каждой упаковке. В реальных прикладных решениях, как правило, в документах товарного учета указывается товар, упаковка и количество упаковок, а общее количество единиц программа рассчитывает сама. + +### Требования к результату + +Выгрузка информационной базы (.dt) со Справочником "Упаковки": +* подчиненный Номенклатуре как владельцу; +* с синонимом стандартного реквизита "Владелец" - "Товар"; +* с числовым реквизитом "Коэффициент" (количество единиц товара в упаковке); +* со списком, открывающимся по ссылке в панели навигации формы элемента справочника "Номенклатура". + +### Процесс выполнения + +* Создать справочник "Упаковки" (синоним "Упаковка"): + * Подчиненный номенклатуре как владельцу (задать синоним стандартного реквизита - "Товар"). + * С числовым реквизитом "Коэффициент", имеющим достаточную точность для упаковок штучного и весового товара. + * Не выводить его в общий командный интерфейс конфигурации. + * Включить его в роль БазовыеПрава с правом на чтение, редактирование, изменение, удаление и запись (но не на интерактивное удаление). + * Удостовериться в том, что для него автоматически отображается команда перехода в панели навигации формы элемента справочника "Номенклатура". diff --git a/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.png b/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.png new file mode 100644 index 0000000..b0e5466 Binary files /dev/null and b/04. Справочники и регистры сведений/03. Иерархия и подчинение/homework-4-3.png differ