|
получить форму во внешней обработке (8.2 управляемые формы) | ☑ | ||
---|---|---|---|---|
0
Bober777
19.03.12
✎
18:26
|
Как получить и открыть форму во внешней обработке.
|
|||
1
Капитан О
19.03.12
✎
18:27
|
кхм..
|
|||
2
Bober777
19.03.12
✎
18:28
|
(2) самый краткий ответ...
|
|||
3
sanja26
19.03.12
✎
18:28
|
ПолучитьФорму(), не?
|
|||
4
Bober777
19.03.12
✎
18:30
|
(3) не.
|
|||
5
Bober777
19.03.12
✎
18:31
|
&НаКлиенте
Процедура ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика(Команда) ОпределитьДляПозицийНоменклатурыНоменклатуруПоставщика(); КонецПроцедуры &НаСервере Процедура ОпределитьДляПозицийНоменклатурыНоменклатуруПоставщика() //ВнешниеОбработки.ПолучитьФорму("ВнешняяОбработка.АвтоматическийЗаказ.Форма.ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика").Открыть(); //ВнешниеОбработки.Создать("D:\Проекты\Удаленная работа\Имя_Фамилия\Максим_Иванов\Релизы Обработок\Автозаказ\АвтоматическийЗаказ.epf").ПолучитьФорму("ВнешняяОбработка.АвтоматическийЗаказ.Форма.ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика").Открыть(); КонецПроцедуры |
|||
6
Bober777
19.03.12
✎
18:32
|
так вот закоментированные строчки не проканали.
|
|||
7
Bober777
19.03.12
✎
18:33
|
Сначала попробовал:
ВнешниеОбработки.ПолучитьФорму("ВнешняяОбработка.АвтоматическийЗаказ.Форма.ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика").Открыть(); ПОТОМ ВнешниеОбработки.Создать("D:\Проекты\Удаленная работа\Имя_Фамилия\Максим_Иванов\Релизы Обработок\Автозаказ\АвтоматическийЗаказ.epf").ПолучитьФорму("ВнешняяОбработка.АвтоматическийЗаказ.Форма.ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика").Открыть(); |
|||
8
Fram
19.03.12
✎
18:36
|
Для внешних отчетов и обработок имя формы задается следующим образом:
ВнешнийОтчет.<имя отчета>.Форма.<имя формы>; ВнешнийОтчет.<имя отчета>.<имя стандартной формы>; ВнешняяОбработка.<имя обработки>.Форма.<имя формы>; ВнешняяОбработка.<имя обработки>.<имя стандартной формы>. При этом внешний отчет или обработка должны быть предварительно зарегистрированы в системе. |
|||
9
Fram
19.03.12
✎
18:37
|
регистрируются, как я понимаю, они вот так:
ВнешниеОбработкиМенеджер (ExternalDataProcessorsManager) Подключить (Connect) Синтаксис: Подключить(<Путь>, <Имя>, <БезопасныйРежим>) Параметры: <Путь> (обязательный) Тип: Строка. Ссылка на реквизит объекта конфигурации, который содержит данные внешней обработки. Ссылка может быть получена методом ПолучитьНавигационнуюСсылку. <Имя> (необязательный) Тип: Строка. Имя внешней обработки, с которым она будет зарегистрирована в системе. Наличие одинаковых имен в процессе работы сеанса не допускается. Если имя не указано, будет использовано имя, содержащееся в самой обработке. <БезопасныйРежим> (необязательный) Тип: Булево. Признак подключения внешней обработки в безопасном режиме. Если параметр не указан, подключение будет осуществлено в безопасном режиме. Значение по умолчанию: Истина Возвращаемое значение: Тип: Строка. Описание: Выполняет подключение внешней обработки по указанному пути. Возвращает имя подключенной внешней обработки. Доступность: Сервер, внешнее соединение. |
|||
10
Bober777
19.03.12
✎
18:40
|
(8),(9) Спасибо. Конечно я мог бы написать да попробую и уйти. Но я мало что понял. Можно пример привести пож.
|
|||
11
sanja26
19.03.12
✎
18:44
|
(7) через двоичные данные делай
|
|||
12
Fram
19.03.12
✎
18:44
|
Я сам недавно варюсь в УФ, поэтому только предполагаю как это работает
Сначала ИмяОбр = ВнешниеОбработки.Подключить(.... Потом ОткрытьФорму("ВнешниеОбработки."+ИмяОбр+"Форма.ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика") |
|||
13
ll13
19.03.12
✎
18:47
|
На клиенте:
ОткрытьФорму("ВнешняяОбработка.ИмяМоейОбработки.Форма.ИмяМоейФормы") |
|||
14
sanja26
19.03.12
✎
18:49
|
ИмяВнешней = "C:\1C\DevBase\Бухгалтерия\ВыгрузкаДляУТ.epf";
Внешняя = ВнешниеОбработки.Создать(ИмяВнешней); Внешняя.ПолучитьФорму().Открыть(); |
|||
15
Fram
19.03.12
✎
18:51
|
(14) на УФ не будет работать
|
|||
16
Bober777
19.03.12
✎
18:52
|
(13) покатило спасибо))
как не странно но сообщение с несчастливым числом мне помогло) |
|||
17
Bober777
19.03.12
✎
18:53
|
ll13 - вот скажи честно ты всегда ждешь когда в теме появится последнее сообщение по счету 12 и даешь правильный ответ 13-м сообщением))))))
|
|||
18
Fram
19.03.12
✎
18:55
|
(16) а вместо ИмяМоейОбработки ты чего указал?
|
|||
19
Bober777
19.03.12
✎
19:55
|
(18)
ОткрытьФорму("ВнешняяОбработка.АвтоматическийЗаказ.Форма.ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика"); |
|||
20
Bober777
19.03.12
✎
19:55
|
&НаКлиенте
Процедура ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика(Команда) ОткрытьФорму("ВнешняяОбработка.АвтоматическийЗаказ.Форма.ОпределитьДляПозицииНоменклатурыНоменклатуруПоставщика"); КонецПроцедуры |
|||
21
Fram
20.03.12
✎
16:00
|
(20) а файл где прописал?
|
|||
22
Fram
21.03.12
✎
12:36
|
Из ИТС:
Как программно открыть внешнюю обработку? В версии 8.2 приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере. Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий: Передать файл внешней обработки на сервер Подключить внешнюю обработку Открыть форму внешней обработки Чтобы передать файл на сервер, его нужно поместить во временное хранилище. Для этого сначала на клиенте, в обработчике команды открытия внешней обработки, методом глобального контекста ПоместитьФайл() мы помещаем файл из локальной файловой системы во временное хранилище. В четвертом параметре этого метода указывается признак интерактивного режима выбора файла внешней обработки. Если этот параметр Истина, то появляется диалог выбора файла, в котором можно выбрать файл для помещения в хранилище. В нашем примере этот параметр - Ложь, а путь к файлу, данные из которого будут помещены во временное хранилище, явно задан во втором параметре метода. При вызове метода ПоместитьФайл() первым его параметром, АдресХранилища, мы указываем пустую строку. После выполнения метода в нее будет помещен путь к файлу внешней обработки во временном хранилище. Этот путь мы используем для того, чтобы подключить внешнюю обработку. Подключение внешней обработки выполняется на сервере методом Подключить() менеджера внешних обработок. В качестве параметра ему передается путь к файлу внешней обработки во временном хранилище - АдресХранилища. Возвращает этот метод имя подключенной внешней обработки, - ИмяОбработки, - которое мы используем для того, чтобы открыть форму этой обработки. Для открытия формы внешней обработки используется метод глобального контекста ОткрытьФорму(), в который передается имя формы в виде следующей строки: "ВнешняяОбработка."+ ИмяОбработки +".Форма". В приведенном варианте открывается основная форма обработки. Можно открыть также и неосновную форму обработки - об этом рассказывается в вопросе Как получить неосновную форму обработки?. Копировать в буфер обмена &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) //Помещаем обработку во временном хранилище АдресХранилища = ""; Результат = ПоместитьФайл(АдресХранилища, "C:\ВнешняяОбработка.epf", , Ложь); ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища); // Откроем форму подключенной внешней обработки ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма"); КонецПроцедуры &НаСервере Функция ПодключитьВнешнююОбработку(АдресХранилища) Возврат ВнешниеОбработки.Подключить(АдресХранилища); КонецФункции При работе в внешними обработками нужно учитывать, что по-умолчанию они запускаются в безопасном режиме исполнения программного кода. Это значит, что некоторые возможности встроенного языка будут для них недоступны. Если есть уверенность, что внешняя обработка не содержит вредоносного кода, ее можно подключить в обычном режиме исполнения программного кода. Для этого используется третий параметр метода Подключить() менеджера внешних обработок. Подробнее о режиме безопасного исполнения программного кода можно прочитать в документации: 1С:Предприятие 8.2. Руководство разработчика, Раздел 5.5.4.3: Объекты конфигурации - Ветвь конфигурации «Общие» - Роли и права доступа - Безопасный режим работы. Подробнее об использовании метода ПоместитьФайл() можно прочитать в синтакс-помощнике: Глобальный контекст - Процедуры и функции работы с файлами. Подробнее об использовании метода Подключить() можно прочитать в синтакс-помощнике: Прикладные объекты - Внешние обработки и отчеты - ВнешниеОбработкиМенеджер - Методы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |