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

Выпадающий список в документе из данных табличной части справочника

Автор Tatiana22, 23 фев 2016, 13:29

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

Tatiana22

Здравствуйте!
Имеются следующие объекты:
Справочник ПричинаДефекта имеет стандартный реквизит Наименование и реквизит ПодразделениеВиновник.
Справочник ПроизводственныйДефект имеет реквизит Наименование, реквизит ВнешнееПроявлениеНесоответствия (тип - строка), табличную часть ПричиныВозникновенияНесоответствия с реквизитом ПрчичинаНесоответствия (тип - СправочникСсылка.ПричинаДефекта).
Документ Акт, кроме своих реквизитов (это сейчас не важно) имеет табличную часть СписокНесоответствующейПродукции с реквизитами: НаименованиеНесоответствия (СправочникСсылка.ПроизводственныйДефект), ОписаниеВнешнегоПроявления (тип - строка, заполняется автоматически при заполнении НаименованиеНесоответствия), ПричинаНесоответствия (тип - СправочникСсылка.ПричинаДефекта).
Надо: реализовать выпадающий список ПричинаДефекта в табличной части документа Акт. Т.е. в каждом элементе справочника ПроизводственныйДефект есть табличная часть с различными ПричинаДефекта (их может быть несколько). Я хочу в документе Акт добавить реквизит справочника - Наименование, считать все причины из него и записать в ячейку документа ПричинаДефекта для соответствующего дефекта, как выпадающий список (без возможности редактирования). Таким образом, пользователь будет добавлять дефект и затем из выпадающего списка выбирать ту причину, которая ему нужна (из определенного перечня, для этого дефекта). Может кто подскажет, можно ли так сделать?

Написала код:
&НаКлиенте
Процедура СписокНесоответствующейПродукцииПричинаНесоответствияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекСтрока = Элемент.СписокНесоответствующейПродукции.ТекущиеДанные;
ДанныеВыбора = ПолучитьСписокНаСервере();
КонецПроцедуры

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

Но что-то здесь не так. Подскажите, как правильно реализовать.

vitasw

Или настройте для элемента режим выбора из списка и заполняйте список выбора или устанавливайте отбор динамического списка в форме выбора.

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

Рейтинг@Mail.ru

Поиск