|
При записи документа, должен изменяться реквизит другого документа | ☑ | ||
---|---|---|---|---|
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
|
Вот так заработало:
&НаКлиенте Процедура ПослеЗаписи(ПараметрыЗаписи) ПослеЗаписиНаСервере(); КонецПроцедуры &НаСервере Процедура ПослеЗаписиНаСервере() Док =Объект.ДокументОснование.ПолучитьОбъект(); Док.ОтчетПоЗаказу = Объект.Ссылка; Док.Записать(); КонецПроцедуры А как обновить поле формы? пока не решил нужно ли это будет или форма будет закрываться, но думаю пригодится |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |