Имя: Пароль:
1C
1С v8
Контроль ссылок при удалении объектов. Как показать отчёт со ссылками в подписке ПередУдалением?
0 Starsailor
 
22.03.21
11:55
Есть подписка на событие перед удалением, в которой я делаю свой контроль ссылочной целостности и если найдены препятствующие к удалению объекты, то хочу их вывести в табличном документе. Проблема в том что метод показать() табличного документа клиентский, а подписка - серверная. Есть идеи как все же это сделать?
1 Kassern
 
22.03.21
11:58
ТабДок на форму запихни
2 acht
 
22.03.21
11:59
(0) >  то хочу
Присылай по почте
3 Светлый путь
 
22.03.21
12:09
(0) Писать всю информацию в регистр сведений, и потом выбирать оттуда запросом в отчёте.
Если удаление выполнено успешно, чистить все "старые" записи в регистре сведений, касающиеся этого объекта.
4 Starsailor
 
22.03.21
12:16
(1) на какую форму? В подписке на событие передудалением формы нет
5 Starsailor
 
22.03.21
12:18
(2) не очень удобно, письмо придет с запазданием, да и не открыть из письма препятствующий объект
6 acht
 
22.03.21
12:18
(3) При отказе от удаления откатится вся транзакция записи. Догадайся, что будет с твоими записями в регистре сведений. 1Сник он, ага.
7 hhhh
 
22.03.21
12:24
(5) выкинь подписку, делай в расширении
8 Галахад
 
гуру
22.03.21
12:27
А чего текстом не вывести, по старинке, в Сообщить().
9 Волшебник
 
22.03.21
12:28
(0) контроль ссылочной целостности надо проводить в момент пометки удаления
10 Светлый путь
 
22.03.21
12:40
(6) Да, логично... Если транзакция откатится, записи регистра в базу не попадут. Для этого случая не подходит.
11 Starsailor
 
22.03.21
12:59
(9) тогда после пометки на удаление появятся новые ссылки, да и задача стоит не пометить, а удалить
12 Starsailor
 
22.03.21
13:01
(8) из сообщения препятствующий объект не открыть
13 Starsailor
 
22.03.21
13:02
(7) не совсем понятно как это мне поможет... И о каком расширении идёт речь
14 Волшебник
 
22.03.21
13:05
(11) Удалять надо специальной обработкой, которая сначала ищет ссылки, а потом удаляет.
15 zladenuw
 
22.03.21
13:06
(0) новое событие клиента, которое вызывает фоновое задание и возвращает результат в родительский сеанс. но при этом ты выводишь информацию. что идет проверка. в конечном итоге открываешь свой таб док или не открываешь его
16 mistеr
 
22.03.21
13:10
(9) Что за бред? Смысл пометки именно в том, чтобы ее можно было сделать без контроля.

(14) А с этим согласен.
17 Kassern
 
22.03.21
13:12
(0) что мешает это делать не в подписке, а перед удалением? тогда без проблем вернешь отказ и выведешь на форму связанные объекты.
18 mistеr
 
22.03.21
13:12
(12) Ты уже сам понял, что для решения задачи нужен UI, а формы у тебя нет. Сделай следующий шаг и создай форму.
19 Kassern
 
22.03.21
13:13
(18) можно конечно сервер взаимодействия присобачить, но это такое себе решение для данной задачи...
20 arsik
 
гуру
22.03.21
13:19
(19) Он для этого и нужен.
21 mistеr
 
22.03.21
13:25
(20) Для показа табдоков?
22 arsik
 
гуру
22.03.21
13:45
(21) Для вызова клиента с сервера
23 Kassern
 
22.03.21
13:47
(22) это понятно, но просто не всегда целесообразно покупать сервер взаимодействия, когда можно решить задачу куда проще. Это как покупать истребитель, чтобы на нем гонять в магазин за хлебом.
24 Starsailor
 
22.03.21
14:08
(17) подписка хороша тем м что к ней удобно новые объекты подключать. Речь о событии передудалением таблицы формы? А если удаление из формы самого объекта?
25 Starsailor
 
22.03.21
14:11
(18) создать форму не проблема, проблема ее показать пользователю
26 mistеr
 
22.03.21
14:17
(25) Не вижу проблемы. В подписке делаешь отказ, через Сообщить() сообщаешь "Для удаления используйте обработку ХХХ".
27 hhhh
 
22.03.21
14:24
(25) так есть же форма. Откуда это удалить вызывается?
28 Kassern
 
22.03.21
14:24
(24) Если событие из формы объекта, то это событие ты же с клиента запускаешь, обрабатываешь на сервере. Возвращай в результате структуру в которой будет твой табдок и далее выводи его пользователю. Если табдока нет в результате, значит все хорошо и отрабатываешь дальше.
29 Starsailor
 
22.03.21
15:03
(27) (28) я так понимаю, предложение уйти от подписки на событие и сделать общую команду, в результате появится клиентская часть, где можно будет показать этот табдок, раскидать команду на формы откуда это удаление возможно. Подключение новых объектов усложнится, но задачу решает