Имя: Пароль:
1C
1С v8
Запись документа управляемые формы
0 Eeelena
 
22.08.17
09:55
Здравствуйте.

Делаю обработку, которая присваивает значение и записывает документ.
Код следующий:

&НаСервере
Процедура УстановитьНаСервере()

    Док=РеквизитФормыВЗначение("Объект");
    Док.Заявка.ПривязаннаяЗаявка=Док.ПривязаннаяЗаявка;
    Док.Заявка.Записать();

    ЗначениеВРеквизитФормы(Док, "Объект");
    
КонецПроцедуры

&НаКлиенте
Процедура Установить(Команда)
    УстановитьНаСервере();
КонецПроцедуры


При нажатии на кнопку выходит ошибка:


{ВнешняяОбработка.УстановитьЗаявку.Форма.Форма.Форма(5)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
    Док=РеквизитФормыВЗначение("Заявка");
по причине:
Недопустимое значение параметра (параметр номер '1')


Подскажите, в чем может быть причина ?
1 Масянька
 
22.08.17
09:56
ИМХО, семерочники вздрогнули :)
2 Eeelena
 
22.08.17
09:56
Ошибка :


{ВнешняяОбработка.УстановитьЗаявку.Форма.Форма.Форма(5)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
    Док=РеквизитФормыВЗначение("Объект");
по причине:
Недопустимое значение параметра (параметр номер '1')
3 drcrasher
 
22.08.17
09:58
(1) не только
4 ildary
 
22.08.17
10:00
(2) в обработку случаем форму не из внешнего отчета копировали? У меня была на днях похожая история, в результате которой поле Объект превратился в тыкву.
5 aka AMIGO
 
22.08.17
10:00
(1) Исправил :)
6 h-sp
 
22.08.17
10:03
(2) там не "объект" а другое слово. Объект - это в документах.  А у вас обработка. Посмотрите на форме в правом вехнем углу, какое слово написано?
7 FIXXXL
 
22.08.17
10:04
"Объект" - это кто в Вашей обработке?
8 FIXXXL
 
22.08.17
10:04
ну и прежде Записать() надо бы ПолучитьОбъект()
9 h-sp
 
22.08.17
10:10
(2) и в вашем случае здесь не нужно делать РеквизитФормыВЗначение.
10 _Дайвер_
 
22.08.17
10:42
Процедура УстановитьНаСервере()

    Док=Документы.Заявка.НайтиПоНаименованию("ААА").ПолучитьОбъект();
    Док.ВашРеквизит = "111";
    Док.Записать();
КонецПроцедуры
11 drcrasher
 
22.08.17
10:43
(10) Документы.ххх.НайтиПоНаименование() это хорошо
12 _Дайвер_
 
22.08.17
10:44
(11) Это простой пример, как получить нужный уже сама решит)
13 Aleksandr N
 
22.08.17
10:45
(12) И как же вы собрались найти документ по наименованию?
14 _Дайвер_
 
22.08.17
10:57
(13) :), по началу хотел написать пример на справочнике, потом решил поменять на документ, а код остался преждним)))
15 h-sp
 
22.08.17
11:01
(14) по идее Док = Отчет.Заявка.ПолучитьОбъект();
16 Numerus Mikhail
 
22.08.17
11:01
Я, конечно, извиняюсь, но какого хрена?)
Вы пытаетесь получить объект "Док". А менять после этого Заявку.
это разные сущности, так нельзя
17 Numerus Mikhail
 
22.08.17
11:03
ЗаявкаОбъект = Док.Заявка.ПолучитьОбъект();
ЗаявкаОбъект.ПривязаннаяЗаявка=Док.ПривязаннаяЗаявка;
ЗаявкаОбъект.Записать();

Или я чего-то не понимаю?
18 Numerus Mikhail
 
22.08.17
11:03
Только не "Док", а "Объект". Очепятался чутка
19 Eeelena
 
22.08.17
11:13
(17) Спасибо большое)
20 h-sp
 
22.08.17
11:57
(17) Док это у нее обработка. Ее менять нет смысла.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс