Имя: Пароль:
1C
1С v8
СвязиПараметровВыбора... у колонки ТЧ на УФ
0 warkan
 
30.07.19
09:18
Миста, вразуми, пожалуйста.

ТЧ внешней обработки. Добавляю колонку со справочником из расширения (через Конфигуратор, пока, никак, ибо Расширения в нем (зело надеюсь, пока) не видны).

&НаСервере
Процедура ИзмТипКолонкиСчетчики()
    
    табСчетчики = Объект.Счетчики.Выгрузить();
    табСчетчики.Колонки.Добавить("Счетчик", Новый ОписаниеТипов("СправочникСсылка.Расш1_Счетчики"));
    Объект.Счетчики.Загрузить(табСчетчики);
    
    ДобавляемыеРеквизиты = Новый Массив;
    ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Счетчик", Новый ОписаниеТипов("СправочникСсылка.Расш1_Счетчики"), "Объект.Счетчики", "спр.Счетчик"));
    ИзменитьРеквизиты(ДобавляемыеРеквизиты);
    
    ЭлементРеквизита = Элементы.Добавить("СчетчикиСчетчик", Тип("ПолеФормы"), Элементы["Счетчики"]);
    ЭлементРеквизита.ПутьКДанным = "Объект.Счетчики.Счетчик"; // ИмяРеквизитаДанныеФормыКоллекция + "." + Колонка.Имя;
    ЭлементРеквизита.Вид = ВидПоляФормы.ПолеВвода;
    
    
    //* связи выбора
    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(Новый СвязьПараметраВыбора("Отбор.Владелец", "СчетчикиФизЛицо"));
    
    НовыеСвязи = Новый ФиксированныйМассив(НовыйМассив);
    
    Элементы["СчетчикиСчетчик"].СвязиПараметровВыбора = НовыеСвязи;    
    
КонецПроцедуры


Ругается на недопустимое значение: .....Форма(454)}: Ошибка при установке значения атрибута контекста (СвязиПараметровВыбора)
    Элементы["СчетчикиСчетчик"].СвязиПараметровВыбора = НовыеСвязи;    
по причине:
Недопустимое значение

Что ей нужно?
В отладчике смотрю - есть "Элементы["СчетчикиСчетчик"]" и параметр "СвязиПараметровВыбора" у него есть. И он даже "ФиксированныйМассив".
А не едет...(((

Надоумьте, пожалуйста, люди добрые!!!


Спасибо!
1 olegves
 
30.07.19
09:25
(0) в какой момент вызываешь ИзмТипКолонкиСчетчики? Случаем, не при начале добавления строки?
2 warkan
 
30.07.19
10:22
Нет. ПриОткрытии().
3 warkan
 
30.07.19
10:23
А как правильнее?

Пробовал в ПриСозданииНаСервере(), но... в этот момент, похоже, формы ещё нет в природе...
4 olegves
 
30.07.19
10:31
(3) вот там и надо
5 olegves
 
30.07.19
10:33
+(4) а если условия не динамические, то лучше в конфигураторе в свойствах формы прописать
6 warkan
 
30.07.19
10:34
(4) А оно там ругается...
Но, может, неправильно именую объекты...
Указание колонки ТЧ: так правильно ["СчетчикиСчетчик"]?
ТЧ - Счетчики, колонка - Счетчик.
И, соответственно, "СчетчикиФизЛицо": ТЧ - Счетчики, колонка - ФизЛицо.

Попробую.
Спасибо.
7 pyha
 
30.07.19
10:41
(6) "Элементы.Счетчики.Текущие данные.ФизЛицо" у меня в свойствах формы конструктор построил так. Причем "Текущие данные" почему то с пробелом
8 warkan
 
30.07.19
13:22
(5) - условия не динамические, но в Конфигураторе не указать - справочник "Счетчики" из Расширения. Конфигуратор этот справочник не "видит".

Засунул этот код в ПриСозданииНаСервере():

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


В отладчике:
Элементы.СчетчикиСчетчик.СвязиПараметровВыбора = ФиксированныйМассив
НовыеСвязи                                   = ФиксированныйМассив

Причем, в первом случае, размер массива 0, а во втором 1 значение есть.
А присвоить (Элементы.СчетчикиСчетчик.СвязиПараметровВыбора = НовыеСвязи;) не дает:
Ошибка при установке значения атрибута контекста (СвязиПараметровВыбора)
    Элементы.СчетчикиСчетчик.СвязиПараметровВыбора = НовыеСвязи;    
по причине:
Недопустимое значение

Почему - не понятно. Может "Элементы.СчетчикиСчетчик" не может иметь значения в параметре "СвязиПараметровВыбора"?
Основная теорема систематики: Новые системы плодят новые проблемы.