Имя: Пароль:
1C
1С v8
Неверный идентификатор формы
0 Dev
 
30.10.18
14:23
При попытке открыть второй раз вспомогательную форму из формы обработки вываливается ошибка Неизвестный идентификатор формы, даже до процедуры открытия не доходит, в чем может быть проблема кто знает ? Первый раз открывается нормально
1 Dev
 
30.10.18
14:24
Точнее как решить эту проблему
2 1Сергей
 
30.10.18
14:24
Из клуба любителей динамического обновления?
3 Dev
 
30.10.18
14:26
(2) ?
4 Lexey_
 
30.10.18
14:26
(0) "в чем может быть проблема?" - в коде может быть
(1) переписать код
5 Dev
 
30.10.18
14:28
(4) Гениально Вацн, а поточнее
6 sitex
 
naïve
30.10.18
14:28
(0) Код то покажи. Любители догадаться в отпусках...
7 Dev
 
30.10.18
14:28
(6) Сейчас, да я уже как только не пробовал
8 Lexey_
 
30.10.18
14:29
(5) строка 24
9 Dev
 
30.10.18
14:29
Вначале получаю имя вот так

ОбработкаИмя = РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла;
    Данные = Новый ДвоичныеДанные(ОбработкаИмя);
    АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(Данные);
    ИмяОбр = ВнешниеОбработки.Подключить(АдресВоВременномХранилище,,);
    Возврат ИмяОбр;
10 Dev
 
30.10.18
14:31
Потом вот так, допустим
    
ИмяОбработки = ОбработатьСтопЛистНаСервере();
     Уид = Новый УникальныйИдентификатор;
      Форма = ПолучитьФорму("ВнешняяОбработка."+ИмяОбработки+".Форма.ФормаОбработкиСтопЛста");
      ОткрытьФорму(Форма.ИмяФормы,,Неопределено,Уид);
11 Lexey_
 
30.10.18
14:33
(10) а зачем перед открытием формы ее получать?
ведь ОткрытьФорму() "Открывает и возвращает форму или управляемую форму...""
12 Dev
 
30.10.18
14:34
Ну я думаю ситуация от этого не изменится (11)
13 Lexey_
 
30.10.18
14:36
(12) ну так и думай дальше, зачем тему создавал-то?
14 Dev
 
30.10.18
14:37
(13) Сейчас напишу еще один вариант
15 Dev
 
30.10.18
14:44
ИмяОбработки = ОбработатьСтопЛистНаСервере();
    
    ПараметрыОткрытия = Новый Структура("КлючВарианта", "");
    Уникальность = "ВнешняяОбработка." + ИмяОбработки + "/КлючВарианта.";
    
      ОткрытьФорму("ВнешняяОбработка."+ИмяОбработки+".Форма.ФормаОбработкиСтопЛста",,Неопределено,Уид);
16 Dev
 
30.10.18
14:44
Тоже самое
17 Dev
 
30.10.18
14:45
блин там лишние строки не удалил

Уид = Новый УникальныйИдентификатор;
18 Dev
 
30.10.18
14:46
Вот так например

ИмяОбработки = ОбработатьСтопЛистНаСервере();
Уид = Новый УникальныйИдентификатор;
ОткрытьФорму("ВнешняяОбработка."+ИмяОбработки+".Форма.ФормаОбработкиСтопЛста",,Неопределено,Уид);
19 Dev
 
30.10.18
14:46
Может при закрытии что то почистить надо тогда
20 Dev
 
30.10.18
14:49
При открытии второй раз он спотыкается на первой же серверной процедуре ОбработатьСтопЛистНаСервере(), даже не заходя в нее, уже вываливает ошибку
21 Dev
 
30.10.18
14:49
Первый раз открывает
22 Lexey_
 
30.10.18
14:50
(18) точно "СтопЛста"?
(20) на какой строке?что пишет?
23 Dev
 
30.10.18
14:52
(22) Нет это пример просто
24 Dev
 
30.10.18
14:53
На слове ИмяОбработки = ОбработатьСтопЛистНаСервере();
25 Dev
 
30.10.18
14:53
Даже не заходит в процедуру, пишет Неизвестный идентификатор формы
26 Dev
 
30.10.18
14:55
В этой процедуре я имя получаю обработки, а потом уже открываю форму, я выше вначале описал ее
27 Вафель
 
30.10.18
14:55
ты подключашь каждый раз обработку?
28 Dev
 
30.10.18
14:56
(27) Ну получается да так, из за этого ошибка ?
29 Lexey_
 
30.10.18
15:01
(28) ВнешниеОбработкиМенеджер (ExternalDataProcessorsManager)
Подключить (Connect)

<Имя> (необязательный)
Тип: Строка.
...
Наличие одинаковых имен в процессе работы сеанса не допускается
...
30 Dev
 
30.10.18
15:07
(29) Ясно значит подключать надо один раз, это пример кода я нашел на одном из форумов, вкладка потерялась только
31 Dev
 
30.10.18
15:11
(29) Почему он в процедуру то тогда даже не заходит, даже не доходит до подключения
32 Lexey_
 
30.10.18
15:13
(31) серверная отладка не подключена
33 Dev
 
30.10.18
15:18
(32) У меня локальная база, так то он заходит туда в первый раз, не заходит второй
34 Dev
 
30.10.18
15:36
(29) Ошибка вылетает потому что наверно имя совпадает обработки той, которую я подключил и которой форма открыта изначально так что ли ?
35 Dev
 
30.10.18
15:46
После подключения он отказывается в серверные процедуры заходить, сразу вылетает ошибка, я даже не могу с клиента ничего проверить
36 Вафель
 
30.10.18
15:47
в уже открытой обработке ничего подключать не нужно
37 Dev
 
30.10.18
15:52
(36) А как мне еще одну форму вызвать тогда из этой же обработки, мне же надо имя получить этой формы, я для этого подключаю, допустим я могу получить путь до самого файла, а дальше как действовать ? Имя обработки же может поменяться, из строки его чтоли выковыревать ?
38 Dev
 
30.10.18
16:10
В общем получил из строки имя обработки и открыл форму, всем спасибо
39 Вафель
 
30.10.18
16:11
РеквизитФормыВЗначение("Объект").Метаданные().Имя
40 Dev
 
30.10.18
16:36
(39) Метаданные, точно ! Спасибо