Подскажите.. есть обработка, для которой я создала обычную и управляемую форму. Обработка не встроена в конфигурацию, а открывается через Файл > Открыть. Будет использоваться в двух конфигурациях: БП 2.0 и БП 3.0.
Подскажите, как заставить открываться ее "правильно" - т.е. чтобы при запуске ее в БП 2.0 открывалась обычная форма, а в БП 3.0 - управляемая?
Сейчас я пока сделала так: основной формой назначила "обычную". Соответственно, под БП 2.0 все открывается хорошо. Теперь мне нужно при запуске под БП 3.0 открыть управляемую форму. Сам режим запуска я смогу отловить (через #Если ТонкийКлиент Тогда ... ), но - что дальше? Где перехватить и каким кодом прописать вызов управляемой формы вместо обычной при запуске под БП 3.0.?
(1) 0dayMaja, здесь два варианта:
1. Создать дополнительную форму в обработке для ОФ (на вкладке дополнительно);
2. Форму сделать одну, но в свойствах конфигурации разрешить использовать обычные формы в управляемом приложении.
(3) Denis_CFO, хочу поддержать тему. Вопрос и для меня актуален.
Denis_CFO писал "в свойствах конфигурации разрешить использовать обычные формы в управляемом приложении". Совершенно согласен, но с большой оговоркой:
После такой установки 1С открывает отчеты/обработки встроенные в конфигурацию.
Справедливо и для обратной ситуации: в обычном приложении открывать УФ.
С внешними все гораздо хуже: 1С открывает их в так называемом "Безопасном режиме". Отсюда и разница в поведении встроенных и внешних. Читал когда-то и ни черта не понял, зачем он, если обработка может что угодно удалить и записать.
Идея писать в одной обработке 2 формы не интересна 1) по затратности. 2) кажется не пройдет. 1С сама не выбирает "подходящую" форму. Будет тупо вызывать основную.
Была такая мысль: сделать в конфигурации обработку-вызывалку. Она открывается, в нее вводишь имя файла-обработки.
Вызывалка сначала дает команду УстановитьБезопасныйРежим(Ложь), потом открывает внешнюю обработку. Но руки не дошли проверить.
(9) Dnki, согласен, что второй вариант лучше не применять. Но я рассказал, как можно сделать. Я не сомневаюсь, что если топик-стартер более полно опишет какой он (она) хочет результат в итоге, я уверен, что будет предложено ещё куча решений... А так "... каков поп, таков и приход..." (с) Народное.
PS. Кстати, про безопасный режим ещё даже руки не доходили... В основном работаю с ОФ (такая клиентура). И ещё - если автору нужно сделать один раз и надолго - то можно и две формы описать один раз время потратить.
(1) 0dayMaja, поменяй местами формы,
основная - управляемая,
дополнительная - обычная.
А вообще, я посмотрел сейчас, как это сделано в готовой обработке (Универсальный подбор и обработка объектов для обычного и управляемого приложения).
Пишутся 2 самодостаточных обработки, одна для управляемого приложения (со сведениями, регистрацией), другая для обычного..
далее, чтобы нам это объединить в одну,
в обработку на управляемых формах, добавляем обычную форму, и макет двоичных данных, в который пихается обработка от обычного приложения.
Далее, в добавленной обычной форме следующий код
По умолчанию, всегда пытается открываться основная форма обработки, управляемая. В управляемых конфах, это происходит без проблем, и все работает.
В обычных формах, управляемая открыться не может, и открывается альтернативная, которая обычная, та в принципе извлекает обработку из макета, и запускает ее.
Все предельно просто и понятно.
(4) suvolod, видимо потому что, обработку пытаешся делать в како-то конфе для управляемого приложения.
Создай обработку, скажем, в бухне 2.0
и дополнительная форма будет доступна.
Обработку для 2.0 подключайте так же как и обычные обработки.
Обработку для 3.0 нужно дописать как написано на ИТС http://its.1c.ru/db/bspdoc#content:427:1 и подключать стандартным методом