Имя: Пароль:
1C
1С v8
Недопустимое значение - при установке связи параметров выбора (8.2, УФ)
0 Невский Александр
 
20.03.12
20:29
Если таблица на форме. При начале выбора в одной из колонок срабатывает следующее событие

&НаКлиенте
Процедура ЗначениеПоУмолчаниюНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   ТекущиеДанные = Элементы.ТаблицаЗагружаемыхРеквизитов.ТекущиеДанные;
   
   СвязьПоВладельцу = ТекущиеДанные.СвязьПоВладельцу;
   Если ТипЗНЧ(СвязьПоВладельцу) = Тип("Строка") Тогда
       СтрокаСвязиПоВладельцу = ТаблицаЗагружаемыхРеквизитов.НайтиСтроки(Новый Структура("ИмяРеквизита", СвязьПоВладельцу));
       
       Если Не СтрокаСвязиПоВладельцу.Количество() = 0  Тогда
           УстановитьСвязьПараметровВыбораНаСервере(ТекущиеДанные.НомерКолонки, СтрокаСвязиПоВладельцу[0].ЗначениеПоУмолчанию);
       Иначе
           СвязьПоВладельцу = Неопределено;
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура УстановитьСвязьПараметровВыбораНаСервере(НомерКолонки, Значение)
   НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", Значение);
   //
   МассивСвязей = Новый Массив();
   МассивСвязей.Добавить(НоваяСвязь);
   НовМассив = Новый ФиксированныйМассив(МассивСвязей);
   
   Элементы.ТаблицаЗагружаемыхРеквизитов.ТекущийЭлемент.СвязиПараметровВыбора = НовМассив;    
КонецПроцедуры

Почему-то вылетает на строке
   Элементы.ТаблицаЗагружаемыхРеквизитов.ТекущийЭлемент.СвязиПараметровВыбора = НовМассив;

пишет

"{Обработка.ЗагрузкаДанныхИзТабличногоДокумента.Форма.Форма.Форма(1270)}: Ошибка при установке значения атрибута контекста (СвязиПараметровВыбора)
   Элементы.ТаблицаЗагружаемыхРеквизитов.ТекущийЭлемент.СвязиПараметровВыбора = НовМассив;    
по причине:
Недопустимое значение"

Хотя в самом массиве все нормально вроде. В чем может заключаться ошибка?
1 Невский Александр
 
20.03.12
21:28
upnem
2 Невский Александр
 
20.03.12
21:45
Понял свою ошибку, переписал по-другому

&НаСервере
Процедура УстановитьСвязьПараметровВыбораНаСервере(НомерКолонки, Значение, НомерКолонки1)
   НоваяСвязь = Новый СвязьПараметраВыбора("Отбор.Владелец", "ТаблицаЗагружаемыхРеквизитов["+(НомерКолонки1-1)+"].ЗначениеПоУмолчанию");
   //
   МассивСвязей = Новый Массив();            
   МассивСвязей.Добавить(НоваяСвязь);
   НовМассив = Новый ФиксированныйМассив(МассивСвязей);
   
   Элементы.ТаблицаЗагружаемыхРеквизитов.ТекущийЭлемент.СвязиПараметровВыбора = НовМассив;    
КонецПроцедуры

&НаКлиенте
Процедура ЗначениеПоУмолчаниюНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   ТекущиеДанные = Элементы.ТаблицаЗагружаемыхРеквизитов.ТекущиеДанные;
   
   СвязьПоВладельцу = ТекущиеДанные.СвязьПоВладельцу;
   Если ТипЗНЧ(СвязьПоВладельцу) = Тип("Строка") Тогда
       СтрокаСвязиПоВладельцу = ТаблицаЗагружаемыхРеквизитов.НайтиСтроки(Новый Структура("ИмяРеквизита", СвязьПоВладельцу));
       
       Если Не СтрокаСвязиПоВладельцу.Количество() = 0  Тогда
           УстановитьСвязьПараметровВыбораНаСервере(ТекущиеДанные.НомерКолонки, СтрокаСвязиПоВладельцу[0].ЗначениеПоУмолчанию,
           СтрокаСвязиПоВладельцу[0].НомерКолонки);
       Иначе
           СвязьПоВладельцу = Неопределено;
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры
3 Невский Александр
 
20.03.12
21:46
Но все равно - ошибка та же

Как установить значение по владельцу из ЗначениеПоУмолчанию из другой строки в таблице?
4 Невский Александр
 
21.03.12
13:13
ап

Знатоки управляемых форм, если кто сталкивался - подскажите - возможно ли в таблице формы установить связь параметров выбора в текущей ячейке по владельцу с ячейкой (полем формы)таблицы формы другой строки?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.