как переделать управляемую форму в обычную
Как переделать управляемую форму в обычную
Есть внешняя обработка, написанная для версии 8.1. Можно ли запустить ее в версии 8.2 так, чтобы работать с ее старой, неуправляемой формой? Обработка нужна всего один раз, для переноса данных, и создавать для нее управляемую форму ради одного раза не хочется.
Для внешних обработок (открываемых из отдельного файла) в управляемом режиме использование обычных форм не поддерживается. Поэтому если в конфигурации, работающей в управляемом режиме, необходимо запустить обработку с неуправляемой формой, и не хочется создавать для этой обработки новую, управляемую форму, то сначала такую обработку нужно включить в состав конфигурации.
Обычные (неуправляемые) формы могут работать только в толстом клиенте. Тонкий и веб-клиенты поддерживают работу только с управляемыми формами.
Поэтому, если нужно открыть обычную форму обработки в управляемом интерфейсе приложения, то это возможно только в толстом клиенте, запущенном в режиме управляемого приложения.
При этом нужно помнить, что запуск клиентов в управляемом режиме возможен только в том случае, если у конфигурации отключена совместимость в версией 8.1 (свойство Режим совместимости ).
Однако этого недостаточно для того, чтобы платформа откорыла старую, неуправляемую форму обработки.
Ну и наконец, у объекта, обычную форму которого вы хотите увидеть в управляемомом режиме, должна существовать единственная основная форма объекта, и эта форма должна быть обычной, неуправляемой. В других случаях (если у объекта нет ни одной основной формы или у объекта есть управляемая основная форма) платформой будет по умолчанию генерироваться или открываться (если она есть) управляемая форма.
Как в управляемом режиме открыть «старую» форму обработки?
Допустим, есть внешняя обработка, написанная для версии 8.1. Можно ли запустить ее в версии 8.2 так, чтобы работать с ее старой, неуправляемой формой? Обработка нужна всего один раз, для переноса данных, и создавать для нее управляемую форму ради одного раза не хочется.
Для внешних обработок (открываемых из отдельного файла) в управляемом режиме использование обычных форм не поддерживается. Поэтому если в конфигурации, работающей в управляемом режиме, необходимо запустить обработку с неуправляемой формой, и не хочется создавать для этой обработки новую, управляемую форму, то сначала такую обработку нужно включить в состав конфигурации.
Обычные (неуправляемые) формы могут работать только в толстом клиенте. Тонкий и веб-клиенты поддерживают работу только с управляемыми формами.
Поэтому, если нужно открыть обычную форму обработки в управляемом интерфейсе приложения, то это возможно только в толстом клиенте, запущенном в режиме управляемого приложения.
При этом нужно помнить, что запуск клиентов в управляемом режиме возможен только в том случае, если у конфигурации отключена совместимость в версией 8.1 (свойство РежимСовместимости).
Однако этого недостаточно для того, чтобы платформа откорыла старую, неуправляемую форму обработки.
Ну и наконец, у объекта, обычную форму которого вы хотите увидеть в управляемом режиме, должна существовать единственная основная форма объекта, и эта форма должна быть обычной, неуправляемой.
В других случаях (если у объекта нет ни одной основной формы или у объекта есть управляемая основная форма) платформой будет по умолчанию генерироваться или открываться (если она есть) управляемая форма.
Как открывать одну и ту же обработку в обычном и управляемом режиме?
Подскажите.. есть обработка, для которой я создала обычную и управляемую форму. Обработка не встроена в конфигурацию, а открывается через Файл > Открыть. Будет использоваться в двух конфигурациях: БП 2.0 и БП 3.0.
(1) 0dayMaja, здесь два варианта:
1. Создать дополнительную форму в обработке для ОФ (на вкладке дополнительно);
2. Форму сделать одну, но в свойствах конфигурации разрешить использовать обычные формы в управляемом приложении.
(3) Denis_CFO, хочу поддержать тему. Вопрос и для меня актуален.
Denis_CFO писал «в свойствах конфигурации разрешить использовать обычные формы в управляемом приложении «. Совершенно согласен, но с большой оговоркой:
После такой установки 1С открывает отчеты/обработки встроенные в конфигурацию.
Справедливо и для обратной ситуации: в обычном приложении открывать УФ.
С внешними все гораздо хуже: 1С открывает их в так называемом «Безопасном режиме». Отсюда и разница в поведении встроенных и внешних. Читал когда-то и ни черта не понял, зачем он, если обработка может что угодно удалить и записать.
Идея писать в одной обработке 2 формы не интересна 1) по затратности. 2) кажется не пройдет. 1С сама не выбирает «подходящую» форму. Будет тупо вызывать основную.
Была такая мысль: сделать в конфигурации обработку-вызывалку. Она открывается, в нее вводишь имя файла-обработки.
Вызывалка сначала дает команду УстановитьБезопасныйРежим(Ложь), потом открывает внешнюю обработку. Но руки не дошли проверить.
Программирование в 1С для всех
При выполнении различных задач, может возникать ситуация, когда нужно в управляемом приложении 1С открыть обычную форму. Реализуется эта возможность достаточно просто: нужно изменить один параметр конфигуратора 1С и одно свойство конфигурации. Разберем по подробнее.
Для того, чтобы имелась принципиальная иметь дело с обычными формами, в конфигураторе этой базы нам необходим параметр конфигуратора «Редактирование конфигурации для режимов запуска». Для этого параметра необходимо установить переключатель «Управляемое приложение и обычное приложение».
Путь к параметрам конфигуратора 1C: Главное меню –Сервис – Параметры
Сам параметр находится на закладке «Общие»
Семь полезных параметров конфигуратора 1С
После установки этого параметра в палитре свойств Вашей конфигурации будет виден флаг «Использовать обычные формы в управляемом приложении». Его нужно установить.
После сохранения конфигурации, у Вас будет возможность в управляемом приложении открыть любую обычную форму.
Обратите внимание! Открывать обычную форму можно только в режиме толстого клиента, в других режимах (тонкий клиент или веб-клиент) обычные формы открывать нельзя!
После изменения конфигурации при создании любой формы у Вас появится возможность выбрать: сделать эту форму обычной или управляемой. В конструкторе формы появится свойство «Тип формы», где можно выбрать, какая это будет форма Управляемая или Обычная.
В своей учебной конфигурации я сделал форму документа обычной
Причем сделал её основной формой документа
Если сейчас в 1С: Предприятии, которое запущенно в толстом клиенте, мы создадим новый документ, то открывается обычная форма.
При запуске 1С: Предприятия в тонком клиенте, откроется управляемая форма документа (сгенерируется автоматически). Это не смотря на то, что основная форма документа обычная.
Открытие управляемом формы с передачей параметров
Открытие управляемой формы существующего объекта
Открытие управляемой формы на основании другого объекта
Очень подробно вопросы по работе с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
Промо-код на скидку в 15% — 48PVXHeYu
Многие начинающие думают, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 9 шагов» и «Основы разработки в 1С: Такси»
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 9 шагов»
Промо-код на скидку в 16%: vCph8bW3rE
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей
Программное управление обычными формами документов и справочников в УПП/КА
Часть 1
Чтобы не снимать с поддержки все формы конфигурации и не вставлять свои обработчики в процедуры «ПриОткрытии», будем искать такую процедуру, которая вызывается во всех формах документах и справочников.
И так, с нимаем с поддержки общий модуль «РаботаСДиалогами».
Находим функцию «АктивизироватьРеквизитВФорме» и сразу после объявления функции добавляем строку вызова нашей процедуры:
Все. Отделались снятием с поддержки двух модуле с добавлением в них двух строк. Обновлять будет легко.
Часть 2
Теперь самое главное.
Добавляем в конфигурацию общий модуль «ИТ_РаботаСДиалогами». В свойствах ставим галочки на использование в клиенте.
В модуль помещаем вызываемые функции.
Обратите внимание, что работа с формами справочника имеет особенности. Поскольку процедура «МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера» вызывается как из формы списка справочника, так и из формы самого элемента справочника. Различить можно только по составу передаваемых метаданных или просто по имени формы.
Часть 3
Поскольку мы не хотим каждый раз писать кучу кода при размещении реквизитов на форму, мы напишем заранее разного рода функции и процедуры, которые и будем в дальнейшем использовать.
— Функция добавления поля ввода на форму (одна из ранних наших функций).
— Функция добавления флажка на форму.
Эта функция позволяет разместить на форму флажок (булево).
Правила использования такие же как у предыдущей функции. Фактически это копия предыдущей функции, только для флажка.
Код этой функции почти идентичны предыдущим, по этому убран под спойлер.
— Функция добавления надписи на форму.
Эта функция позволяет разместить на форму надпись.
Правила использования такие же как у предыдущей функции. Фактически это вырезка вывода надписи из первой функции..
Код убран под спойлер
— Универсальное добавление поля на форму. (это другой подход добавления элементов на форму, гораздо более универсальный).
Используем эту процедуру гораздо чаще тех, что указал выше.
— Процедура удаления колонки в табличной части формы.
Иногда возникает необходимость удалять колонки с формы документа. Тут все просто.
— Процедура удаления элемента формы.
Часть 4
Думаю надо показать несколько примеров, как мы добавляем новые реквизиты на форму.
Примеры добавления колонки на форме:
Еще пример с добавлением полей в отдельной закладке:
Еще пример работы с формой справочника.
Часть 5
Доработки по совместимости и универсальности.
Желательно весь код модуля «ИТ_РаботаСДиалогами» обрамить в клиента
В процедурах, прежде чем добавлять реквизиты на форму, убедитесь, что такой реквизит существует.
Например так:
Поскольку вызов функции может происходить многократно в одной форме, всегда проверяйте, выведен ли уже реквизит на форму.
Например так:
Такие проверки позволят вам копировать общий модуль «ИТ_РаботаСДиалогами» во все ваши конфигурации УПП/КА и не бояться вызова исключений.