Подписки на события и клиенты #786539


#0 by Misterkat
Вообщем, есть конфигурация УТ 3.1(для Украины). В типовой есть подписка на событие "ПередЗаписью" для всех "ДокументОбъект". Так вот, что она делает - совсем не важно, поскольку она не вызывается, а вот тут уже наступает вопрос - какого она собственно не вызывается?! У модуля, в котором расположен обработчик стоят флаги сервер и внешнее соединение. Пока все првильно... Но при вызове функции внутри формы обработки(&НаКлинете) - платформа пытается найти обработчик для подписки и конечно же его не находит, поскольку у модуля в котором он находится НЕ стоит флажок "клиент(управляемое приложение)". Выход очевиден - поставить его, да вот дилемма - модуль то типовой, и ладно еще просто снять с поставки, так надо же еще и кода поменять добавить килотонну(разделить на  #Если НаКлиенте и т.д.). Вопрос в чем - может есть способ более пряморукий? ЗЫ: На вопрос "Почему клиентская функция ищет там какие-то подписки?!" мне ответить сложно, возможно это из-за создания документа в вызываемой функции(в том же модуле формы, которая уже имеет директиву компиляции &НаСервере), почему подписки не проверяются там - ??!!
#1 by Лефмихалыч
а ты как узнал, что "внутри формы обработки(&НаКлинете) - платформа пытается найти обработчик для подписки"? Она тебе во сне, что ли, явилась и сама всё рассказал?
#2 by Лефмихалыч
&НаКлинете этого происходить не может просто потому, что &НаКлинете не существует ни каких ДокументОбъектов и, как следствие, ни кто не знает ни чего про их события и подписки на них
#3 by Лефмихалыч
либо она вызывается, но ни чего не делает, либо обработчик этот грамотно завернут в директивы компиляции и благодаря этому не существует, либо ты сам себя обыграл и ошибаешься.
#4 by Misterkat
Как тогда может вылетать ошибка о том, что не найден обработчик подписки на событие ПередЗаписью, внутри клиентской процедуры? Выполнение доходит до вызова серверной процедуры(в которой создается документ) и до ее вызова(по нажатию F11 в отладчике) вылетает вышеописанная ошибка.
#5 by Лефмихалыч
подписа ПередЗаписью вызываются после событий формы и до обработчика в модуле объекта
#6 by Лефмихалыч
не, вру - после обработчика в модуле, а не до.
#7 by Misterkat
Я вам про пряники, вы мне про кокосы. Говрю же, есть кнопошка, у нее есть событие обработчик события, конечно же он на клиенте, интерфейс как ни как :), в этом обработчике всего одна строчка "СоздатьЭН" - СоздатьЭН - метод описанный 3мя строчками выше, он серверный и в нем создается документ. Так вот, как только выполнение доходит до "СоздатьЭН", имею ввиду в функцию мы еще не шагнули - вылетает ошибка "При подписке ... на событие ПередЗаписью произошла ошибка. Обработчик события не найден." Разумеется с подпиской все ок, просто из-за того, что проверяется наличие обработчика там, где он не доступен... :(
#8 by Garykom
права?
#9 by Mauser
Черепашка
#10 by Mauser
А начнёшь копать, выяснится что и отладка на сервере отключена, и вообще это не тот объект...
#11 by Mauser
Зато уверенность что "НЕ стоит флажок "клиент(управляемое приложение)". Выход очевиден - поставить его" у автора 100% Сделай копию. Поставь эту свою любимую галочку. Повтори эксперимент.
#12 by Cyberhawk
Покажи демонстрацию ошибки
#13 by Лефмихалыч
ты нашел очень не подходящие уши, чтобы рассказывать в них сказки
#14 by kev789
Наверное файловый режим, толстый клиент...
#15 by Mauser
FYI: +для+украины+картинки
#16 by Лефмихалыч
да даже если так, все равно это все неправда и провокация. Подписка ни в одном режиме не может в контексте формы вызываться. Тем более - управляемой, перемать, форме, в которой ни каких объектов нет вне зависимости от толщины клиента
#17 by kev789
+ Или, точнее, толстый клиент УФ. Если да то запустить в тонком клиенте и проверить
#18 by kev789
Подписка в толстом клиенте вызовется на клиенте, в тонком на сервере. Если у модуля не стоит толстый клиент, будет ошибка. Сталкивались, вроде так если не ошибся...
#19 by Лефмихалыч
в толстом обычном - на клиенте. Но в толстом обычном нет ни каких &НаКлиенте &НаСервере
#20 by kev789
В толстом УФ тоже на клиенте.
#21 by Mauser
Ок. Удачи вам, киевляне.
#23 by Misterkat
- Словил бряк - F11 - F11 ######### И еще пару скринов: ######### Поправил ссылки, модеры почистят предыдущее сообщение.
#24 by Misterkat
Полные Как Вы думаете, я не пробовал? Получил пелену ошибок еще не доходя до вышеуказанных действий, сказал же, нужно разделять условиями очень много кода
#25 by Misterkat
[ОФФТОП] Конечно, я специально потратил день на то, что бы отвлечь Вас на 10 секунд на набор злобного комментария. -_-[/ОФФТОП]
#26 by Cyberhawk
Так надо включить режим УП + ОП в свойствах конфигуратора и убедиться, что флажок компиляции "Клиент (ОП)" стоит у ОМ
#27 by Misterkat
Это какая-то фича, или что? Просто не могу понять, как флаг, предназначенный для ОП может поменять логику работы УП? Не хочется врубать комп, лег уже ;) ЗЫ: Спасибо, что без злобных посланий, а то пришел на форум утром за советом,  а в итоге вместо ответа получил несколько предложений сходить куда подальше
#28 by Mauser
"Пелена посланий" означает то, что конфигурация всеми силами пытается до тебя довести, что этот функционал не работает в толстом клиенте. Зачем ты пытаешься ее изнасиловать (см предмет отладки на первом скриншоте), науке неизвестно. Так что выбирай - плакать и удивляться или замачивать рукава и перепиливать типовой функционал всей конфигурации, потому что одним модулем там дело не кончится.
#29 by Mauser
Закатывать. Но так тоже ничего.
#30 by Misterkat
После сохранения конфы, слияния с типовой проблема ликвидировалас. Вероятно баг платформы. Тема закрыта.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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