Имя: Пароль:
1C
1С v8
Поле объекта недоступно для записи
0 smochok
 
27.07.15
09:58
Здравствуйте форумчане, возникает ошибка при записи данных в колонку табличного поля формы списка. Поясню: в форме документа есть табличное поле(выбор исполнителя), данные которого я попытался вывести в ячейку формы списка этого же документа. Вот код
Процедура ДокументСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    
    Запрос = Новый Запрос;
    Запрос.Текст=    "ВЫБРАТЬ
    |    АктОбОказанииПроизводственныхУслуг.Номер КАК Номер,
    |    АктОбОказанииПроизводственныхУслуг.ТабличнаяЧасть2.(
    |        Исполнитель
    |    ) КАК Исполнитель
    |ИЗ
    |    Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг
    |
    |УПОРЯДОЧИТЬ ПО
    |    Номер";    
    Результат = Запрос.Выполнить();
    //ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой));    
    ТЗ = Результат.Выгрузить();
    
    Для Каждого Строка из ТЗ Цикл
    Номер1 = ОформлениеСтроки.ДанныеСтроки.Номер;
        Если Номер1 = Строка.Номер Тогда        
            ТЗ = Строка.Исполнитель;
            Массив  = ТЗ.ВыгрузитьКолонку("Исполнитель");            
            НовыйСП = Новый СписокЗначений;
            НовыйСП.ЗагрузитьЗначения(Массив);
            
            ОформлениеСтроки.ДанныеСтроки.Исполнитель = НовыйСП;            
            
        КонецЕсли;
    КонецЦикла;
    
    
КонецПроцедуры  

Вот ошибка: {Документ.АктОбОказанииПроизводственныхУслуг.Форма.ФормаСписка.Форма(129)}: Поле объекта недоступно для записи (Исполнитель)
            ОформлениеСтроки.ДанныеСтроки.Исполнитель = НовыйСП;
1 Галахад
 
гуру
27.07.15
10:00
Пиши не в данные, а в текст.
2 BuHu
 
27.07.15
10:01
Значение пропустил
3 smochok
 
27.07.15
10:03
Если писать в текст, то не работает отбор
4 smochok
 
27.07.15
10:04
(2) Всмысле ОформлениеСтроки.ДанныеСтроки.Исполнитель.Значение(); ?
5 hhhh
 
27.07.15
10:05
ОформлениеСтроки.ДанныеСтроки  - это не объект, а ссылка. Поэтому недоступно. КАк-то надо

МойОбъект = ОформлениеСтроки.ДанныеСтроки.ПолучитьОбъект();
МойОбъект.Исполнитель = НовыйСП;
МойОбъект.Записать();
6 smochok
 
27.07.15
10:06
(5) ошибка: Метод объекта не обнаружен (ПолучитьОбъект)
7 hhhh
 
27.07.15
10:08
(6) может тогда

МойОбъект = ОформлениеСтроки.ДанныеСтроки.Ссылка.ПолучитьОбъект();
8 smochok
 
27.07.15
10:11
(7) Работает, спасибо :)
А не подскажите, с чем это связано? Потому что в другом документе аналогичный код работал