Программное открытие обработок в 1С

В этой статье я разберу особенности программного открытия обработок в 1С. Мы узнаем, как открыть форму обработки, как открыть форму внешней обработки из самой внешней обработки, а также как открыть форму внешней обработки из клиентского режима платформы 1С 8.3.

Открыть форму обработки 1С

Начнем с того, что саму по себе открыть программной обработку нельзя. Можно открыть какую-либо из форм обработки.  Для программного открытия управляемой формы обработки необходимо использовать метод ОткрытьФорму.  

В первой статье, в которой мы начали знакомиться с обработками в 1С, я создал обработку «Обработка для примера» с формой.

В этой статье я покажу, как открыть программно форму этой обработки из другой обработки «Обработка1».  Для этого у Обработки1 я создал управляемую форму и команду формы.

Обработка 1С и форма обработки 1С

В клиентском обработчике команды, напишем код, который будет открывать основную форму обработки.

&НаКлиенте
Процедура ОткрытьОбработкуДляПримера(Команда)

    ОткрытьФорму("Обработка.ОбработкаДляПримера.Форма",,,,,,,
                 РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

КонецПроцедуры

Какая именно форма обработки будет открыта, можно указать в контекстной подсказке, которая появляется после ввода названия обработки.

Обработка 1С и форма обработки 1С

После, в результате выполнения команды, в отдельном окне будет открываться форма обработки «Обработка для примера».

Обработка 1С и форма обработки 1С

Открыть форму внешней обработки 1С

Если нам необходимо, чтобы из одной формы  внешней обработки открылась другая форма этой же внешней обработки, то также необходимо использовать метод ОткрытьФорму, как в примере выше, только вместо слова Обработка необходимо написать ВнешняяОбработка.

Разберем пример. Пусть, у внешней обработки будут две формы: Основная и Дополнительная.

Открыть форму внешней обработки

На основной форме создадим команду «Открытие дополнительной», при выполнении которой будет открываться  дополнительная форма.

Открыть форму внешней обработки

У этой команды будет клиентский обработчик события, со следующим кодом:

&НаКлиенте
Процедура ОткрытьДополнительную(Команда)
    ОткрытьФорму("ВнешняяОбработка.ОбработкаДляПримера.Форма.Дополнительная",
                ,,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры

Теперь, открыв внешнюю обработку, мы сможем из её основной формы открыть дополнительную.

Открыть форму внешней обработки

Открыть внешнюю обработку 1С

Выше мы разбирали пример, когда внешняя обработка открыта, и нам нужно открыть форму внешней обработки из самой внешней обработки, но иногда возникают задачи, когда нужно открыть форму внешней обработки из какого-то другого места, зная путь к этой обработке на жестком диске, или выбрав непосредственно файл обработки.

Разберем эту задачу. Откроем внешнюю обработку из обработки, которую создали в предыдущей статье, и с которой работали уже в этой — «Обработка 1».

В этой обработке создадим команду, при выполнении которой откроется форма внешней обработки.

Открыть внешнюю обработку 1С

В форме обработки  напишем следующий код:

Код работает, начиная с платформы 8.3.15.

&НаКлиенте
Процедура ОткрытьВнешнююОбработку(Команда)

    АдресХранилища = "";
    ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов;
    ПараметрыДиалога.Заголовок = "Выберете файл внешней обработки";
    ПараметрыДиалога.МножественныйВыбор = Ложь;
    ПараметрыДиалога.Фильтр = "Файл внешней обработки| *.epf";

    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеВыбораФайла",ЭтаФорма);

    НачатьПомещениеФайлаНаСервер(ОписаниеОповещения,,,АдресХранилища,ПараметрыДиалога,);

КонецПроцедуры

&НаКлиенте
Процедура ПослеВыбораФайла(ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт

    Если ОписаниеПомещенногоФайла = Неопределено Тогда
        Возврат;
    КонецЕсли;

    Адрес = ОписаниеПомещенногоФайла.Адрес;

    ИмяВО = ПолучитьИмяВнешнейОбработки(Адрес);

    ОткрытьФорму("ВнешняяОбработка." + ИмяВО + ".Форма",,,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьИмяВнешнейОбработки(Адрес)

    Возврат ВнешниеОбработки.Подключить(Адрес);

КонецФункции 


В вышеприведенном коде, процедура  ОткрытьВнешнююОбработку — обработчик команды «Открыть внешнюю обработку», в этом обработчике используется метод НачатьПолучениеФайлаНаСервер, который выполнен в варианте открытия диалога выбора файла. После выбора файла срабатывает процедура описания оповещения ПослеВыбораФайла. В этой процедуре получается адрес временного хранилища файла (переменная Адрес), по которому находится название внешней обработки (в серверной процедуре ПолучитьИмяВнешнейОбработки), а потом эта внешняя обработка открывается.

После выполнения команды, откроется окно выбора файла внешней обработки.

Открыть внешнюю обработку 1С

Если файл будет выбран, внешняя обработка откроется.

Открыть внешнюю обработку 1С

Статьи про открытие форм:

Открытие управляемой формы существующего объекта

Открытие управляемой формы с передачей параметров

Статьи по конфигурированию в 1С:

Обработка в 1С

Константы в 1С

Справочники в 1С

Документы в 1С

Журналы документов в 1С

Перечисления в 1С

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси
  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

One Reply to “Программное открытие обработок в 1С”

  1. Добрый день. А из документа, можно открыть внешнюю обработку? В окне с подсказкой, нет пункта «Внешняя обработка».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *