Программное открытие обработок в 1С
В этой статье я разберу особенности программного открытия обработок в 1С. Мы узнаем, как открыть форму обработки, как открыть форму внешней обработки из самой внешней обработки, а также как открыть форму внешней обработки из клиентского режима платформы 1С 8.3.
Открыть форму обработки 1С
Начнем с того, что саму по себе открыть программной обработку нельзя. Можно открыть какую-либо из форм обработки. Для программного открытия управляемой формы обработки необходимо использовать метод ОткрытьФорму.
В первой статье, в которой мы начали знакомиться с обработками в 1С, я создал обработку «Обработка для примера» с формой.
В этой статье я покажу, как открыть программно форму этой обработки из другой обработки «Обработка1». Для этого у Обработки1 я создал управляемую форму и команду формы.
В клиентском обработчике команды, напишем код, который будет открывать основную форму обработки.
Какая именно форма обработки будет открыта, можно указать в контекстной подсказке, которая появляется после ввода названия обработки.
После, в результате выполнения команды, в отдельном окне будет открываться форма обработки «Обработка для примера».
Открыть форму внешней обработки 1С
Если нам необходимо, чтобы из одной формы внешней обработки открылась другая форма этой же внешней обработки, то также необходимо использовать метод ОткрытьФорму, как в примере выше, только вместо слова Обработка необходимо написать ВнешняяОбработка.
Разберем пример. Пусть, у внешней обработки будут две формы: Основная и Дополнительная.
На основной форме создадим команду «Открытие дополнительной», при выполнении которой будет открываться дополнительная форма.
У этой команды будет клиентский обработчик события, со следующим кодом:
Теперь, открыв внешнюю обработку, мы сможем из её основной формы открыть дополнительную.
Открыть внешнюю обработку 1С
Выше мы разбирали пример, когда внешняя обработка открыта, и нам нужно открыть форму внешней обработки из самой внешней обработки, но иногда возникают задачи, когда нужно открыть форму внешней обработки из какого-то другого места, зная путь к этой обработке на жестком диске, или выбрав непосредственно файл обработки.
Разберем эту задачу. Откроем внешнюю обработку из обработки, которую создали в предыдущей статье, и с которой работали уже в этой — «Обработка 1».
В этой обработке создадим команду, при выполнении которой откроется форма внешней обработки.
В форме обработки напишем следующий код:
Код работает, начиная с платформы 8.3.15.
В вышеприведенном коде, процедура ОткрытьВнешнююОбработку — обработчик команды «Открыть внешнюю обработку», в этом обработчике используется метод НачатьПолучениеФайлаНаСервер, который выполнен в варианте открытия диалога выбора файла. После выбора файла срабатывает процедура описания оповещения ПослеВыбораФайла. В этой процедуре получается адрес временного хранилища файла (переменная Адрес), по которому находится название внешней обработки (в серверной процедуре ПолучитьИмяВнешнейОбработки), а потом эта внешняя обработка открывается.
После выполнения команды, откроется окно выбора файла внешней обработки.
Если файл будет выбран, внешняя обработка откроется.
Статьи про открытие форм:
Статьи по конфигурированию в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
One Reply to “Программное открытие обработок в 1С”
Добрый день. А из документа, можно открыть внешнюю обработку? В окне с подсказкой, нет пункта «Внешняя обработка».
Как программно открыть вторую форму внешней обработки 1С 8.3
Как открыть вторую форму внешней обработки 1С 8.3, с данными из первой формы. Допустим в первой форме у вас есть табличная часть, реквизиты и прочее.
Как открыть вторую форму внешней обработки 1С 8.3, с данными из первой формы.
Для красоты эксперемента программно заполнил данными обработку (при открытии все увидите).
Действия очень просты:
1) Открываете обработку
2) Кнопка Открыть дополнительную обработку — откроет вторую форму.
3) Там вы увидите те же данные, что и в первой форме.
4) Данные можно менять как захотите. Есть кнопка Изменить, в которую я заложил автоматическое изменение данных.
5) Выполнить и закрыть. Перенесет измененные данные в первую форму.
Обработка написана по всем правилам клиент-серверного приложения. В том числе без использования модальности (используются оповещения событий).
Пользуйтесь, если вам понравится — можете сказать автору Спасибо (в обработке увидите кнопку) или написать тут комментарий. Буду благодарен!
Как открыть вторую форму обработки, открытой через меню файл? (УФ)
Обработка открыта через меню файл-открыть.
У обработки есть вторая форма.
Как получить эту вторую форму и открыть её по нажатию кнопки в основной форме?
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)
(8) Макет можно получить так:
ОбработкаОбъект = РеквизитФормыВЗначение(«Объект»);
Макет = ОбработкаОбъект.ПолучитьМакет(«Вася»)
А как получить другую форму обработки открытой через меню файл?
(8)
ВнешняяОбработка = ВнешниеОбработки.Создать(ПолноеИмяФайла);
ВнешняяОбработка.ПолучитьФорму().Открыть();
А если она перестанет быть внешней обработкой, то этот код перестанет работать.
(17) зарегистрировать не могу, потому что файл уже открыт.
&НаКлиенте
Процедура ПоискСоответствий(Команда)
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить(«Адрес»,АдресПередаваемыхПараметров);
Попытка
АдресВоВременномХранилище = ОткрытьФормуМодально(«Обработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоответствияИмпортСправочник»,СтруктураПараметров,ЭтаФорма);
Исключение
АдресВоВременномХранилище = ОткрытьФормуМодально(«ВнешняяОбработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоответствияИмпортСправочник»,СтруктураПараметров,ЭтаФорма);
КонецПопытки;
Если ЗначениеЗаполнено(АдресВоВременномХранилище) Тогда
ЗаполнитьСоответствияНаСервере(АдресВоВременномХранилище);
КонецЕсли;
Тоже самое если не модально.
Работает сразу и если внешняя обработка, если добавлена в справочник обработок и если просто добавлена в конфигурацию.
КОРОЧЕ ГОВОРЯ ВСЕГДА И ВЕЗДЕ
&НаКлиенте
Процедура ВыполнитьПоступлениеТоваровУслуг(Команда)
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить(«Адрес»,АдресПередаваемыхПараметров);
Попытка
АдресВоВременномХранилище = ОткрытьФорму(«Обработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоздатьПоступление»,СтруктураПараметров,ЭтаФорма);
Исключение
АдресВоВременномХранилище = ОткрытьФорму(«ВнешняяОбработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоздатьПоступление»,СтруктураПараметров,ЭтаФорма);
КонецПопытки;
(28) Тока тебя и ждали.
(27) До первого исключения во второй форме.
Раз уж делать универсальную обработку, то не через костыль — попытку, а через кошерное
Метаданные.Обработки.Содержит(РеквизитФормыВЗначение(«Объект»).Метаданные())
Как во внешней обработке подключить дополнительную форму программно?
Все выполняется как нужно, но не красиво (не в общей форме, а построчно), удобнее было бы вывести дополнительную формочку, заполнить ее и затем уже провести изменение в нарядах. Как это делается обычно в таких случаях?
Добавлено через 3 часа 43 минуты
Оказалось все проще, форма открывается легко и во внешней обработке, вопрос только в том как нее передать параметры
Как открыть форму документа во внешней обработке(8.1)?
Форма списка и форма документа скопированы во внешнюю обработку из конфигурации Из формы списка по.
[Wordpress] — Как подключить дополнительную функцию в php файл
Здравствуйте, столкнулся с проблемой на wordpress. Допустим есть файл: footer.php, в документации.
Как правильно подключить дополнительную панель (2 USB+Audio) к материнской плате EPOX EP-8KDA7I?
Всем привет! Пожалуйста, помогите решить замороченный вопрос и поподробнее (если можно). Имеется.
Движения по внешней обработке
написал внешнюю обработку.Теперь нужно чтоб она по регистру бухгалтерии создавала проводку Дт10.07.
Судя по тому, что это управляемые формы, тогда:
"ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)"
Второй параметр и даёт возможность передать все, что нужно.
Добавлено через 1 минуту
"и затем забрать"
и на второй форме , которую вызывали для приема данных из первой формы
Затем на вызванной форме заполняются все данные, у меня был ручной ввод значений по таблице с наименованиями из первой формы ( которые пришли в массиве) и потом по кнопке данные передал обратно в первую форму
и еще кнопка для отмены передачи данных на первую форму
Не получается запрос во внешней обработке
Привет Создала внешнюю обработку. На форме три поля: НачПериода (тип Дата), КонПериода (тип.
Печать во внешней обработке с формой
Как по кнопке выполнить сформировать "Табличный документ" типа на "Печать" отправить прикрепленный.
Подключить дополнительную батарею для плеера
Здравствуйте. Такая ситуация, нужно подключать дополнительную батарею к mp3-плееру, таким образом.
Найти ошибку в обработке внешней формы
Здравствуйте, помогите найти и исправить обработку. Работаю на платформе 8.3, конфигурации УТ 11.1.
создать дополнительную форму ввода
есть бд об отправлении поездов. надо создать дополнительную форму ввода, которая позволяет менять.
БП3.0. Кот во внешней обработке при загрузке банка
Добрый день Подскажите как сделать кота во внешней обработке (бух3) как в третей бухгалтерии при.