![]() |
|
Модераторы: stron |
![]()
|
|
| Antey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 2.11.2007 Репутация: нет Всего: нет |
Добрый день.
Имеется клиент-серверный вариант базы УПП. Создал подписку на событие ПередЗаписью для определенных видов документов. по событию подписки вызывается процедура из некоторого общего модуля, для которого установлены свойства: клиент упр. приложение, сервер, внешнее соединение и клиент обычное приложение. В процедуре выполняются некоторые условия по документам, и если документ не проходит условия проверки, то Отказ = Истина, и на экран должна выводится форма из общих форм, куда пользователь может ввести информацию (форма открывается не модально, чтобы не влиять на транзакции при про проведение документа). Проблема возникает именно с выводом формы на экран: все условия проверки документов выполняются на сервере, и соответственно на сервере открытие интерактивных форм не возможно. Процедура СобытиеПодписки(......) ... Если Не ДокументПрошелПроверку() Тогда Отказ = Истина; ВывестиДиалогВопроса(); КонецЕсли; ... КонецПроцедуры Если процедуру ВывестиДиалогВопроса поместить в условие #Если Клиент, то ничего не происходит, как-будто СобытиеПодписки компилируется только на сервере. Хотя в синтаксис помощнике указано, что "Экземпляры всех общих модулей создаются как на серверной, так и на клиентской стороне", поэтому по идее процедура СобытиеПодписки должно иметь экземпляры как на сервере, так и на клиенте. Или я не прав? |
|||
|
||||
| Antey |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 2.11.2007 Репутация: нет Всего: нет |
Вопрос снят.
Оказалось, что вызов перед записью в налоговый регистр происходил несколько раз, если в первом вызове процедура была скомпилена как на стороне сервера, так и на стороне клиента, то уже следующие вызовы были сформированы только на стороне сервера. В качестве проверки, в процедуре подписки разместил кусок для теста: #Если Клиент Тогда сообщить("клиент"); #КонецЕсли #Если Сервер Тогда сообщить("сервер"); #КонецЕсли #Если ТолстыйКлиентОбычноеПриложение Тогда сообщить("тол. клиент обычное приложение"); #КонецЕсли #Если ТолстыйКлиентУправляемоеПриложение Тогда сообщить("тол. клиент управляемо приложение"); #КонецЕсли При выполнение проведения одного из документов получил след. сообщения: сервер клиент тол. клиент обычное приложение тест тест тест |
|||
|
||||
![]()
|
| Правила форума "1C: Предприятие, SAP, ERP и учётные системы" | |
|
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |