|
Как открыть вторую форму обработки, открытой через меню файл? (УФ) | ☑ | ||
---|---|---|---|---|
0
Икогнито
23.07.13
✎
15:09
|
Обработка открыта через меню файл-открыть.
У обработки есть вторая форма. Как получить эту вторую форму и открыть её по нажатию кнопки в основной форме? |
|||
1
Поросенок Петр
23.07.13
✎
15:10
|
ОткрытьФорму("ВнешниеОбработки. и т.д.
|
|||
2
Maxus43
23.07.13
✎
15:10
|
Синтаксис:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>) |
|||
3
lxndr
23.07.13
✎
15:10
|
ПолучитьФорму("ВтораяФОрма").Открыть()
|
|||
4
Икогнито
23.07.13
✎
15:10
|
(2) в имя формы что писать?
|
|||
5
Maxus43
23.07.13
✎
15:11
|
(4) СП украли чтоли?) там написано же
|
|||
6
Икогнито
23.07.13
✎
15:18
|
(5) СП не украли.
Как определить каталог из которого открыта обработка? |
|||
7
Икогнито
23.07.13
✎
15:19
|
ОбработкаОбъект.ИспользуемоеИмяФайла
|
|||
8
Maxus43
23.07.13
✎
15:21
|
(6) зачем? она уже открыта
|
|||
9
Икогнито
23.07.13
✎
15:22
|
(8) Макет можно получить так:
ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); Макет = ОбработкаОбъект.ПолучитьМакет("Вася") А как получить другую форму обработки открытой через меню файл? |
|||
10
Икогнито
23.07.13
✎
15:24
|
(8)
ВнешняяОбработка = ВнешниеОбработки.Создать(ПолноеИмяФайла); ВнешняяОбработка.ПолучитьФорму().Открыть(); А если она перестанет быть внешней обработкой, то этот код перестанет работать... |
|||
11
Икогнито
23.07.13
✎
15:26
|
хня какая-то.
|
|||
12
Икогнито
23.07.13
✎
15:26
|
Получается нельзя получить вторую форму обработки, уже открытой через меню Файл?
|
|||
13
Maxus43
23.07.13
✎
15:27
|
Для внешних отчетов и обработок имя формы задается следующим образом:
ВнешнийОтчет.<имя отчета>.Форма.<имя формы>; ВнешнийОтчет.<имя отчета>.<имя стандартной формы>; ВнешняяОбработка.<имя обработки>.Форма.<имя формы>; ВнешняяОбработка.<имя обработки>.<имя стандартной формы>. При этом внешний отчет или обработка должны быть предварительно зарегистрированы в системе с помощью метода Подключить или Подключить соответственно. <Имя отчета> и <имя обработки> - это имена, под которыми зарегистрированы внешний отчет или обработка. (с) |
|||
14
Икогнито
23.07.13
✎
15:36
|
(13) пля, да это я и без тебя знаю.
|
|||
15
Maxus43
23.07.13
✎
15:37
|
(14) дак чего не получается то тогда? зарегистрируй, и используй (2)
|
|||
16
Икогнито
23.07.13
✎
15:40
|
(15) набуя её регистрировать, если она уже открыта?
|
|||
17
Maxus43
23.07.13
✎
15:41
|
(16) регистрировать надо, чтобы использовать команду (2)
|
|||
18
Икогнито
23.07.13
✎
15:44
|
(17) зарегистрировать не могу, потому что файл уже открыт.
Замкнутый круг. |
|||
19
Икогнито
23.07.13
✎
15:53
|
ап
|
|||
20
olegves
23.07.13
✎
15:56
|
Объект.формы.ВтораяФорма.Открыть(парам, пам, пам)
|
|||
21
Икогнито
23.07.13
✎
15:59
|
(20) ога
|
|||
22
Икогнито
23.07.13
✎
16:04
|
короче, из тонкого клиента никак
|
|||
23
Икогнито
23.07.13
✎
16:04
|
если надо открыть другую форму, юзайте общие формы
|
|||
24
Maniac
23.07.13
✎
16:12
|
)))) все открывается
|
|||
25
Maniac
23.07.13
✎
16:22
|
&НаКлиенте
Процедура ПоискСоответствий(Команда) АдресПередаваемыхПараметров = ПоместитьДанныеВоВременноеХранилище(); СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("Адрес",АдресПередаваемыхПараметров); Попытка АдресВоВременномХранилище = ОткрытьФормуМодально("Обработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоответствияИмпортСправочник",СтруктураПараметров,ЭтаФорма); Исключение АдресВоВременномХранилище = ОткрытьФормуМодально("ВнешняяОбработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоответствияИмпортСправочник",СтруктураПараметров,ЭтаФорма); КонецПопытки; Если ЗначениеЗаполнено(АдресВоВременномХранилище) Тогда ЗаполнитьСоответствияНаСервере(АдресВоВременномХранилище); КонецЕсли; Состояние("Команда выполнена"); КонецПроцедуры |
|||
26
Maniac
23.07.13
✎
16:23
|
Тоже самое если не модально.
Работает сразу и если внешняя обработка, если добавлена в справочник обработок и если просто добавлена в конфигурацию. КОРОЧЕ ГОВОРЯ ВСЕГДА И ВЕЗДЕ &НаКлиенте Процедура ВыполнитьПоступлениеТоваровУслуг(Команда) АдресПередаваемыхПараметров = ПоместитьДанныеВоВременноеХранилище(); СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("Адрес",АдресПередаваемыхПараметров); Попытка АдресВоВременномХранилище = ОткрытьФорму("Обработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоздатьПоступление",СтруктураПараметров,ЭтаФорма); Исключение АдресВоВременномХранилище = ОткрытьФорму("ВнешняяОбработка.мегапрайсРасширеннаяЗагрузкаИзExcel.Форма.ФормаСоздатьПоступление",СтруктураПараметров,ЭтаФорма); КонецПопытки; КонецПроцедуры |
|||
27
Maniac
23.07.13
✎
16:23
|
в любых клиента, тонкий, толстый, веб. пофигу
|
|||
28
Maniac
23.07.13
✎
20:38
|
Помогло? даж никто спасибо не сказал. Тупили полтора часа пока я не написал и все?
|
|||
29
Поросенок Петр
23.07.13
✎
22:17
|
(28) Тока тебя и ждали.
(27) До первого исключения во второй форме. Раз уж делать универсальную обработку, то не через костыль - попытку, а через кошерное Метаданные.Обработки.Содержит(РеквизитФормыВЗначение("Объект").Метаданные()) Конечно дольше и помнить придется "родословную"... Но зато нет попытки. |
|||
30
Maniac
23.07.13
✎
22:30
|
(29) да не гони. 3 года все работает нормально. Чоте так попытка не нравится. 100 процентный рабочий вариант.
|
|||
31
banco
23.07.13
✎
23:03
|
(30) если в конфигурации будет такая обработка, то вместо формы внешней обработки, откроется форма из конфигурации
|
|||
32
banco
23.07.13
✎
23:24
|
ПозицияТочки = СтрДлина(ИмяФормы);
Пока ПозицияТочки > 0 Цикл Если Сред(ИмяФормы, ПозицияТочки, 1) = "." Тогда Прервать; КонецЕсли; ПозицияТочки = ПозицияТочки - 1; КонецЦикла; ИмяОбработки = Лев(ИмяФормы, ПозицияТочки); ОткрытьФорму(ИмяОбработки + ИмяВызываемойФормы); |
|||
33
banco
23.07.13
✎
23:44
|
можно еще ПриСозданииНаСервере получить имя обработки и потом использовать при открытии форм
ИмяОбработки = РеквизитФормыВЗначение("Объект").Метаданные().ПолноеИмя(); ОткрытьФорму(ИмяОбработки + ".Форма."+ИмяВызываемойФормы); |
|||
34
Maniac
24.07.13
✎
10:05
|
НУ тя накрыло нафиг. Я ответ единственный правильный рабочий хрен знает когда дал, а ты еще тут до 12 ночи какиую то хрень придумывал.
Накрывает же. |
|||
35
Икогнито
24.07.13
✎
10:22
|
(33) спасибо, ты гений
|
|||
36
banco
24.07.13
✎
11:13
|
(34)что то не нравится мне твой "единственный правильный рабочий" вариант, вот и написал свой.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |