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

Данные из регистра сведений.

Автор Петя Эндюков, 26 ноя 2019, 12:09

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

Петя Эндюков

Добрый день.
Есть Регистр сведений "Биоматериалы", где хранятся Анализы, у каждого анализа есть несколько Биоматериалов (Вложение 1). Есть документ "Забор анализа" (Вложение 2), при выборе Анализа в этом документы, у нас в списке "Биоматериал" - должны выпадать, только те биоматериалы, которые присвоены к этому анализу в Регистре сведений. Сделал несколько обработок, не работает, в чем может быть проблема?
Код прилагаю ниже. Гура - помогайте, заранее спасибо.


&НаСервере
Функция СписокБиоматериалов(Анализ)

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ГМ_СведенияОБиоМатериале.Биоматериал КАК Биоматериал
|ИЗ
| РегистрСведений.ГМ_СведенияОБиоМатериале КАК ГМ_СведенияОБиоМатериале
|ГДЕ
| ГМ_СведенияОБиоМатериале.Анализ = &Анализы";

Запрос.УстановитьПараметр("Анализы", Анализ);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
//Выборка = РегистрыСведений.ГМ_СведенияОБиоМатериале.СоздатьНаборЗаписей();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
//Колонка = Выборка.ЗагрузитьКолонку("Биоматериал");
Колонка = ВыборкаДетальныеЗаписи.ЗагрузитьКолонку("Биоматериал");
Возврат Колонка;

КонецЦикла;



КонецФункции


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

КонецПроцедуры


&НаКлиенте
Процедура АнализыБиоматериалНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)


СтандартнаяОбработка = Ложь;
Элементы.АнализыБиоматериал.СписокВыбора.ЗагрузитьЗначения(СписокБиоматериалов(Элементы.Анализы.ТекущиеДанные.Анализ));

КонецПроцедуры


Алексей Корольков

Петя Эндюков, Не правильно составлен код функции СписокБиоматериалов

Для начала Список = Новый Массив;
Потом в цикле Список.Добавить(Выборка.Биоматериал)
И только после цикла а не внутри него Возврат Список;

Теги:

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

Рейтинг@Mail.ru

Поиск