1с показатьвводстроки не работает в толстом клиенте
Поддержка толстого клиента, управляемое приложение, клиент-сервер
Область применения: управляемое приложение, обычное приложение.
1. В управляемом режиме из-за ряда ограничений тонкого клиента может возникнуть необходимость поддержки запуска толстого клиента (в режиме управляемого приложения). Подробнее см. Функциональность обычного приложения, отсутствующая в управляемом приложении.
2. При этом разработка конфигураций, рассчитанных на режим управляемого приложения, как правило, ведется исходя из того, что в клиент-серверной архитектуре код следующих модулей компилируется и выполняется только на сервере
- модуль менеджера;
- модуль объекта;
- модуль сеанса.
В частности, в указанных модулях может встречаться обращение к общим модулям, доступным только на сервере.
Однако в толстом клиенте, в режиме управляемого приложения, клиент-сервер, возможны ситуации, когда указанные модули могут начать компилироваться и выполняться на стороне клиента, в частности:
- если объект (справочник, документ и т.п.) явно создается и вызывается в клиентском коде;
- когда платформа 1С:Предприятие неявно обращается к модулям менеджеров и модулю сеанса для вызова их обработчиков событий на клиенте.
Компиляция и выполнение таких модулей на клиенте могут приводить к ошибкам. По этой причине режим проверки конфигурации для режима толстый клиент, управляемое приложение, может находить ошибки в указанных модулях.
полностью исключить из клиентского контекста код модулей объектов (наборов записей и т.п.), заключив его в инструкцию препроцессора и дополнив вызовом исключения, которое предотвращает несанкционированную попытку использования объекта на клиенте:- полностью исключить из клиентского контекста код модуля сеанса, заключив его в инструкцию препроцессора (так как параметры сеанса требуются для работы серверного, а не клиентского кода конфигурации):
В последнем случае также будет действовать следующее ограничение: если представление объектов формируется обработчиками событий модуля менеджера ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления , то в толстом клиенте, в режиме управляемого приложения, клиент-сервер, представление будет формироваться по умолчанию, без вызова этих обработчиков, и тем самым будет отличаться от остальных режимов работы. (При этом оставшиеся два обработчика модуля менеджера ОбработкаПолученияДанныхВыбора и ОбработкаПолученияФормы вызываются всегда только на сервере, поэтому указанное ограничение на них не распространяется.)
Методическая рекомендация (полезный совет)
3. В тех случаях, когда требуется снять указанное выше ограничение, необходимо дополнительно обеспечить работу на клиенте следующих фрагментов серверного кода:
- обработчиков событий модулей менеджеров ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления
- а также код подписок на эти события модулей менеджеров.
Для этого код перечисленных обработчиков событий следует вынести за инструкции препроцессора, указанные в п.2, а обработчики подписок разместить в клиент-серверных модулях.
При необходимости вызова серверных процедур (и функций) из клиентского кода следует размещать вызываемые процедуры в серверных общих модулях с признаком Вызов сервера . При этом нужно убедиться, что в параметры процедур (и в возвращаемые значения функций) не передаются значения мутабельных типов ( СправочникОбъект , ДокументОбъект и пр.)
Важно: не следует для этих целей всем общим модулям с признаком Сервер принудительно устанавливать флажок Вызов сервера . Подробнее см. Ограничение на установку признака «Вызов сервера» у общих модулей.
Например, обработчик события ОбработкаПолученияПредставления вызывает общий модуль, который не доступен на клиенте:
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
Взаимодействия.ОбработкаПолученияПредставления(Данные, Представление);
СтандартнаяОбработка = Ложь;
правильно выполнить переход на сервер (и при этом не передавать на клиент значения мутабельных типов):
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ВзаимодействияВызовСервера.ОбработкаПолученияПредставления(Данные, Представление);
СтандартнаяОбработка = Ложь;
4. Для расстановки фрагментов кода с инструкциями препроцессора можно воспользоваться приложенной обработкой.
В свойствах конфигурации стоит галка "Использовать управляемые формы в толстом клиенте в обычном режиме", но в толстом клиенте форма не открывается. Подскажите, какие еще настройки надо проверить.
(1) tamidi, управляемая форма - внешняя? В обычном режиме могут открываться только те упр. формы, которые встроены в конфигурацию
(4) Allexe8.1, да, у меня внешняя обработка. Т.е. можно только добавить обработку в конфигурацию с управляемой формой?
в толстом клиенте управляемые формы не открываются. только в тонком клиенте.
(2) serg1234, для чего тогда по вашему используется названное мной выше свойство?
в толстом клиенте управляемые формы не открываются.
Для работы с консолью в версии 8.2 необходимо сделать следующее:
1. В конфигураторе установить редим разработки конфигурации "Обычное и управляемое приложение" (Меню Сервис)
2. В свойствах конфигурации (контекстное меню корня) выбрать настройку "Использовать обычные формы в управляемом приложении".
3. ОБЯЗАТЕЛЬНО подключить обработку в состав конфигурации.
4. Запускать режим отладки Толстый клиент , Управляемое приложение.
(9) IgorXml, так выше об этом же и говорили, просто мне надо БЕЗ включения в конфигурацию.
(10) tamidi, Я в сомнении. Только если внутри конфигурации.
(9) IgorXml, так я не пойму в чем вопрос: открыть обычную форму в управляемом приложении или управляемую форму в обычном приложении? Я так скорее слышала тоже про первое.
Вам нужна работа с консолью запросов? Если приложение обычное, есть просто обработка Консоль запросов, если управляемое, и вам нужен вызов конструктора запроса при открытии управляемой формы, тогда нужно открывать в толстом клиенте Управляемоим режиме. Но зачем вам в обычном приложении управляемая форма консоли ? Или я не так понял ?
Преподаватель 1С
Санкт-Петербург
зарплата от 100 000 руб. до 120 000 руб.
Временный (на проект)
О том, что это за клиенты такие и зачем вообще может понадобиться переключаться между ними написано здесь.
1. Запустите окно выбора баз 1С, выберите нужную базу и нажмите кнопку "Изменить":
3. Ещё раз нажмите кнопку "Далее":
4. И вот теперь в качестве основного режима запуска выберите "Тонкий клиент" или "Толстый клиент". Если этой настройки у вас нет - вам сюда.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
После того, как Вы установили платформу, создали пустую конфигурацию (или установили какую-нибудь учебную демо-конфигурацию), то при запуске стартера 1С Вы увидите две кнопки: «1С Предприятие» и «Конфигуратор» (для этого необходимо выделить какую-нибудь базу из списка, см. рис. 1.1.1).
Рис. 1.1.1. Стартер 1С
По большому счету это и есть два основных вида клиентских приложений.
После выхода платформы 8.2, «1С: Предприятие» в режиме пользовательского приложения может работать в тонком и толстом клиенте, а также появился web-клиент, который позволяет работать с «1С: Предприятием» из web-браузера.
Итого, на данный момент существует четыре вида клиентских приложений:
- «Тонкий клиент»
- «Толстый клиент»
- Web-клиент
Почему появилась необходимость разделения обычного клиентского приложения на три вида: «тонкий», «толстый» и web-клиент? Виной этому развитие технологий вообще и интернета в частности. Очень часто стала появляться необходимость в работе с «1С: Предприятием» через сеть интернет, и это стало накладывать определенные ограничения, поскольку пропускная способность сети интернет гораздо уже, чем обычной локальной сети. Поэтому те технологии платформы, которые существовали при редакциях 8.0 и 8.1, стали неприменимы в новых реалиях. Как следствие, была разработана платформа 8.2, в которой обычное приложение разделилось на три вида: «толстый», «тонкий» и web-клиент.
Разберем все виды клиентов подробнее.
«Тонкий клиент»
Этот вид клиентского приложения поставляется в виде отдельного дистрибутива, который так и называется «Тонкий клиент 1С:Предприятия для Windows», скачивается с сайта 1С (при наличии ИТС-подписки) и устанавливается на локальной машине. Исполняемый файл в операционной системе Windows называется 1Cv8с.exe.
Разберем работу «тонкого клиента» по разными протоколами. Первым делом, начнем с привычного нам TCP/IP (кто не знает, это самый распространенный протокол работы локальной сети Ethernet). Возможны два варианта работы с тонким клиентом по сети Ethernet: клиент-серверный вариант и работа с файловой базой.
Рассмотрим оба этих варианта работы «1С: Предприятия»:
Файловый вариант применим, когда работает один или несколько пользователей в рамках небольшой сети, а также в том случае, когда не используются большие объемы данных или громоздкие вычисления. В этом варианте работы все данные расположены в одном файле 1Cv8.1CD, который так и называется – файловая база данных «1С: Предприятия». Схематически работу файлового варианта можно представить так:
Рис. 1.1.2 Схематичное представление работы файлового варианта
Рис. 1.1.3 Схематичное представление работы клиент-серверного варианта
Вернемся к «тонкому клиенту». Как было выше сказано, это клиентское приложение посредством протокола TCP/IP может работать как c вариантом файловой базы, так и с вариантом клиент-серверной архитектуры.
При файловом варианте работы (рис. 1.1.4) «тонкий клиент» взаимодействует непосредственно с файловой базой данных. При этом на стороне «тонкого клиента» организуется специализированная серверная среда, которая, по сути, эмулирует работу сервера. Эта специализированная серверная среда не выделяется отдельным процессом в операционной системе, а входит в процесс «тонкого клиента». Она берет на себя загрузку прикладной конфигурации и прочие серверные действия, необходимые для нормального функционирования «тонкого клиента».
В случае клиент-серверного варианта (рис 1.1.5) «тонкий клиент» напрямую взаимодействует с кластером серверов «1С:Предприятия» посредством локальной сети Ethernet. В этом варианте принципы работы точно такие же, как и для «толстого клиента».
Почему же нужно применять «тонкий клиент» при работе по локальной сети, когда для этого можно работать под «толстым клиентом»? Не всегда в локальной сети предприятия используются хорошие быстрые машины, способные на себя брать какие-то вычисления. Очень часто это могут быть «убитые в хлам» компьютеры, и в данном случае работа под «тонким клиентом» вполне оправдана. При работе в «тонком клиенте» по локальной сети проходят меньшие объемы данных, все вычисления ведутся на сервере, а не на локальной машине, и поэтому устанавливаются более низкие требования к производительности компьютеров, на которых запущен этот вид клиентского приложения (в том случае, когда используется клиент-серверный вариант работы базы).
Теперь перейдем к работе с «тонким клиентом» через сеть Internet. Работа с этим видом клиентского приложения посредством сети Internet возможна как в файловом варианте, так и в клиент-серверном варианте.
В этой книге мы не будем подробно разбирать механизмы настройки «тонкого клиента» и web-клиента для работы через интернет, а коснемся только общих моментов, для того чтобы Вам был понятен принцип действия.
И последняя важная особенность «тонкого клиента»: под ним у Вас нет возможности работать с конфигуратором. Когда Вы запустите «тонкий клиент», то кнопка «конфигуратор» в стартере 1С будет отсутствовать (см. рис 1.1.8). В принципе, это логично: нет смысла давать доступа к «тяжелому» конфигуратору, когда у Вас ограничены ресурсы сети.
Рис. 1.1.8. Вид окна запуска «тонкого клиента»
Web-клиент
Следующий интересный вид клиента, который мы разберем, это web-клиент. Этот вид клиентского приложения необходим для работы только по сети Internet. Причем, если для работы «тонкого клиента» на локальной машине необходимо было устанавливать программное обеспечение, то для работы под web-клиентом этого делать не нужно. Вся работа с данным клиентом может осуществляться посредством интернет-браузера (Mozilla, Opera, Internet Explorer и др.). Это очень удобный вид «тонкого клиента»: любой пользователь, в любой точке мира с любого устройства может запустить интернет-браузер, ввести адрес web-сервера, где опубликована база, и получить доступ к этой самой базе. Нет необходимости ни в скачивании, ни в установке какого-либо программного обеспечения.
Web-клиент может работать как с обычной файловой базой, так и с клиент-серверной архитектурой. Единственно, что в обоих случаях, как и в случае работы «тонкого клиента» посредством сети Internet, необходимо на стороне сервера установить специальное программное обеспечение – web-сервер (как правило, это Apache или IIS).
Принципы работы web-клиента в случае файловой базы и клиент-серверной архитектуры представлены на рис. 1.1.9 и 1.1.10
Рис. 1.1.9. Схема работы web-клиента в файловом варианте | Рис. 1.1.10. Схема работы web-клиента в клиент-серверном варианте |
«Толстый клиент»
Одна из особенностей «толстого клиента» то, что он поддерживает работу в обычном режиме, т.е. под «толстым клиентом» Вы можете запускать приложения, разработанные под платформами 8.1 и 8.0. – обычные приложения. А также в управляемых приложениях запускать обычные формы, что естественно нельзя сделать в «тонком клиенте».
Про обычные и управляемые приложения мы подробно поговорим в следующей главе.
«Толстый клиент» устанавливается обычным дистрибутивом и в операционной системе Windows запускается исполняемым файлом 1Cv8.exe.
Поскольку для работы с «толстым клиентом» необходимы значительные вычислительные мощности, то связываться с базой данных можно или напрямую, или посредством локальной сети Ethernet. Этот вид клиентского приложения может работать как с файловой базой данных, так и с клиент-серверной архитектурой (по протоколу TCP/IP).
В том случае, когда используется клиент-серверный вариант работы «толстого клиента» (рис. 1.1.13), то «толстый клиент» по локальной сети подключается к кластеру серверов «1С:Предприятия», а кластер серверов взаимодействует с SQL-сервером (СУБД). Причем кластер серверов и СУБД могут находиться на разных компьютерах, администратор имеет возможность их разнести, чтобы оптимизировать производительность серверов.
Рис. 1.1.11 Окно запуска «толстого клиента»
Рис. 1.1.12. Схема работы «толстого клиента» в файловом варианте | Рис. 1.1.13. Схема работы «толстого клиента» в клиент-серверном варианте |
И в заключение приведем таблицу, которая наглядно дает понять, чем отличаются эти три вида клиентских приложений: «толстый клиент», «тонкий клиент» и web-клиент.
Табл. 1.1.1 Отличия различных клиентских приложений.
Уникальная авторская методика!
Эта книга подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Читайте также: