При переходе или попытке запуска конфигураций, разработанных на обычных формах (например, Управление торговлей 10.3), в режиме управляемого приложения разработчики часто сталкиваются с ситуацией, когда прописанный в форме код перестает выполняться, а отладчик не останавливается на точках останова. Проанализируем, почему возникает эта проблема и как правильно организовывать код и отладку на сервере.
В конфигурации УТ 10.3 все стандартные формы объектов созданы как обычные формы. Когда пользователь запускает систему в режиме управляемого приложения, платформа 1С не использует эти обычные формы, а автоматически сгенерирует для документа упрощенную управляемую форму «на лету».
В результате этого процесса происходят следующие события:
Если вам требуется выполнить запись во внешний источник данных или реализовать любую другую бизнес-логику при проведении или записи документа в режиме управляемого приложения, код необходимо выносить из модуля формы в модуль объекта.
Код, размещенный в модуле объекта (например, в процедуре ПередЗаписью или ПриЗаписью), выполняется всегда, независимо от того, из какого режима (обычное или управляемое приложение) и через какую форму сохраняется документ.
Разберем пример переноса записи во внешний источник данных в модуль объекта:
Процедура ПриЗаписью(Отказ)
// Код выполняется на сервере для всех типов приложений
Если Не Отказ Тогда
Попытка
// Вызов внешней базы данных или внешнего источника
ЗаписатьВоВнешнийИсточник();
Исключение
ЗаписьЖурналаРегистрации("ОшибкаЗаписиВнешнегоИсточника",
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Если же бизнес-требования действительно требуют наличия уникального интерфейса управляемой формы в УТ 10.3, такую управляемую форму необходимо явно нарисовать и добавить в дерево конфигурации у соответствующего объекта.
При работе в режиме управляемого приложения выполнение серверного кода и событий модуля объекта происходит на стороне сервера 1С. Чтобы точки останова срабатывали в серверном коде, проанализируем необходимые настройки сервера и Конфигуратора.
Пошаговый алгоритм настройки отладки:
-debug (или -debug -http для отладки по протоколу HTTP).-debug обязательно перезапустим службу сервера 1С через оснастку служб Windows или командную строку.Сервер и Фоновые задания.При переносе логики взаимодействия с внешними СУБД из клиента на сервер нужно учитывать нюансы серверного окружения:
rphost. Разрядность драйвера должна соответствовать разрядности платформы 1С (32 или 64 бита).usr1cv8), должна иметь сетевые права для доступа к внешнему серверу БД.Управление внешними источниками данных.