Процедура ПередЗаписью() Как обойти? #588321


#0 by yanikolay
Конфигурация БП 2.0. Справочник "Организации". Необходимо стандартную процедуру ПередЗаписью модуля объекта, через подписку на события, заменить на собственную. Кроме как "ОбменДанными.Загрузка = Истина" в подписке на события "ОбработкаПроверкиЗаполнения" не придумал. Но как-то не красиво. Есть ли другие решения?
#1 by Guk
а почему не красиво?...
#2 by Amiralnar
Есть простое и красивое решение - переименовать стандартную процедуру.
#3 by palpetrovich
с Новым Годом! и чЁ?
#4 by sanja26
а в чем проблема? делай подписку на ПередЗаписью... или этой процедуры нет в модуле объекта?
#5 by vmv
1. Создать свой Подписчик в дереве метаданных "подписки на события", например Мае_ОрганизациПередЗаписью 2. Создать общий серверный модуль Мае_Подписки 3. Создать в этом модуле метод Мае_ОрганизациПередЗаписью(Источник, Отказ) 3. В указанном методе переопределить все свойства как вам нужно перед записью, не трогая и не обращая внимание на подписчики модуля объекта и типовой подписчик(если он был) 4. Связать свой метод со своим подписчиком 5. Без проблем обновляться с типовых обновлений 6. Поатить мне 500К раз в квартал. все
#6 by sanja26
все типовые проверки будут производиться все равно перед записью
#7 by vmv
отлично, так и должно быть. если же нужно записать объект без проверок, то при думать о подписчике в этом случае - это думать через попу. Для этого есть обработка в две три строки кода Мае_Подписки.Мае_ЗаполнитьСвойстваИПлеватьНаПроверки(Объект); отделяй зерна от плевел)
#8 by yanikolay
Необходимо стандартную процедуру ПередЗаписью модуля объекта, через подписку на события, заменить на собственную, т.е. стандартная процедура ПередЗаписью модуля объекта не должна исполнятся. Это связано с локализацией. ИНН, КПП, ОГРН у нас другие.
#9 by vmv
если вам нужно переопределить ИНН, КПП, ОГРН и другие свойства, то метод в самое то, если предпочитаете потом секс с обновления изобретайте свой, разве ж я против - секс это чудесно)
#10 by vmv
если уж так претит стандарный обработчик по вначале обработчика метода объекта ПередЗаписью пишешь и метод в не забывать тогда две вещи, еще может быть обраточник в метаданных, том тоже находишь метод и Возврат; при обновлениях Возврат; нужно будет проставить опять
#11 by yanikolay
Спасибо, но это понятно. Я спросил, есть ли способ обойти исполнение процедуры ПередЗаписью, кроме как в . Ваше предложение понятно, но оно не катит, т.к. сначала исполняется процедура ПередЗаписью в модуле объекта, а потом событие подписки. Проверка ИНН уже не прходит на этапе процедуры ПередЗаписью модуля объекта. Не хотелось бы изменять типовую конфигураци по таким мелочам.
#12 by vmv
если обработчик ПередЗаписью существует, то игнорировать его исполнение можно только тремя способами 2. "Глушить", т.е. Вовзрат в начале метода 3. ТАК ДЕЛАТЬ НЕЗАКОННО. декомпилировать платформу, запрограммировать свой механизм начала выполнения этого метода и скомпилить новый релиз платформы. все)
#13 by yanikolay
Спасибо!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С