Капитально об программе 1С 8.0-8.3-8.4, 7.7

Поле объекта недоступно для записи (АвтоРазмер)

Поле объекта недоступно для записи (АвтоРазмер)

При установке Свойства рисунка табличного документа возникает такая ошибка.

Если внимательно прочитать описание свойства «Авторазмер»

Применимо только для рисунков типа «Текст» и «Примечание«, а используется тип «Картинка»

Код вызывающий Ошибку

Рис = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рис.Картинка = БиблиотекаКартинок.УстановитьФлажки;

Рис.АвтоРазмер Истина;
Рис.Расположить(ОбластьС);

Рис.Высота = 16;
Рис.Ширина = 16;

Исправление ошибки

Заключается в использовании свойства «РазмерКартинки» со значением перечисления, которое применимо только для рисунков типа «Картинка»

Корректный код для расположения картинки в ячейку табличного документа

Рис = ТабДок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рис.Картинка = БиблиотекаКартинок.УстановитьФлажки;
                                    
Рис.РазмерКартинки = РазмерКартинки.АвтоРазмер;
Рис.Расположить(ОбластьС);
Рис.Высота = 16;
Рис.Ширина = 16;

 

Особенность передачи объекта табличный документ на клиент

Добавление рисунка доступно только на сервере или толстом клиенте.

Если, вы напрямую меняете реквизит формы(ТабДок) или меняете ссылку на табличный документ (ТабличныйДокумент) переданный в данную процедуру (функцию), это не одно и тоже (не ссылка). 

ДобавитьРисунок(табДок);

&НаСервере
Функция ДобавитьРисунок(ТабличныйДокумент)

КонецФункции

 

Экземпляр этой переменной в момент возврата на сервер заменяет исходный табличный документ. 

Случайно, выбрав неверный объект для коде, не сразу выяснил причину.