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

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

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

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

Петя Эндюков

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


&НаСервере Функция СписокБиоматериалов(Анализ) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ГМ_СведенияОБиоМатериале.Биоматериал КАК Биоматериал |ИЗ | РегистрСведений.ГМ_СведенияОБиоМатериале КАК ГМ_СведенияОБиоМатериале |ГДЕ | ГМ_СведенияОБиоМатериале.Анализ = &Анализы"; Запрос.УстановитьПараметр("Анализы", Анализ); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); //Выборка = РегистрыСведений.ГМ_СведенияОБиоМатериале.СоздатьНаборЗаписей(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл //Колонка = Выборка.ЗагрузитьКолонку("Биоматериал"); Колонка = ВыборкаДетальныеЗаписи.ЗагрузитьКолонку("Биоматериал"); Возврат Колонка; КонецЦикла; КонецФункции

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

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

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

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

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

Теги:

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

Рейтинг@Mail.ru

Поиск