Научиться программированию 1С Я делаю базу учёта воспитанников учебного заведения в учебной версии 1с и у меня есть справочник Преподаватели с такой структурой: Реквизиты: Наименование (строка), ДатаРождения (дата), Пол (перечисление.Пол), Телефон (строка), КлассныйРуководитель (булево), Фото (хранилище значения) Табличная часть Дисциплины: Наименование (справочник.Кванты), ХранилищеПлана (хранилище данных), УчебныйПлан (строка) и документ Запись с вот такой структурой: Реквизиты: Воспитанник (справочник.Воспитанники), Дисциплина (справочник.Дисциплины), Преподаватель (справочник.Преподаватели) мне необходимо сделать так, чтобы пользователь сначала выбрал дисциплину, а потом при выборе преподавателей ему давался список только тех, кто эту дисциплину ведёт. для этого создан регистр сведний ДисциплиныПреподавателей с такой структурой: Измерения: Дисциплина (справочник.Дисциплины), Преподаватель (справочник.Преподаватели) так же, пожалуй, оставлю код формы элемента документа Запись, чтобы показать свою попытку: &НаСервере Функция ПолучитьПреподавателейПоДисциплине(Дисциплина) Экспорт Фильтр = Новый СписокЗначений; Выборка = РегистрыСведений.ДисциплиныПреподавателей.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Дисциплина = Дисциплина Тогда Если Фильтр.НайтиПоЗначению(Выборка.Преподаватель) = Неопределено Тогда Фильтр.Добавить(Выборка.Преподаватель); КонецЕсли; КонецЕсли; КонецЦикла; Возврат Фильтр; КонецФункции &НаКлиенте Процедура ПреподавательНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) Дисциплина = Объект.Дисциплина; Если Не ЗначениеЗаполнено(Дисциплина) Тогда Сообщить(“Сначала выберите дисциплину.“); СтандартнаяОбработка = Ложь; Возврат; КонецЕсли; Преподаватели = ПолучитьПреподавателейПоДисциплине(Дисциплина); Если Преподаватели.Количество() = 0 Тогда Сообщить(“Нет доступных преподавателей по выбранной дисциплине.“); СтандартнаяОбработка = Ложь; Возврат; КонецЕсли; СтандартнаяОбработка = Ложь; СсылкиПреподавателей = Новый Массив; Для каждого Преподаватель Из Преподаватели Цикл СсылкиПреподавателей.Добавить(Преподаватель); КонецЦикла; ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить(“СсылкиПреподавателей“, СсылкиПреподавателей); ОткрытьФорму(“Справочник.Преподаватели.ФормаВыбора“, ПараметрыФормы, ЭтотОбъект, “ВыборПреподавателя“); КонецПроцедуры &НаКлиенте Процедура ВыборПреподавателя(ВыбранныйЭлемент, ДопПараметры) Объект.Преподаватель = ВыбранныйЭлемент; КонецПроцедуры