Версия для печати темы (https://pro1c.org.ua/index.php?s=e9ea0c8cb952493b2f453a727a947361&showtopic=40992)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Ошибка "Поле объекта недоступно для записи"

Автор: MrIgor 12.10.17, 17:14

Добрый день, уважаемые форумчане.

Пустая конфигурация. Создал "Документ", "Форму документа".
Затем программно пытаюсь создать на форме таблицу значений:

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Для у=1 По 10 Цикл
    
        создатьтз(у);    
        у=у+1;
    КонецЦикла;
    
    
КонецПроцедуры


На строке
ТаблицаФормы.ВариантУправленияВысотой = ВариантУправленияВысотойТаблицы.ПоСодержимому;


Получаю ошибку:
"Поле объекта недоступно для записи (ВариантУправленияВысотой)"

В хелпе посмотрел:
Интерфейс (управляемый) - Таблица формы - Таблица формы - свойства

ТаблицаФормы (FormTable)
ВариантУправленияВысотой (HeightControlVariant)
Использование:

Чтение и запись.
Описание:

Тип: ВариантУправленияВысотойТаблицы.
Содержит варианты управления высотой таблицы.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).


В чем ошибка? Что я делаю не так?

Автор: Flexy 12.10.17, 22:00

MrIgor @ Сегодня, 17:14 * ,
8.3.9.2033
ВариантУправленияВысотой (HeightControlVariant)
Использование:

Чтение и запись.
Описание:

Тип: ВариантУправленияВысотойТаблицы.
Содержит варианты управления высотой таблицы.

Доступность:

Мобильное приложение(клиент), мобильное приложение(сервер).

Автор: MrIgor 13.10.17, 8:57

8.3.10.x это свойство изменилось.
На другом форуме ответили, что похоже на баг платформы

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua