Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 20:11

8.2. Как создать форму списка выбора для табличной части справочника?

Автор grondeks, 09 дек 2012, 16:29

0 Пользователей и 1 гость просматривают эту тему.

grondeks

Задача. В справочнике "Бригады" есть табличная часть "Спецы" в которой
перечислены рабочие с реквизитами "Имя" и "Специальность".
В заполняемом документе "Наряд" есть поля "Бригада" ( с типом ссылки на справочник "Бригада") и
"ИмяРабочего".
Хочется в процедуре БригадаОбработкаВыбора сразу же запроситьвыбор конкретного рабочего из выбранной бригады, показав в списке выбора имя и специальность.

Какую форму "ВыборРабочего" надо создать, чтобы после её получения в этом обработчике,  можно было бы засунуть в неё имеющиеся данные из  табличной части элемента справочника ? Какой тип главного реквизита должен быть в этой форме? Таблица Значений? Связать с табличной частью справочника не получается.

IrinaO

&НаКлиенте
Процедура БригадаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   СЗ = ПолучитьСпецыНаСервере(Объект.Бригада);
   ВыбЭлемент = СЗ.ВыбратьЭлемент("Выберите рабочего");
   Объект.ИмяРабочего = Лев(ВыбЭлемент, Найти(ВыбЭлемент,"(")-2);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьСпецыНаСервере(Ссылка)
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   БригадаСпецы.Имя + "" ("" + БригадаСпецы.Специальность + "" )""  Имя
      |ИЗ
      |   Справочник.Бригада.Спецы КАК БригадаСпецы
      |ГДЕ
      |   БригадаСпецы.Ссылка = &Ссылка";

   Запрос.УстановитьПараметр("Ссылка", Ссылка);
    ТЗ = Запрос.Выполнить().Выгрузить();
   СЗ = Новый СписокЗначений();
   СЗ.ЗагрузитьЗначения(ТЗ.ВыгрузитьКолонку(0));
   Возврат СЗ;
КонецФункции

grondeks

:ooifh: Огромное спасибо за подсказку! Я самообучаюсь, поэтому с удовольствием узнал про ВыбратьЭлемент.

Теги: 8.2 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск