Привет все!
Прохожу обучение по бесплатному курсу, есть одно домашнее задание. Я его выполнил но есть сомнения в качестве исполнения.
Задача. Есть справочник сотрудники с реквизитами ФИО, Пол(из перечисления мужской-женский). Необходимо чтобы при создании "Отбора" по полу. Например ставим отбор пол=женский, при добавлении новой записи в форме редактирования автоматически подставлялся пол установленный при отборе. В модуль формы элемента я добавил код
<src>
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если не ЗначениеЗаполнено(Объект.Ссылка) тогда
Пол = ПолучитьПол(ЭтаФорма.ВладелецФормы.Родитель.Список.Отбор.Элементы);
Если Пол<>null Тогда
ЭтаФорма.Объект.Пол=Пол;
КонецЕсли
КонецЕсли
КонецПроцедуры
&НаКлиенте
Функция ПолучитьПол(сп)
Для каждого Элемент из сп Цикл
Если Элемент.Использование = Истина и Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Пол") Тогда
Возврат Элемент.ПравоеЗначение;
КонецЕсли;
КонецЦикла;
КонецФункции
</src>
Можно это сделать как-то по другому? Как правильно?
(0) во первых, установка параметров всегда идет в при создании, а не при открытии. Во вторых, все неверно. Надо делать в обработчиках списка и через передачу параметра в открыть форму
Тип: Булево.
Свойство определяет возможность заполнения реквизита из данных заполнения. Используется для заполнения реквизитов из значений текущего отбора списков. Если установлено Истина, то процедура стандартной обработки заполнения будет заполнять реквизит из данных заполнения. Если в данных заполнения нет данных для заполнения этого реквизита или свойство имеет значение Ложь, то реквизит будет заполнен из свойства ЗначениеЗаполнения, если оно установлено. Данное свойство устанавливается системой в значение Истина для некоторых стандартных реквизитов (Родитель, Владелец, ведущие измерения регистров сведений).