Имя: Пароль:
1C
1С v8
Поле объекта не доступно для записи в табличной части
,
0 nik-boss
 
20.03.13
01:40
Доброго времени суток!
Я только начинаю разбираться в 1С, подскажите кто-нибудь, пожалуйста, в чем причина ошибки. У меня есть документ, который заполняется на основании другого, мне надо сделать так, чтобы при выборе Основания в Табличной части документа создавалась строка с автоматически заполненными данными. Вот я  пишу такой код и у меня ничего не получается. За ранее огромное спасибо за помощь!!!

&НаКлиенте
Процедура ОснованиеПриИзменении(Элемент)
   стр=Объект;
   стр.Исполнитель=ПолучитьИсполнителя(стр.Основание);
   стр1=Элементы;
   стр1.Исполнение.ДобавитьСтроку();
   стр1.ИсполнениСтатус=ПолучитьСтатус(); // тип перечисление
   стр1.ИсполнениеДата=ПолучитьДату(стр.Основание);
   стр1.ИсполнениеДействие="Создание нового инцидента"; //Тип - строка
КонецПроцедуры


&НаСервере
Функция ПолучитьИсполнителя (Основание)
   Возврат Основание.Ответственный;
КонецФункции

 &НаСервере
Функция ПолучитьДату (Основание)
   Возврат Основание.Дата;
КонецФункции

&НаСервере
Функция ПолучитьСтатус()
   Возврат Перечисления.Статус.Новый;
КонецФункции
1 Команданте
 
20.03.13
01:42
что за бред ходячий тут расписан
начиная с того, что
стр1.Исполнение.ДобавитьСтроку();
стр1.Исполнени? Статус
2 BOZKURT
 
20.03.13
01:43
Во первых -
Зачем каждый раз писать &НаСервере ?
3 Команданте
 
20.03.13
01:45
ничего не получается - потому что пишешь бред
4 Команданте
 
20.03.13
01:45
чтобы при выборе Основания в Табличной части документа создавалась строка с автоматически заполненными данными

стр=Объект

это строка????? это ДанныеФормаКоллекция
5 xReason
 
20.03.13
01:52
(2) так надо потому что
6 BOZKURT
 
20.03.13
02:08
(5) Да?...
Например -
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=587721

Цитата (пользователь Асхат)
"Неважно файловый вариант или клиент сервер сама конфигурация при этом остается неизменной

Примечание: Если не указано где испольнять, по умолчанию выбирается -  &НаСервере"
7 vicof
 
20.03.13
07:50
(6) Просто удобней для восприятия. И сразу четко видно, что на клиенте, а что на сервере.
8 MSII
 
20.03.13
08:03
(2) Думаешь, он каждый раз руками это пишет? :)
9 cw014
 
20.03.13
08:18
стр1.Исполнение.ДобавитьСтроку();
стр1.Исполнени? Статус


Это 7.7???
10 Fragster
 
гуру
20.03.13
08:25
налетели, коршуны!
11 cw014
 
20.03.13
08:29
&НаКлиенте
Процедура ОснованиеПриИзменении(Элемент)
   СтруктураОснования = ПолучитьСтруктуруДанныхОснования(Объект.Основание);    
   Объект.Исполнитель = СтруктураОснования.Исполнитель;
   СтрокаТаблицы = Элементы.Исполнение.ДобавитьСтроку();
   СтрокаТаблицы.ИсполнениСтатус = ПредопределенноеЗначение("Перечисление.Статус.Новый");
   СтрокаТаблицы.ИсполнениеДата = СтруктураОснования.Дата;
   СтрокаТаблицы.ИсполнениеДействие="Создание нового инцидента"; //Тип - строка - Да ладно???
КонецПроцедуры

&НаСервере
Функция ПолучитьСтруктуруДанныхОснования(Документ)
   Возврат Новый Структура("Исполнитель,Дата",Документ.Исполнитель, Документ.Дата);
КонецФункции
12 cw014
 
20.03.13
08:29
С тебя 200 р
13 nik-boss
 
20.03.13
19:51
Спасибо большое всем за помощь. 1С 8.2, работаю с управляемым приложением.

СтрокаТаблицы.ИсполнениСтатус = ПредопределенноеЗначение("Перечисление.Статус.Новый");

Выдает ошибку "Поле объекта недоступно для записи (ИсполнениСтатус)"
14 Fragster
 
гуру
20.03.13
19:54
(13) а почему Элементы.... а не Объект....?
15 Fragster
 
гуру
20.03.13
19:55
или, если не реквизит объекта, а обработки, то не Исполнение.ДобавитьСтроку?
16 nik-boss
 
20.03.13
20:04
(14) Элементы потому что так могу получить доступ к реквизитам табличной части. Но так как я прописываю, я постоянно получаю ошибку "Поле объекта недоступно для записи"
17 sapphire
 
20.03.13
20:08
(16) Вы не пробовали почитать соответствующую литературу?
На сервере как раз проще изменить объект.
18 nik-boss
 
20.03.13
21:40
Еще раз всем спасибо! Я все сделала!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс