Как запустить 1с в режиме толстого клиента
Поддержка толстого клиента, управляемое приложение, клиент-сервер
Область применения: управляемое приложение, обычное приложение.
1. В управляемом режиме из-за ряда ограничений тонкого клиента может возникнуть необходимость поддержки запуска толстого клиента (в режиме управляемого приложения). Подробнее см. Функциональность обычного приложения, отсутствующая в управляемом приложении.
2. При этом разработка конфигураций, рассчитанных на режим управляемого приложения, как правило, ведется исходя из того, что в клиент-серверной архитектуре код следующих модулей компилируется и выполняется только на сервере
- модуль менеджера;
- модуль объекта;
- модуль сеанса.
В частности, в указанных модулях может встречаться обращение к общим модулям, доступным только на сервере.
Однако в толстом клиенте, в режиме управляемого приложения, клиент-сервер, возможны ситуации, когда указанные модули могут начать компилироваться и выполняться на стороне клиента, в частности:
- если объект (справочник, документ и т.п.) явно создается и вызывается в клиентском коде;
- когда платформа 1С:Предприятие неявно обращается к модулям менеджеров и модулю сеанса для вызова их обработчиков событий на клиенте.
Компиляция и выполнение таких модулей на клиенте могут приводить к ошибкам. По этой причине режим проверки конфигурации для режима толстый клиент, управляемое приложение, может находить ошибки в указанных модулях.
полностью исключить из клиентского контекста код модулей объектов (наборов записей и т.п.), заключив его в инструкцию препроцессора и дополнив вызовом исключения, которое предотвращает несанкционированную попытку использования объекта на клиенте:- полностью исключить из клиентского контекста код модуля сеанса, заключив его в инструкцию препроцессора (так как параметры сеанса требуются для работы серверного, а не клиентского кода конфигурации):
В последнем случае также будет действовать следующее ограничение: если представление объектов формируется обработчиками событий модуля менеджера ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления , то в толстом клиенте, в режиме управляемого приложения, клиент-сервер, представление будет формироваться по умолчанию, без вызова этих обработчиков, и тем самым будет отличаться от остальных режимов работы. (При этом оставшиеся два обработчика модуля менеджера ОбработкаПолученияДанныхВыбора и ОбработкаПолученияФормы вызываются всегда только на сервере, поэтому указанное ограничение на них не распространяется.)
Методическая рекомендация (полезный совет)
3. В тех случаях, когда требуется снять указанное выше ограничение, необходимо дополнительно обеспечить работу на клиенте следующих фрагментов серверного кода:
- обработчиков событий модулей менеджеров ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления
- а также код подписок на эти события модулей менеджеров.
Для этого код перечисленных обработчиков событий следует вынести за инструкции препроцессора, указанные в п.2, а обработчики подписок разместить в клиент-серверных модулях.
При необходимости вызова серверных процедур (и функций) из клиентского кода следует размещать вызываемые процедуры в серверных общих модулях с признаком Вызов сервера . При этом нужно убедиться, что в параметры процедур (и в возвращаемые значения функций) не передаются значения мутабельных типов ( СправочникОбъект , ДокументОбъект и пр.)
Важно: не следует для этих целей всем общим модулям с признаком Сервер принудительно устанавливать флажок Вызов сервера . Подробнее см. Ограничение на установку признака «Вызов сервера» у общих модулей.
Например, обработчик события ОбработкаПолученияПредставления вызывает общий модуль, который не доступен на клиенте:
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
Взаимодействия.ОбработкаПолученияПредставления(Данные, Представление);
СтандартнаяОбработка = Ложь;
правильно выполнить переход на сервер (и при этом не передавать на клиент значения мутабельных типов):
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ВзаимодействияВызовСервера.ОбработкаПолученияПредставления(Данные, Представление);
СтандартнаяОбработка = Ложь;
4. Для расстановки фрагментов кода с инструкциями препроцессора можно воспользоваться приложенной обработкой.
Запуск конфигураций 1С Предприятия на управляемых формах в режиме "Обычное приложение" требуется, если есть необходимость открыть обработку с обычной формой.
КАКИЕ КОНФИГУРАЦИИ РАБОТАЮТ НА УПРАВЛЯЕМЫХ ФОРМАХ
- 1С Управление торговлей 11
- 1С Управление нашей фирмой
- 1С Розница 2
- 1С Бухгалтерия 3
- 1С ERP
- 1C Комплексная 2
КАК ЗАПУСТИТЬ 1С В РЕЖИМЕ ОБЫЧНОЕ ПРИЛОЖЕНИЕ
Запускаем 1С (окно списка баз)
В списке баз ставим курсор на базу которую нужно запустить в обычном режиме и жмем кнопку ИЗМЕНИТЬ
ДАЛЕЕ
Устанавливаем в поле "Дополнительные параметры запуска" ключ "/RunModeOrdinaryApplication" и жмем ГОТОВО
Запускаем 1С
1С в режиме "Обычное приложение"
Теперь можно открывать обработки на обычных формах
После работы с обработкой необходимо вернуть запуск 1С в управляемом режиме.
Для этого нужно убрать ключ "/RunModeOrdinaryApplication" в поле "Дополнительные параметры запуска"
О том, что это за клиенты такие и зачем вообще может понадобиться переключаться между ними написано здесь.
1. Запустите окно выбора баз 1С, выберите нужную базу и нажмите кнопку "Изменить":
3. Ещё раз нажмите кнопку "Далее":
4. И вот теперь в качестве основного режима запуска выберите "Тонкий клиент" или "Толстый клиент". Если этой настройки у вас нет - вам сюда.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Читайте также: