Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Неверный идентификатор формы

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

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

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

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует