Как программно переоткрыть форму 1с
Для программного открытия внешней обработки в 1С нужно знать адрес ее файла. Зная его, можно либо открыть форму обработки, либо получить объект обработки для проведения с ним дальнейших действий (например, для вызова экспортных функций из модуля объекта).
Открытие формы внешней обработки
Для программного открытия формы внешней обработки в 1С используется функция ПолучитьФорму() объекта ВнешниеОбработки. Функция имеет несколько параметров. Рассмотрим простое открытие основной формы обработки:
//В переменной АдресФайла находится полный путь к файлу внешней обработки
Форма = ВнешниеОбработки . ПолучитьФорму ( АдресФайла ) ;
Форма . Открыть ( ) ;
Для открытия неосновной формы внешней обработки необходимо указать ее имя.
//В переменной АдресФайла находится полный путь к файлу внешней обработки
Форма = ВнешниеОбработки . ПолучитьФорму ( АдресФайла , "НеосновнаяФорма" ) ;
Форма . Открыть ( ) ;
Открытие внешней обработки как объекта
Для того чтобы получить внешнюю обработку как объект используется функция Создать() объекта ВнешниеОбработки.
//В переменной АдресФайла находится полный путь к файлу внешней обработки
ОбъектОбработки = ВнешниеОбработки . Создать ( АдресФайла ) ;
По умолчанию все обработки открываются в безопасном режиме. Чтобы его отключить, используются следующие параметры:
//В переменной АдресФайла находится полный путь к файлу внешней обработки
ОбъектОбработки = ВнешниеОбработки . Создать ( АдресФайла , Ложь ) ;
Внешняя обработка или печатная форма сохранена в информационной базе
Во многих конфигурациях существует возможность сохранять внешние печатные формы и обработки непосредственно в информационной базе. Для этого используется справочник ВнешниеОбработки. Сама внешняя обработка хранится в виде двоичных данных либо в реквизите ХранилищеВнешнейОбработки, либо в табличной части Принадлежность в реквизите ХранилищеВнешнейОбработки.
Для открытия внешней обработки нужно:
- Получить ее из хранилища.
- Сохранить файл с обработкой на диск.
- Открыть форму или получить объект обработки.
- Если мы имеем дело с внешней печатной формой, то можно заполнить стандартный реквизит СсылкаНаОбъект и вызвать экспортную функцию Печать.
//В переменной СпрСсылка находится ссылка на элемент справочника ВнешниеОбработки
ДвДанные = СпрСсылка . ХранилищеВнешнейОбработки . Получить ( ) ;
АдресФайла = ПолучитьИмяВременногоФайла ( ) ;
ДвДанные . Записать ( АдресФайла ) ;
ОбъектОбработки = ВнешниеОбработки . Создать ( АдресФайла , Ложь ) ;
//Для внешней печатной формы. СсылкаНаОбъект содержит ссылку на элемент, которому принадлежит печатная форма
ОбъектОбработки . СсылкаНаОбъект = СсылкаНаОбъект ;
ТабДок = ОбъектОбработки . Печать ( ) ;
Добавить комментарий Отменить ответ
Теперь мы в соцсетях! Подписывайтесь, чтобы получать информацию о последних обновлениях или задать вопрос.
Запускаем два сеанса.
про документы.
1. Открываем в одном сеансе форму, в коде которой отрабатывает Форма.ТолькоПросмотр(1);
Если во втором сеансе открыть форму аналогично - то фиг вам, "объект заблокирован"
2. Если во втором сеансе открыть лупой "просмотр документа" с панели инструментов - то норм, откроется.
.
получается что
в 1 - объект жестко связан с формой, объект блокируется, а форма сама по себе имеет флаг 1/0
в 2 - форма документа "оторвана" от объекта, объект не блокируется.
.
вот.
и еще есть режим ОткрытьФорму(Док,параметр,РежимОткрытия=1) - интересно в этом случае форма откроется по 1 или 2?
.
и как располагая контекстом формы открытой только на просмотр узнать - она открыта с блокировкой объекта или нет?
Стучаться в метод Блокировка().
Вопрос порожден написанием ВПФ, которая модифицирует реквизиты документа, в т.ч. лежащие на форме. ВПФ должна корректно работать в разных режимах, и когда в ВПФ передан ГрупповойКонтекст (и форма доступна и только на просмотр) и когда в ВПФ передан документ. В любом случае -на до изменить реквизиты документа. Если форма открыта - то в результате - показать измененную форму.
Открыта форма, только на просмотр. Как узнать в этом же сеансе - форма открыта с блокировкой или без?
.
вроде вот так работает:
Забодался, не получается.
.
Есть родительская форма документа открытая, только на просмотр
Как сделать так, чтобы открыть из ВПФ другую модальную обработку диалоговую, которая изменяет реквизиты исходного документа и показать форму родительского документа в режиме просмотра с уже измененными реквизитами
Формекс есть, 1С++ есть, можно переоткрывать обработки прочее. Должно по возможности все "прозрачно", без лишних морганий.
.
.
И еще вопрос - как программно открыть форму документа (и соотв.справочника тоже, один механизм наверное) - в таком же режиме, как открывается на просмотр с панели инструментов на просмотр "лупой".
(6) Как я понимаю, ты либо открыл на просмотр (лупой), либо на изменение - и тогда нет разницы есть ТолькоПросмотр() или нет.
Наверное, перехватывать при открытии формы, закрывать ее и после закрытия открывать ВПФ
(8) "ты либо открыл на просмотр (лупой), либо на изменение" - нет, есть еще третий вариант ОткрытьФорму(,,1) или в открытой форме Форма.ТолькоПросмотр(1) - и еть большая разница как открыто на просмотр - лупой или программно.
(8) "как программно открыть форму документа (и соотв.справочника тоже, один механизм наверное) - в таком же режиме, как открывается на просмотр с панели инструментов на просмотр "лупой".." - этот вопрос к проблеме с формадокумента+ВПФ не относится, это отдельный вопрос
а если нужно узнать заблокирован ли объект этой формой или какой-то другой, то да: "Стучаться в метод Блокировка()"
на счет побочного эффекта от Форма.ТолькоПросмотр(0) вот
(20) Вообще не понимаю зубоскальства к Чу.
За себя скажу: за 25 лет в семерке - дофига осталось черных зон, с которыми не разбирался в виду ненужности. Ещё больше серых зон, которые просто обходил стороной, где можно было обойтись: быстро сделал, все довольны. Плюс приобретённые серые зоны - 15 лет назад разобрался, а потом ни разу не пригодилось, вот и стёрлось.
"по лупе" - то же самое что ОткрытьФорму с 1 в параметре ТолькоПросмотр.
"показать измененный" - тупо ОткрытьФорму с 1 в параметре ТолькоПросмотр (если эта форма была открыта ранее - она переоткроется т.е. обновится в соответствии с данными и активизируется)
В результате с божей помощью. АнедейАндреича итд, по сущетсу разобрался. Все ожидаемо и логично.
Но есть один затык..
исходные условия теста.
- документ записан.
- открытая форма документа.
тест
1. ОткрытьФорму(,,0) + Форма.ТолькоПросмотр(1) - Объект заблокирован, только просмотр, ВПФ из контекста формы, изменяем реквизиты контекста. Контекст.Форма.Обновить()+Контекст.Записать() - все ок, форма только на просмотр и реквизиты изменены. Все как хотелось.
2. ОткрытьФорму(,,0) - Объект заблокирован, форма доступна редактирование, ВПФ из контекста формы, изменяем реквизиты контекста. Контекст.Форма.Обновить()+Контекст.Записать() - все ок, форма только на доступна на изменение, реквизиты изменены. все как хотелось.
2. ОткрытьФорму(,,1)+Форма.ТолькоПросмотр(1) - Объект свободен (логично), только просмотр, ВПФ из контекста формы изменяем реквизиты контекста. Контекст.Форма.Обновить()+Контекст.Записать() - ничего не ругается, все типа ок, форма только на просмотр и реквизиты НЕ изменены (что как бы тоже логично). Тут как бы понятно, но не то что хотелось.
4. ОткрытьФорму(,,1) - Объект свободен (логично), только просмотр, ВПФ из контекста формы изменяем реквизиты контекста. Контекст.Форма.Обновить()+Контекст.Записать() - ничего не ругается, все типа ок, форма только на просмотр и реквизиты НЕ изменены (что как бы тоже логично). Тут как бы понятно, но не то что хотелось.
5. Лупа "на просмотр" - Объект свободен (логично), только просмотр, ВПФ из контекста формы изменяем реквизиты контекста. Контекст.Форма.Обновить()+Контекст.Записать() - ничего не ругается, все типа ок, форма только на просмотр и реквизиты НЕ изменены (что как бы тоже логично). Тут как бы понятно, но не то что хотелось.
6. Лупа "на просмотр"+Форма.ТолькоПросмотр(1) - Объект свободен (логично), только просмотр, ВПФ из контекста формы изменяем реквизиты контекста. Контекст.Форма.Обновить()+Контекст.Записать() - ничего не ругается, все типа ок, форма только на просмотр и реквизиты НЕ изменены (что как бы тоже логично). Тут как бы понятно, но не то что хотелось.
итого: при изменении реквизитов контекста формы
- обновление реквизитов на форме (и в объекте) ПРОИСХОДИТ когда объект заблокирован, в пп.1,2 - то что надо
- обновление реквизитов на форме (и в объекте) НЕ происходит когда объект свободен, в пп.2-6 - это не устраивает.
Хочется, значит, в пп.2-6 - в ВПФ проверяем свободен ли объект- документ текущего контекста формы (это сумеем), и если объект-документ свободен -
тогда реквизиты объекта меняем не через контекст формы, а через объект (это тоже сумеем). ОК.
. Но после изменения объекта - хочется актуализировать отображение формы, открытой ранее на просмотр, для отображения изменившихся реквизитов.
И тут вот затык - сделать как из ВПФ переоткрыть форму в режиме просмотра?
И что важно - без правки типовой конфы?!
Всем спасибо, кто участвует.
Ёпрсту - по ссылкам знамо вестимо, но у себя не юзаю. Первое - потрому что блокирвоки на документах я уже не помню когда были, в оперативной работе это вообще несущественно. у мняе девки доки открывают на ввод редко, а если и открывают - то непересекающиеся друг с другом по сферам ответсвенности. И быстрый поиск - хотел впилить, даже пробовал, но тоже парктически неактуально ввиду отствуифя значительной ручной работы с ассортиментом
(22) ну, Добропом я по жизни, это на мисте Злопом. А добропом еще на ИС в районе 2008 г. была публикация учета черных бонусов в ppt,в финише слайдов добропом был.. ;-)
(31) что мешает в ПриОткрытии() влепить
Только, на сколько я помню, если в пофигураторе режим редактирования установить только на просмотр (всегда , без лупы) то ты её на редактирование ужо никак не откроешь
(34) ээээ, не втыкаю.
я хочу из DGA - закрыть форму материнского (для ВПФ) контекста (форма документ ана просмотр) и из ВПФ же открыть эту материнскую форму чтобы увидет сделанные изменения.. - как?
(35) не, он тогда по энтеру будет на просмотр открываться, а через шифт+энтер - на редактирование. я так кстати и делаю у ларечников часто. сразу уходить несколько проблем с задним числом.
Да и в 7.7..обычное дело было, для изменения реквизитов дока, открывать тупо форму обработки, которая эммулирует форму самого дока и потом через ссылку дока правит его реквизиты.
Если ты хочешь делать это через контекст открытой формы, то ничто не мешает хранить хоть все значения атрибутов формы где-то еще при открытии впф, потом измененные значения пихай куда угодно, старый контекст закрой, открой новую форму с нужным режимом и перекопируй все атрибуты туда.
(41) "старый контекст закрой, открой новую форму" - ТУТ МНЕ НУЖЕН ТОТ ЖЕ САМЫЙ ОБЪЕКТ-ДОКУМЕНТ-" с нужным режимом " - ну и как это сделать при вызове DGA из "старого контекста". где-то туплю, не получается - потому как форма старого контекста закроется (ДокумКонтекст.Форма.Закрыть()) только тогда, когда ВПФ завершит работу процедуры ПриОткрытии(), а переносить код в после открытия чтобф моргало ченить ненужное на экране - не хочется
(31): ". Но после изменения объекта - хочется актуализировать отображение формы, открытой ранее на просмотр, для отображения изменившихся реквизитов. " -- так уже ж отвечено! см.(28), 2-й абзац.
в сухом остатке:
(46)+: именно так - ничего не надо закрывать, тупо такое же ОткрытьФорму - обновление ранее открытой формы без блыманий и с обновлением.
(0) Бегло прочитал, но так и не понял суть проблемы (может потому что прочитал бегло ;) ).
У меня в ВПФ fr54_ПечатьЧека.ert (у тебя она есть) делается примерно так:
Если передан Контекст, то автоматически обновятся данные на форме документа без всяких "переоткрытий" и "блымканий".
Но в типовой ТИС есть косяк для документа Реализация при передаче данных в ВПФ - вместо Контекст передается ТекущийДокумент() и поэтому возникает блокировка при попытке записать данные через ВПФ в текущий документ.
Решается так (у меня описано в ИзмененияДляКонфигурацииTIS987_54FZ.txt):
В прилагаемом шаблоне есть 2 формы: для обычного и управляемого приложения. Открывается именно та форма, которая была открыта до нажатия, не зависимо от того, какие выбраны дополнительные/основные, и какие им присвоены имена. Решения немного различаются, поэтому было решено разработать сразу обе формы.
На практике это позволяет редактировать модули и менять формы "на лету".
Переоткрывать файл обработки придется по старинке, если необходимо переименовать сам файл обработки или переназвать используемую форму.
Приняв во внимание все замечания и пожелания высказанные здесь и здесь, учтя все найденные ошибки, выкладываю версию 2. Основное отличие - отсутствие реквизитов обработки, код более компактен и универсален.
Специальные предложения
Я правильно понял: внешнюю обработку (если она изменена в конфигураторе) закрывать и открывать не надо, достаточно щёлкнуть по кнопке на форме, и она обновится? Тогда это здорово, а то порой подутомляешься с этими переоткрываниями.
(0) Хорошая и своевременная публикация. Давно себе хотел сделать подобный сервис, но всё руки не доходили.
Ваша публикация подтолкнула к действию. На основании Вашего кода сделал для себя универсальный шаблон (для обработок и для отчетов).
Кнопку "Переоткрыть" поместил в меню "Действия". Её можно там и оставить после отладки обработки. Не занимает места на командной панели, и глаза не мозолит.
Код для неуправляемой формы получился вот такой (компактней и, по-моему, универсальней):
Процедура КоманднаяПанель1_кнПереоткрыть ( Кнопка )
// Имя формы, которую надо переоткрыть, нужно прописать в КНОПКА.ПОЯСНЕНИЕ
Отладка_ФормаКОткрытию = Кнопка . Пояснение ;
Отладка_ИмяФайла = ЭтотОбъект . ИспользуемоеИмяФайла ;
Закрыть ();
КонецПроцедуры //КоманднаяПанель1_кнПереоткрыть()
Процедура ПриЗакрытии ()
Если НЕ ПустаяСтрока ( Отладка_ФормаКОткрытию ) Тогда
ВнешниеОбработки . Создать ( Отладка_ИмяФайла ). ПолучитьФорму ( Отладка_ФормаКОткрытию ). Открыть (); //Для обработок
//ВнешниеОтчеты.Создать(Отладка_ИмяФайла).ПолучитьФорму(Отладка_ФормаКОткрытию).Открыть(); //Для отчетов
КонецЕсли;
КонецПроцедуры
, где Отладка_ФормаКОткрытию и Отладка_ИмяФайла - это реквизиты внешней обработки/отчета.
_
В статье будет рассказано о том, как в 1с открыть форму программно. Все описанное ниже, касается только управляемого приложения. Подробно рассмотрим метод глобального контекста ОткрытьФорму.
Также можете ознакомиться с более простыми, но менее гибкими способами открыть форму по ссылке: Как в 1с открыть ссылку.
Метод ОткрытьФорму по имени
Самый гибкий и настраиваемый способ программного открытия формы в 1с 8. Рассмотрим подробно его параметры, а также разберем несколько примеров его использования.
Следует заметить, что метод ОткрытьФорму является клиентским. Т.е его можно использовать либо в общих модулях с установленным флагом Клиент, либо в процедурах (функциях) форм с директивой &НаКлиенте.
Рассмотрим параметры метода и приведем необходимые примеры.
ИмяФормы
Содержит полный путь к форме. Можно указать, как путь к форме по умолчанию, так и путь к произвольной форме объекта метаданных. Имя формы указывается в следующих двух форматах:
- ТипОбъекта. Наименование типа объекта метаданных, например: Справочник, Документ, РегистрСведений и т. д.;
- ИмяОбъекта. Наименование объекта метаданных. Например для справочника: Пользователи, Номенклатура;
- ИмяФормыПоУмолчанию. Стандартное имя формы, набор имен по умолчанию различается для различных объектов метаданных. Например для документа: ФормаВыбора, ФормаОбъекта, ФормаСписка. Полный набор имен по умолчанию можно найти в синтаксис помощнике, в описании метода ОткрытьФорму;
- ИмяФормы. Произвольное имя формы, заданное при ее создании. Например у справочника Пользователи, форма СменаПочты.
Пример 1. Путь к форме выбора по умолчанию, справочника Номенклатура.
Пример 2. Путь к форме СменаПочты справочника Пользователи, по ее имени.
Параметры
Содержит Структуру параметров, которые передаются в открываемую форму. Для каждого типа формы, существует набор стандартных параметров, которые не нужно дополнительно обрабатывать в самой форме. Также набор параметров может различаться и для объектов метаданных. Например, параметр Ключ, для форм объектов. В него можно передать ссылку на открываемый объект (если его не передать, будет открыта форма нового объекта).
Подробнее прочитать описание всех возможных стандартных параметров можно в синтаксис помощнике, в ветке Интерфейс (управляемый) -> Форма клиентского приложения (в старых версиях платформы Управляемая форма). Далее в ветках Расширение объектов, Расширение справочника и т. д., можно найти Параметры формы. Там дается полный список возможных стандартных параметров с описаниями.
Также в структуру можно передавать произвольные параметры, которые можно обрабатывать программно, в открываемой форме. Например в обработчике события ПриСозданииНаСервере.
Рассмотрим примеры открытия различных форм с использованием параметров.
Пример 3. Открыть форму объекта справочника Пользователи, используя ссылку на объект.
Пример 4. Открыть форму списка справочника Номенклатура с отбором по реквизиту ВидНоменклатуры и по списку родителей.
Здесь Отбор — это стандартный параметр для форм, использующих в качестве основного реквизита Динамический список. Например, это формы списка и выбора. Он представляет из себя Структуру, в которую можно добавить значения элементов отбора. В Ключ — имя реквизита, в Значение — значение отбора.
Данным способом можно отобрать значения, используя вид сравнения Равно или ВСписке. Для отбора ВСписке следует добавить в структуру Массив, ФиксированныйМассив, либо СписокЗначений. Следует заметить, что отбор ВИерархии установить данным способом не выйдет.
Владелец
В данный параметр передается элемент формы или форма клиентского приложения (управляемая форма) полностью. Используется для указания подчинения открываемой формы.
Это может потребоваться для многих целей, например для:
- Анализа владельца и выполнения определенных действий в открываемой форме;
- Корректной работы события ОбработкаЗаписиНового, в форме владельце;
- Самостоятельной реализации выбора в поле формы.
Пример 5. Реализовать программный выбор элемента Номенклатура, в поле ввода.
В данном случае необходимо:
- Создать обработчик события НачалоВыбора, для поля ввода;
- Отменить стандартную обработку выбора;
- В параметр Владелец передать элемент формы (поле).
Параметр ТекущаяСтрока, позволяет выделять ранее выбранный элемент в форме выбора. Стоит заменить, что в обычной ситуации такой метод выбора значений не применяется. Его применяют только тогда, когда нет возможности настроить форму выбора под условия задачи.
Уникальность
В параметре можно задать ключ уникальности формы произвольного типа. При открытии формы, платформа будет анализировать, есть в текущем сеансе уже открытая форма, с таким же ключом уникальности. Если такая форма будет найдена, то она будет активизирована, а новая не откроется. Этот механизм работает только для одинаковых форм. Если вы будете открывать формы объекта разных документов с одинаковым ключом, то откроются обе.
По умолчанию, платформа сама генерирует ключ уникальности. Поэтому помимо использования собственного ключа, в параметре Уникальность, можно регулировать использование стандартного. Если передать в него значение Ложь, то будет использован стандартный ключ, если значение Истина, то ключ не будет использоваться совсем. Т.е. будет создаваться новая форма, при каждом использовании метода ОткрытьФорму. Значением по умолчанию является Ложь, поэтому специально задавать его не требуется.
Пример 6. Одновременно открыть две формы объекта справочника Пользователи, по одной и той же ссылке.
В параметре можно указать окно, в котором будет открыта новая форма. Тип параметра ОкноКлиентскогоПриложения.
Пример 7. Реализовать программный выбор элемента Номенклатура, в поле ввода. Реализовать выбор в окне формы, на которой расположено поле.
В этом примере мы получаем окно текущей формы и используем его для открытия формы выбора справочника.
НавигационнаяСсылка
Позволяет установить собственную навигационную ссылку для открываемой формы. Устанавливаемая навигационная ссылка должна иметь тип Строка. Значение по умолчанию: Неопределено, при использовании этого значения, навигационная ссылка задается автоматически.
ОписаниеОповещенияОЗакрытии
В параметр передается описание процедуры, которая будет вызвана после закрытия открываемой формы. Тип параметра: ОписаниеОповещения.
Пример 8. В 1с открыть форму программно. Использовать форму объекта справочника Пользователи. После ее закрытия сообщить, что карточка пользователя закрыта.
Используемые в примере параметры описания оповещения:
- Первый: имя процедуры;
- Второй: модуль, в котором она расположена (в данном случае текущая форма);
- Третий: структура дополнительных параметров, которая будет передана в процедуру;
Описанная процедура обязательно должна иметь два параметра:
- Результат. Значение, которое возвращает форма при закрытии. Форма объекта не возвращает значений (если это специально не прописать), поэтому в данном случае значение параметра будет Неопределено. А вот форма выбора, например, вернет массив выбранных значений.
- ДопПараметры. Структура параметров, созданная в описании оповещения.
Также описанная процедура должна быть экспортной.
РежимОткрытияОкна
Позволяет указать режим открытия управляемой формы. По умолчанию Неопределено, вручную можно задать одно из значений системного перечисления РежимОткрытияОкнаФормы:
- БлокироватьВеcьИнтерфейс;
- БлокироватьОкноВладельца;
- Независимый.
Метод ОткрытьФорму по форме
Существует еще один вариант синтаксиса метода ОткрытьФорму.
Используется, если вы уже получили форму, произвели с ней какие-то действия и теперь ее необходимо открыть.
Пример 9. Получить форму списка справочника Номенклатура, а затем в 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 thought on “ Программное открытие обработок в 1С ”
Добрый день. А из документа, можно открыть внешнюю обработку? В окне с подсказкой, нет пункта «Внешняя обработка».
Читайте также: