|
При записи документа, должен изменяться реквизит другого документа
| ☑ |
0
art93
29.07.15
✎
11:23
|
По кнопке в форме документа "Заказ" создаётся форма документа "Отчет"(сам документ не создаётся и не записан ещё), заполняются поля формы. Нужно реализовать, чтобы при записи документа "Отчет" изменился реквизит "ОтчетПоЗаказу"(тип:Документ.Отчет") документа "Заказ"(Ссылка на Документ заказ хранится в реквизите "ДокументОснование")
Попробовал в ФормеДокумента "Отчет":
&НаСервере
Процедура ПослеЗаписи(ПараметрыЗаписи)
Объект.ДокументОснование.ПолучитьОбъект().ОтчетПоЗаказу = Объект.Ссылка;
Объект.ДокументОснование.ПолучитьОбъект().Записать();
КонецПроцедуры
|
|
1
mzelensky
29.07.15
✎
11:36
|
Никогда так не делай
|
|
2
hhhh
29.07.15
✎
11:41
|
(0) два раза получаешь объект. Это чудишь? Или глубокий смысл есть в полкчении двух экземпляров объектов?
|
|
3
Mifka
29.07.15
✎
11:44
|
переведу что написали
&НаСервере
Процедура ПослеЗаписи(ПараметрыЗаписи)
Док =Объект.ДокументОснование.ПолучитьОбъект();
Док.ОтчетПоЗаказу = Объект.Ссылка;
Док.Записать();
КонецПроцедуры
|
|
4
art93
29.07.15
✎
11:47
|
Спасибо большое! Извините за глупые вопросы, учусь только. Переписываю из УТ10.3 в УТ11+CRM.
|
|
5
Smallrat
29.07.15
✎
12:04
|
(3) а если запись не прокатит?
я б еще добавил
Док.ОбменДанными.Загрузка = Истина;
|
|
6
mzelensky
29.07.15
✎
12:39
|
Пипец насоветовали...а никто про блокировки не подумал? Про наложения версий объекта?
|
|
7
art93
29.07.15
✎
13:57
|
(3) Такой вариант не работает.
(5) А куда стоит добавить эту часть?
(6) Объясните пожалуйста, в чем проблема с блокировками?
|
|
8
hhhh
29.07.15
✎
14:04
|
(7) всё работает. Просто на форме заказа у вас ведь старая информация, она как была так и осталась. Обновить ее вы забыли. ТО есть в базе заказ уже записался, но чтобы посмотреть, что там, нужно его прочитать из базы.
|
|
9
Smallrat
29.07.15
✎
14:16
|
(7) перед Док.Записать()
|
|
10
art93
29.07.15
✎
14:23
|
Вот так заработало:
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ПослеЗаписиНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере()
Док =Объект.ДокументОснование.ПолучитьОбъект();
Док.ОтчетПоЗаказу = Объект.Ссылка;
Док.Записать();
КонецПроцедуры
А как обновить поле формы? пока не решил нужно ли это будет или форма будет закрываться, но думаю пригодится
|
|