Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Выбрать обработчик (http://forums.kuban.ru/f1040/vybrat-_obrabotchik-3442935.html)

EarlyBird 17.12.2012 09:42

Выбрать обработчик
 
Всем привет!
Вопрос по обычному приложению, толстый клиент.
Допустим, есть документ вида А, в его табличной части хранятся ссылки на документы вида Б.
После записи документа А, нужно во всех документах Б, на которые ссылается табличная часть, изменить некий реквизит.

В каком обработчике события это правильнее сделать?

EarlyBird 17.12.2012 09:45

Вроде, по всему, нужно использовать обработчик ПриЗаписи() модуля документа.
Но смущает, что этот обработчик выполняется, когда транзакция ещё не завершена. Выходит, в незавершённую транзакцию я добавляю ещё перезапись нескольких десятков документов.
Готично ли сие?

roma n 17.12.2012 09:49

(1) Второй вариант: оповещай и глобальным обработчиком лови.

Ткачик 17.12.2012 09:56

(1) Секцию не перепутал? В 7.7 ПриЗаписи() - процедура модуля [b]формы[/b] документа и выполняется, ИМХО, не в транзакции.

EarlyBird 17.12.2012 09:59

(3) читай внимательно сабж, я написал что речь идёт о восьмёрке
[quote=Ирли Бёрд;28193277]Вопрос по обычному приложению, толстый клиент.[/quote]
а секцию я всегда ставлю 7.7, там какие-то траблы при указании других секций

EarlyBird 17.12.2012 10:02

(2) из "вторых" вариантов, можно например использовать подписку на события.
интересует наиболее православное решение, с точки зрения работы платформы

roma n 17.12.2012 10:23

5-Ирли Бёрд > смотря по прикладной задаче :)
Подписки тоже внутри транзакции записи отрабатывают. За оповещение - не скажу. Как-то не интересовался.
ЗЫ а если в какой-нить подписке Отказ = Истина возникнет? Должны документы перезаписаться, али нет?Для подписок неизвестно какая первой отработает, какая последней...

VZ 17.12.2012 10:33

А по моему, кольцевые записи - зло. В общем случае, конешно. Может, где-то "так прощще", но лично у меня всегда вскипает мозг на предмет избегнуть.

EarlyBird 17.12.2012 11:23

В общем случае да.

EarlyBird 17.12.2012 11:28

пока более приемлемым представляется вариант (2)
ибо не вмешивается в транзакцию записи документа
хотя, надо ещё покурить ПослеЗаписи()

Северянин 17.12.2012 11:32

8-Ирли Бёрд >А может пойти другим путем? Нужно ли тебе реквизит напрямую писать или на документе иметь ссылку на допустим регистр сведений и там менять нужный тебе "реквизит",те измерение.

EarlyBird 17.12.2012 12:11

(10) спасибо, я знаком с этим решением, и с удовольствием им пользуюсь, но сейчас нужно другое.
нужно обновлять реквизит в документах.

VZ 17.12.2012 12:43

11-Ирли Бёрд > Вообще-то, регистр сведений и табличное поле документа (или шапка - в этом случае запись заведомо одна, в отличии от ТЧ) суть одно и тоже: плоская таблица, одним из полей есть ссылка на родительский документ...


Текущее время: 13:16. Часовой пояс GMT +3.