mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2025-02-10 18:10:35 +02:00
Update homework-4-2.md
This commit is contained in:
parent
98f439e6fe
commit
50b515e936
@ -1,55 +1,55 @@
|
||||
# Задание к занятию "Формы справочников"
|
||||
# Задание к занятию «Формы справочников»
|
||||
|
||||
## Задача 1 "Подбор программ в форму контрагента"
|
||||
## Задача 1. «Подбор программ в форму контрагента»
|
||||
|
||||
### Описание задачи
|
||||
Создать в справочнике "Контрагенты" табличную часть с программами, которые контрагент-клиент использует, и реализовать подбор программ из справочника "Номенклатура" в форму контрагента.
|
||||
Создать в справочнике «Контрагенты» табличную часть с программами, которые контрагент-клиент использует, и реализовать подбор программ из справочника «Номенклатура» в форму контрагента.
|
||||
|
||||
### Требования к результату
|
||||
|
||||
Выгрузка информационной базы (.dt) с конфигурацией из предыдущих заданий, со справочниками "Контрагенты" и "Номенклатура", в которой:
|
||||
* К справочнику "Контрагенты" добавлена табличная часть "Программы" с реквизитом "Программа" типа СправочникСсылка.Номенклатура;
|
||||
* В форме контрагента есть таблица "Программы" с кнопкой "Подбор" в командной панели, открывающая форму выбора справочника "Номенклатура" в режиме подбора. Результат подбора не должен содержать дублей программ.
|
||||
Выгрузка информационной базы (.dt) с конфигурацией из предыдущих заданий, со справочниками «Контрагенты» и «Номенклатура», в которой:
|
||||
* к справочнику «Контрагенты» добавлена табличная часть «Программы» с реквизитом «Программа» типа СправочникСсылка.Номенклатура;
|
||||
* в форме контрагента есть таблица «Программы» с кнопкой «Подбор» в командной панели, открывающая форму выбора справочника «Номенклатура» в режиме подбора. Результат подбора не должен содержать дублей программ.
|
||||
|
||||
### Процесс выполнения
|
||||
|
||||
* Добавить ко справочнику "Контрагенты" табличную часть "Программы".
|
||||
* Добавить к табличной части индексированный реквизит "Программа" (СправочникСсылка.Номенклатура).
|
||||
* Перетащить табличную часть на форму элемента, скрыв заголовок (мы выведем его отдельной декорацией). На форме появится таблица формы, содержащая программы, используемые контрагентом.
|
||||
* Добавить команду "Подбор" и перетащить ее кнопкой в командную панель таблицы формы с программами. В обработчике команды открыть форму выбора справочника "Номенклатура":
|
||||
* * передав в качестве владельца открываемой формы - таблицу формы с программами, чтобы при выборе номенклатуры именно в таблице формы срабатывало событие "ОбработкаВыбора";
|
||||
1. Добавить к справочнику «Контрагенты» табличную часть «Программы».
|
||||
2. Добавить к табличной части индексированный реквизит «Программа» (СправочникСсылка.Номенклатура).
|
||||
3. Перетащить табличную часть на форму элемента, скрыв заголовок (мы выведем его отдельной декорацией). На форме появится таблица формы, содержащая программы, используемые контрагентом.
|
||||
4. Добавить команду «Подбор» и перетащить её кнопкой в командную панель таблицы формы с программами. В обработчике команды открыть форму выбора справочника «Номенклатура»:
|
||||
* * передав в качестве владельца открываемой формы таблицу формы с программами, чтобы при выборе номенклатуры именно в таблице формы срабатывало событие «ОбработкаВыбора»;
|
||||
* * в параметре ЗакрыватьПриВыборе передав Ложь, чтобы пользователь мог подобрать несколько программ без закрытия формы выбора.
|
||||
* В обработчике события "ОбработкаВыбора" таблицы формы добавить выбранный элемент справочника "Номенклатура", если его еще нет в таблице.
|
||||
* Отключить автозаполнение командной панели таблицы формы. Вместо этого создать над таблицей группу, в которую:
|
||||
* Добавить декорацию-надпись с заголовком "Программы:", которая заменит собственный заголовок таблицы.
|
||||
* Добавить кнопки для команды добавления строки и для команды "Подбор".
|
||||
* Добавить группу-командную панель, источником команд которой указать табличную часть "Программы", чтобы заполнить оставшимися командами подменю "Еще".
|
||||
5. В обработчике события «ОбработкаВыбора» таблицы формы добавить выбранный элемент справочника «Номенклатура», если его ещё нет в таблице.
|
||||
6. Отключить автозаполнение командной панели таблицы формы. Вместо этого создать над таблицей группу, в которую:
|
||||
* добавить декорацию-надпись с заголовком «Программы:», которая заменит собственный заголовок таблицы;
|
||||
* добавить кнопки для команды добавления строки и для команды «Подбор»;
|
||||
* добавить группу-командную панель, источником команд которой указать табличную часть «Программы», чтобы заполнить оставшимися командами подменю «Ещё».
|
||||
|
||||
## Задача 2 "Видимость помеченных на удаление элементов"
|
||||
## Задача 2. «Видимость помеченных на удаление элементов»
|
||||
|
||||
### Описание задачи
|
||||
Скрыть помеченных на удаление контрагентов, дав возможность показать их по команде в подменю "Еще".
|
||||
Скрыть помеченных на удаление контрагентов, дав возможность показать их по команде в подменю «Ещё».
|
||||
|
||||
### Требования к результату
|
||||
Выгрузка информационной базы (.dt) с конфигурацией из предыдущих заданий, в форме списка справочника "Контрагенты" которой:
|
||||
* Помеченные на удаление контрагенты выделяются серым цветом или зачеркнутым шрифтом и скрыты по умолчанию;
|
||||
* В "Еще" есть команда "Показывать помеченных на удаление", выбор которой переключает пометку и управляет видимостью помеченных на удаление.
|
||||
Выгрузка информационной базы (.dt) с конфигурацией из предыдущих заданий, в форме списка справочника «Контрагенты» которой:
|
||||
* помеченные на удаление контрагенты выделяются серым цветом или зачеркнутым шрифтом и скрыты по умолчанию;
|
||||
* в «Ещё» есть команда «Показывать помеченных на удаление», выбор которой переключает пометку и управляет видимостью помеченных на удаление.
|
||||
|
||||
### Процесс выполнения
|
||||
* Создать элемент стиля ШрифтПомеченныхНаУдаление (зачеркнутый) или ЦветПомеченныхНаУдаление (серый).
|
||||
* В настройках условного оформления динамического списка контрагентов добавить условие на пометку удаления, применив стиль ко всей строке.
|
||||
* В отборе динамического списка установить отбор по умолчанию ПометкаУдаления - Равно - Ложь. Важно: флажок "Включать в пользовательские настройки" для этого элемента нужно снять. После этого следует открыть "Свойства элемента пользовательских настроек" и установить режим редактирования "Недоступный":
|
||||
1. Создать элемент стиля ШрифтПомеченныхНаУдаление (зачёркнутый) или ЦветПомеченныхНаУдаление (серый).
|
||||
2. В настройках условного оформления динамического списка контрагентов добавить условие на пометку удаления, применив стиль ко всей строке.
|
||||
3. В отборе динамического списка установить отбор по умолчанию ПометкаУдаления — Равно — Ложь. Важно: флажок «Включать в пользовательские настройки» для этого элемента нужно снять. После этого следует открыть «Свойства элемента пользовательских настроек» и установить режим редактирования «Недоступный»:
|
||||
|
||||
![Свойства пользовательских настроек](homework-4-3.png)
|
||||
|
||||
* Создать булевский реквизит ПоказыватьПомеченныхНаУдаление.
|
||||
* Создать команду ПоказыватьПомеченныхНаУдаление, в обработчике которой:
|
||||
* Инвертировать реквизит ПоказыватьПомеченныхНаУдаление.
|
||||
* Установить пометку кнопки согласно новому значению реквизита.
|
||||
* Найти элемент отбора нужно найти в составе коллекции Список.КомпоновщикНастроек.Настройки.Отбор.Элементы по равенству свойства ЛевоеЗначение полю компоновки данных "ПометкаУдаления":
|
||||
4. Создать булевский реквизит ПоказыватьПомеченныхНаУдаление.
|
||||
5. Создать команду ПоказыватьПомеченныхНаУдаление, в обработчике которой:
|
||||
* инвертировать реквизит ПоказыватьПомеченныхНаУдаление,
|
||||
* установить пометку кнопки согласно новому значению реквизита,
|
||||
* элемент отбора нужно найти в составе коллекции Список.КомпоновщикНастроек.Настройки.Отбор.Элементы по равенству свойства ЛевоеЗначение полю компоновки данных «ПометкаУдаления»:
|
||||
|
||||
```bsl
|
||||
ПолеПометкаУдаления = Новый ПолеКомпоновкиДанных("ПометкаУдаления");
|
||||
ПолеПометкаУдаления = Новый ПолеКомпоновкиДанных(«ПометкаУдаления»);
|
||||
НайденныйЭлементОтбора = Неопределено;
|
||||
Для Каждого ЭлементОтбора Из Список.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
|
||||
Если ЭлементОтбора.ЛевоеЗначение = ПолеПометкаУдаления Тогда
|
||||
@ -64,12 +64,12 @@
|
||||
```bsl
|
||||
Если НайденныйЭлементОтбора = Неопределено Тогда
|
||||
НайденныйЭлементОтбора = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(
|
||||
Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
Тип(«ЭлементОтбораКомпоновкиДанных»));
|
||||
НайденныйЭлементОтбора.ЛевоеЗначение = ПолеПометкаУдаления;
|
||||
КонецЕсли;
|
||||
```
|
||||
|
||||
Правым значением будет Ложь, видом сравнения - равно, а Использование будет зависеть от выбранного пользователем варианта:
|
||||
Правым значением будет Ложь, видом сравнения — равно, а Использование будет зависеть от выбранного пользователем варианта:
|
||||
|
||||
```bsl
|
||||
НайденныйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
@ -77,4 +77,4 @@
|
||||
НайденныйЭлементОтбора.Использование = Не ПоказыватьПомеченныхНаУдаление;
|
||||
```
|
||||
|
||||
* В режиме Предприятия удостовериться, что помеченные на удаление контрагенты по умолчанию скрыты, но их можно показать, и при этом они будут выделены особым образом.
|
||||
6. В режиме Предприятия удостовериться, что помеченные на удаление контрагенты по умолчанию скрыты, но их можно показать и при этом они будут выделены особым образом.
|
||||
|
Loading…
x
Reference in New Issue
Block a user