Имя: Пароль:
1C
 
Гуру-тест 1С: обмануть при записи
0 Гений 1С
 
гуру
01.09.18
10:56
Итак, задачка. Нужно, чтобы при записи новая версия объекта не поместилась в базу данных, но при этом не была сгенерирована ошибка или отказ.

Случай из практики – иногда в процессе обмена приходила новая версия объекта, но её нельзя было допустить в базу. Обмен разрабатывали подрядчики и мы не могли в него вмешаться, но нужно было запретить изменения, но так, чтобы это не прерывало обмен и не генерировало ошибку. Решение было найдено. А сможете ли вы?!
1 sechs
 
01.09.18
11:45
Да
2 H A D G E H O G s
 
01.09.18
12:08
ЗаполнитьЗначениеСвойств(ЭтотОбьект, ЭтотОбьект.Ссылка,,"КакиетоСлужебныеполя");
3 Cool_Profi
 
01.09.18
13:10
Решение есть. Уволить
4 Cyberhawk
 
01.09.18
13:39
Что такое "помещение новой версии объекта в БД"?
5 Garykom
 
гуру
01.09.18
16:26
(0) Неужели с транзакциями игрались?
6 Гений 1С
 
гуру
01.09.18
16:27
(2) горячо.
7 Гений 1С
 
гуру
01.09.18
16:27
(5) ни в коем случае
8 Garykom
 
гуру
01.09.18
16:31
(6) подписка на событие ПередЗаписью()
9 H A D G E H O G s
 
01.09.18
16:46
(6) Поставь кулер на пукан.
10 Гений 1С
 
гуру
01.09.18
17:03
(9) я строгий гетеросексуал, мне ваши гомоприколы не понятны
11 jsmith82
 
01.09.18
17:16
Записать и перейти на предыдущую версию
12 jsmith82
 
01.09.18
17:21
Или перейти на предыдущую версию сразу
13 triviumfan
 
01.09.18
18:41
в любом случае какой-то колхоз им. Ленина
14 youalex
 
01.09.18
18:43
отменитьтранзакцию в неявной транзакции играет?
15 youalex
 
01.09.18
18:45
но если "в лоб", то понятно, нужно в ЭтотОбъект считать данные Ссылка.ПолучитьОбъект(). Но это - реально "обмануть", т.к. версия все равно будет другая, хоть и идентичная прежней
16 Гений 1С
 
гуру
01.09.18
18:58
(14) ни в коем случае, это обмен данными, никаких транзаций.
(15) ну большинство уже догадались. Объект.ПРочитать() - восстанавливает объект из базы данных и затирает все сделанные обменом изменения.
17 youalex
 
01.09.18
19:19
(16) полностью согласен с (13). Это не то чем стоило бы гордиться)
18 Гений 1С
 
гуру
01.09.18
20:49
(17) да ладно, рабочие моменты
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой