Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

При изменении организации подписка ПриУстановкеНовогоНомера срабатывает, без изменения нет

При изменении организации подписка ПриУстановкеНовогоНомера срабатывает, без изменения нет
Я
   NikP123
 
24.04.19 - 19:28
Как это устроено? Почему подписка на событие ПриУстановкеНовогоНомера() срабатывает, если в ранее сохраненном документе сменить организацию, но если ее не изменять, а изменить любой другой реквизит, то не срабатывает? Вроде в коде модуля объекта документа это нигде не прописано.
ERP
 
 
   palsergeich
 
1 - 24.04.19 - 19:35
(0) на сколько я помню - это делается в других подписках, потому что при изменении организации - должен сменться префикс.
   NikP123
 
2 - 24.04.19 - 19:40
(1) да, префикс изменяется при смене организации. Просто я думаю, откуда средствам платформы знать, что префикс берется именно из определенного реквизита справочника Организации, и поэтому платформа знает, что надо вызвать обработчик подписки..
Но если вы говорите, что для этого задействованы другие подписки, то буду искать
   ЧессМастер
 
3 - 24.04.19 - 19:48
(0) "Почему подписка на событие ПриУстановкеНовогоНомера() срабатывает, если в ранее сохраненном документе сменить организацию"

Потому что при смене организации меняется номер. Сменился номер - сработала подписка.

При изменении другого реквизита номер не меняется. А раз так то и подписка не должна срабатывать.

(2)
"откуда средствам платформы знать, что префикс берется именно из определенного реквизита справочника Организации, и поэтому платформа знает, что надо вызвать обработчик подписки"

Причем тут платформа ? Подписка это конфигурация а не платформа. Сменили организацию - сменился номер - отработала подписка.
   NikP123
 
4 - 24.04.19 - 19:57
(3) Номер не меняется при смене организации до записи документа
   palsergeich
 
5 - 24.04.19 - 19:58
(3) Не совсем так, ПриУстановкеНовогоНомера вызывается при новом объекте и если этот обработчик вызвали мануально.
Это происходит в подписках подсистемы ПрефиксацияОбъектов.
Там сравниваются значения в БД и объекта до записи и если есть изменения, то вызывается событие установки нового кода
   NikP123
 
6 - 24.04.19 - 20:02
(5) да нашел, в подписке перед записью при определенных условиях стирается номер, поэтому потом и срабатывает ПрРиУстановкеНовогоНомера
   palsergeich
 
7 - 24.04.19 - 20:04
(6) ЕЕсли посмотришь подсистемы, в которые входит эта подписка - скорее всего это ПрефиксацияОбъектов.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует