1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-24 08:02:20 +02:00
1c-homeworks/homework-4-3.md
2020-07-07 10:20:13 +03:00

6.2 KiB

Задание к занятию "Формы справочников"

Задача 1 "Подбор программ в форму контрагента"

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

Создать в справочнике "Контрагенты" табличную часть с программами, которые контрагент-клиент использует, и реализовать подбор программ из справочника "Номенклатура" в форму контрагента.

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

Конфигурация из предыдущих заданий, со справочниками "Контрагенты" и "Номенклатура", в которой:

  • К справочнику "Контрагенты" добавлена табличная часть "Программы" с реквизитом "Программа" типа СправочникСсылка.Номенклатура;
  • В форме контрагента есть таблица "Программы" с кнопкой "Подбор" в командной панели, открывающая форму выбора справочника "Номенклатура" в режиме подбора. Результат подбора не должен содержать дублей программ.

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

  • Добавить ко справочнику "Контрагенты" табличную часть "Программы".
  • Добавить к табличной части индексированный реквизит "Программа" (СправочникСсылка.Номенклатура).
  • Перетащить табличную часть на форму элемента, скрыв заголовок (мы выведем его отдельной декорацией).
  • Создать команду "Подбор", в модуле которой открыть форму выбора справочника "Номенклатура", передав в качестве владельца таблицу формы, а в параметре ЗакрыватьПриВыборе передав Ложь.
  • В обработчике события "ОбработкаВыбора" таблицы формы добавить выбранный элемент справочника "Номенклатура", если его еще нет в таблице.
  • Отключить автозаполнение командной панели таблицы формы. Вместо этого создать над таблицей группу, в которую:
    • Добавить декорацию-надпись с заголовком "Программы:", которая заменит собственный заголовок таблицы.
    • Добавить кнопки для команды добавления строки и для команды "Подбор".
    • Добавить группу-командную панель, источником команд которой указать табличную часть "Программы", чтобы заполнить оставшимися командами подменю "Еще".

Задача 2 "Видимость помеченных на удаление элементов"

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

Скрыть помеченных на удаление контрагентов, дав возможность показать их по команде в подменю "Еще".

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

Конфигурация из предыдущих заданий, в форме списка справочника "Контрагенты" которой:

  • Помеченные на удаление контрагенты выделяются серым цветом или зачеркнутым шрифтом и скрыты по умолчанию;
  • В "Еще" есть команда "Показывать помеченных на удаление", выбор которой переключает пометку и управляет видимостью помеченных на удаление.

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

  • Создать элемент стиля ШрифтПомеченныхНаУдаление (зачеркнутый) или ЦветПомеченныхНаУдаление (серый).
  • В настройках условного оформления динамического списка контрагентов добавить условие на пометку удаления, применив стиль ко всей строке.
  • В отборе динамического списка установить отбор по умолчанию ПометкаУдаления - Равно - Ложь. Важно: флажок "Включать в пользовательские настройки" для этого элемента нужно снять.
  • Создать булевский реквизит ПоказыватьПомеченныхНаУдаление.
  • Создать команду ПоказыватьПомеченныхНаУдаление, в обработчике которой:
    • Инвертировать реквизит ПоказыватьПомеченныхНаУдаление.
    • Установить пометку кнопки согласно новому значению реквизита.
    • Установить правое значение элемента отбора динамического списка для поля компоновки данных ПометкаУдаления. Важно: для поиска существующей настройки и для добавления новой следует использовать коллекцию Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.
  • В режиме Предприятия удостовериться, что помеченные на удаление контрагенты по умолчанию скрыты, но их можно показать, и при этом они будут выделены особым образом.