Имя: Пароль:
1C
1С v8
Событие в модуле формы ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
0 San335
 
08.09.21
11:14
Всем привет!
Подскажите плиз, как в событии модуля формы ПриЗаписиНаСервере() изменить ТекущийОбъект?
ТекущийОбъект.Реквизит1 = "Значение_реквизита" не помогает,т.к. ссылка уже сформирована в базе.
1 ДенисЧ
 
08.09.21
11:16
В ПередЗаписью надо менять
2 Мультук
 
гуру
08.09.21
11:17
(0) Что мешает поменять в "ПередЗаписью" ?
3 San335
 
08.09.21
11:20
(2) Объект нужно дозаполнить после того, как на него сформировалась ссылка.
4 hhhh
 
08.09.21
11:24
(3) в событии ПриЗаписи уже всё записано. Поздно пить боржоми. Или писать второй раз, дать команду Записать(), или использовать УстановитьСсылкуНового() в ПередЗаписью()
5 San335
 
08.09.21
11:36
ОК, согласен! Возможно ли ПередЗаписью() как-то получить гуид ссылки на создаваемый объект?
6 Mort
 
08.09.21
12:16
Вообще "УстановитьСсылкуНового", но чот я чую что-то нехорошее назревает.
7 San335
 
08.09.21
12:37
(6) А как тогда правильнее поступить? Нужно создать Объект1, после того, как на него ссылка создалась, нужно создать объект2 и присвоить его в 1 из реквизитов Объект1.
8 ДенисЧ
 
08.09.21
12:39
(7) Правильней так не делать.
9 San335
 
08.09.21
12:41
(8) Т.е. у задачи нет решения?
10 acht
 
08.09.21
12:42
(7) Если что-то поломается в середине - на какой этап ты откатишь состояние базы?
11 acht
 
08.09.21
12:44
(7) А, у тебя вообще все проще.
Создай объект2, запиши, присвой его ссылку в реквизит текущего объект1. Все.
Все это перед записью на сервере.
12 acht
 
08.09.21
12:44
перед записью на сервере объект1
13 San335
 
08.09.21
12:48
(11) Есть 1 "НО" - без Объект1 смылка сущестования Объект2 нет. А объект1 может в Пере/ПриЗаписи в модуле в отказ уйти.
14 Mort
 
08.09.21
12:52
Так это одна транзакция, объект2 не сохранится, если объект1 в отказ уйдет.
15 Мультук
 
гуру
08.09.21
12:52
(13)

Читаем про транзакции, смотри картинку
http://professia1c.ru/wp-content/uploads/2018/02/ShemaCobyitiy.png

Твой метод "передЗаписью в модуле документа
16 San335
 
08.09.21
13:02
(15) Т.е. транзакция заденет не только само создание Объект1, а все действия, которые будут в этих процедурах(с картинки) будут выполнены?
17 youalex
 
08.09.21
13:49
Исходная задача в чем заключается?
18 acht
 
08.09.21
16:58
(16) Вот так вот захочешь помочь человеку, потом смотришь на всю эту бездну непонимания, оцениваешь сколько чего надо ему рассказать и думаешь - да ну тебя наъ...

Нет. Нельзя такое сделать.
19 Олеша Попович
 
08.09.21
17:04
(18) и это будет правильным ответом
20 Ненавижу 1С
 
гуру
08.09.21
17:57
Делайте в самом объекте. Причем тут формы?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн