Имя: Пароль:
1C
 
v8: 8.2 УТ11 Внешняя обработка - "Неизвестный идентификатор формы"
0 Eugeneer
 
21.01.11
10:45
Подключил обработку. В ней есть несколько форм которые вызываются друг из друга. Выдает ошибку
{Форма.Форма.Форма(372)}: Ошибка при вызове метода контекста (ПоместитьДанныеВоВременноеХранилище)
   СтруктураПараметров.Вставить("Адрес",ПоместитьДанныеВоВременноеХранилище());
по причине:
Неизвестный идентификатор формы
1 Eugeneer
 
21.01.11
10:47
Для подключения формы использовался штатный механизм.
Дл выозва форм между собой использовался реквизит
АдресВХранилище

И процедура выглядела след образом

&НаКлиенте
Процедура ОткрытьФормуСозданияНоменклатуры(Команда)
       
   АдресХранилища = "";
   Результат = ПоместитьФайл(АдресХранилища, СокрЛП(Путь), , Ложь);
   ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);
   
   СтруктураПараметров = Новый Структура;
   СтруктураПараметров.Вставить("Адрес",ПоместитьДанныеВоВременноеХранилище());

   ОткрытьФормуМодально("ВнешняяОбработка."+ИмяОбработки+".Форма.ФормаВводНоменклатуры",СтруктураПараметров,ЭтаФорма);

КонецПроцедуры
2 Eugeneer
 
21.01.11
10:48
Короче у кого нить есть пример открытия внешних обработок с несколькими формами?
3 Eugeneer
 
21.01.11
10:49
Причем если обработка открыта просто через Файл. никаких ошибок нет. ошибка появляется только через справочник внешних отчетов/обработок.
4 Eugeneer
 
21.01.11
11:08
{Форма.Форма.Форма(368)}: Ошибка при вызове метода контекста (ПоместитьФайл)
   Результат = ПоместитьФайл(АдресХранилища, СокрЛП(Путь), , Ложь,ЭтаФорма.УникальныйИдентификатор);
по причине:
Ошибка сохранения файла. Неправильный путь к файлу 'e1cib\tempstorage\6b46ae3c-201e-4787-be30-7416c8cc5e23'
5 Eugeneer
 
21.01.11
11:22
Пипец что за идиотская ошибка. И непонятно что делать.
6 ОбычныйЧеловек
 
21.01.11
11:57
никому не интересна УТ11 :) заходи годика через 2 :)
7 Eugeneer
 
21.01.11
12:41
ап
8 Eugeneer
 
21.01.11
12:42
Пипец что уже только не делал. какие идентификаторы не втыкал. не хочет через справочник внешних обработок работать. Хоть тресни вываливает ошибку и вообще закрывает всю 1С
9 Eugeneer
 
21.01.11
12:43
а без временного хранилища я не могу передать данные между формами. ну плин чо за фигня.
10 DailyLookingOn Sunset
 
21.01.11
12:52
Может матчасть арМаньяку поможет.
http://infostart.ru/public/76427/
11 Eugeneer
 
21.01.11
12:55
(10) ну и де там проблема описана??? или решил просто так тыкнуть первое попавшееся.
12 DailyLookingOn Sunset
 
21.01.11
12:57
(11)
А что, у тебя проблема описана?
Кроме воплей ничего почти и нет.
13 Рэйв
 
21.01.11
12:58
(9)>>а без временного хранилища я не могу передать данные между формами. ну плин чо за фигня.

А что, реквизиты формы уже не в почете?
14 Eugeneer
 
21.01.11
13:01
(12) если не шаришь то нечего свои пять копеек вставлять. все предельно ясно описано. внешняя обработка. несколько форм. открывается одна, из нее другие.
Ошибка при открытии второй формы из основной с передачей параметров котолрые не хотят записываться во временное хранилище.
15 Eugeneer
 
21.01.11
13:02
(13) если не в курсе расскажу - в 8.2 между формами не передаются данные реквизитов. Только через передачу по временному хранилищу.
16 Рэйв
 
21.01.11
13:04
(15)Наверное за неуказание в топике что разговор идет о 8.2 пора уже банить...
17 Eugeneer
 
21.01.11
13:07
(16) если ты тормоз никто не виноват. УТ11 это конфигурация 8.2 и только. можешь сделать себе самобан.
18 Рэйв
 
21.01.11
13:13
(17)А я их считаю чтоли? Я со стандартными не работаю вообще например. Может я еще должен помнить наизусть весь код и видеть их во сне чтобы быть таким информированным и догадливым как ты?
19 Рэйв
 
21.01.11
13:15
Но таким не тормозам как ты тяжело набрать 8.2, оно конечно...Не тормозом быть- это чень тяжело, сил уже нет, понимаю.
20 DailyLookingOn Sunset
 
21.01.11
13:22
Начнем с простого, Маня.
"Ошибка при вызове метода контекста (ПоместитьДанныеВоВременноеХранилище)"

Такой функции/метода нет в 8.2 и УТ 11.
Есть ПоместитьВоВременноеХранилище, но у этого метода есть обязательный параметр.
21 Eugeneer
 
21.01.11
13:32
&НаСервере
Функция ПоместитьДанныеВоВременноеХранилище()
   
   СтруктураПараметров = Новый Структура;
   СтруктураПараметров.Вставить("ТабличнаяЧасть",Объект.ТабличнаяЧасть.Выгрузить());
   СтруктураПараметров.Вставить("НастройкаПоиска",Объект.НастройкаПоиска.Выгрузить());
   СтруктураПараметров.Вставить("ВидЦенНоменклатуры",Объект.ВидЦенНоменклатуры);
   
   Адрес = ПоместитьВоВременноеХранилище(СтруктураПараметров,УникальныйИдентификатор);
   
   Возврат Адрес;
   
КонецФункции
22 Eugeneer
 
21.01.11
13:34
При этом

в параметр я уже перепробовал втыкать всё.
и УникальныйИдентификатор, и ЭтаФорма.УникальныйИдентификатор
и Новый УникальныйИдентификатор()
даже использовал создание вручную временного файла и его адреса. даже пробовал шестнадцатиричную строку втыкать.
23 Eugeneer
 
21.01.11
13:35
Хоть тресни не хочет работать через справочник внешних обработок. За то все нормально работает когда обработка открыта интерактивно через меню Файл. все формы работают, открываются, данные передаются.
24 Eugeneer
 
21.01.11
13:37
и вообще не указывал даже. он сам должен генерировать в таком случае. не хочет записывать временные данные.
25 DailyLookingOn Sunset
 
21.01.11
13:52
Если в функции из (21) добавить
Перем СтруктураПараметров;
26 Eugeneer
 
21.01.11
13:53
Есть несколько вариантов - баг типового встроенного механизма с внешними обработками
либо баг платформы.
27 Eugeneer
 
21.01.11
13:55
(25) а это чем поможет? попробовал - не работает.
1Ска полностью вылетает.
28 Eugeneer
 
21.01.11
14:15
Факин щет...путем долгого и мутного тыканья всего на свете все таки отследил чо за туфта...
29 Eugeneer
 
21.01.11
14:17
В той процедуре где вызывалась функция записи еще присутствовало несколько строчек, которые служили в случае если обработка внешняя получение пути разработки, подключения её и получение имени.

//АдресХранилища = "";
   //
   //Результат = ПоместитьФайл(АдресХранилища, СокрЛП(Путь), , Ложь);
   //ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);


Так вот зараза она из за этго не работала через справочник доп обработок. отладчик при этом нифига не выдавал. все онаружилось когда начал комментировать код и строчки по очереди.