Имя: Пароль:
1C
1С v8
1С 8.2 Передать список значений в качестве параметра при открытии формы выбора
0 kozhem1990
 
26.12.16
10:38
Здравствуйте! Пожалуйста, подскажите, как корректно передать в качестве параметра список значений, содержащий несколько ссылок, так, чтобы управляемая форма выбора открывалась и в списке выбора отображались только эти значения/ссылки из передаваемого списка значений. Просто не знаю, как параметр назвать, чтобы передать его в форму, то ли отбор, то ли ссылка, может еще надо прописать вид сравнения "в списке", но я не знаю.
1 Лефмихалыч
 
26.12.16
10:52
МассивСсылок = Новый массив; // тут у тебя ссылки


СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Ссылка", МассивСсылок);

ПараметрФормы = Новый Структура;
ПараметрФормы.Вставить("Отбор", СтруктураОтбора);

ОткрытьФорму("Документ.РеализацияТоваровУслуг", ПараметрФормы);
2 kozhem1990
 
26.12.16
11:04
(1) всеравно открывает полный список... посмотрел отладчиком - в массиве одна ссылка находится.

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

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

&НаСервере
Функция ПолучитьСписокНаСервере()
        Массив = Новый Массив;
    Для каждого Строка Из Спецификация.Грузополучатели Цикл
        Массив.Добавить(Строка.Грузополучатель);    
    КонецЦикла;                                     
    Возврат Массив
КонецФункции
3 Лефмихалыч
 
26.12.16
11:47
(2) значит поле, по которому надо отбирать, называется не Ссылка, а как-то иначе
4 kozhem1990
 
26.12.16
12:13
(3) кстати да, затупил, спасибо большое, выручили, а то не могу дальше работать из-за этой проблемы)
Ошибка? Это не ошибка, это системная функция.