| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | «  : 16-01-2013 09:15 »  |  | 
 
 в сформированном отчёте при двойном щелчке необходимо вывести форму справочника, неудаётся дотянутся до самой формы.    Кодик=СписокИнф[2].Значение; Форма=Справочники.ИзделияВЭксплуатации.НайтиПоКоду(Кодик);
 
 Область.Параметры.ФормаИзделия= Форма.Открыть();
 Где ФормаИзделия -ПараметрРасшифровки  как-то так, подскажите пожалуйста |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #1 : 16-01-2013 09:54 »  |  | 
 
     Кодик=СписокИнф[2].Значение;Найти=Справочники.ИзделияВЭксплуатации.НайтиПоКоду(Кодик);
 Форма = Найти.ПолучитьФорму();
 Откр= Форма.Открыть();
 
 
 Область.Параметры.ФормаИзделия= Откр;
  Ошибка при вызове метода контекста (ПолучитьФорму)      Форма = Найти.ПолучитьФорму(); по причине: Элемент не выбран! |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #2 : 16-01-2013 09:56 »  |  | 
 
 И что не ясно?Стань отладчиком на строку "Форма = Найти.ПолучитьФорму();" и посмотри что у тебя в переменной Найти
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #3 : 16-01-2013 11:30 »  |  | 
 
 И что не ясно?Стань отладчиком на строку "Форма = Найти.ПолучитьФорму();" и посмотри что у тебя в переменной Найти
 
 Неясно как открыть форму из отчёта. Найти=Справочники.ИзделияВЭксплуатации.НайтиПоКоду(Код);Форма = Найти.ПолучитьФорму();
 Откр= Форма.Открыть();
 где Код код в справочнике. Форма = Найти.ПолучитьФорму(); по причине: Элемент не выбран! Область.Параметры.ФормаИзделия= Откр; |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #4 : 16-01-2013 13:47 »  |  | 
 
 asdfr1, сделал что я писал выше?Встроенную справку по методу НайтиПоКоду прочитал? (Что он может возвращать?)
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #5 : 17-01-2013 04:35 »  |  | 
 
 asdfr1, сделал что я писал выше?Встроенную справку по методу НайтиПоКоду прочитал? (Что он может возвращать?)
 
 Вернёт  СправочникСсылка.<Имя справочника>;  по сслыке получаю форму  и открываю.Ошибка: Элемент не выбран!  Контр=Справочники.Контрагенты; НайденнаяСсылка =Контр.НайтиПоКоду(СписокИн |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Radistka | 
								|  | « Ответ #6 : 17-01-2013 06:42 »  |  | 
 
 Вам вероятно тонко намекают проверить на случай, если у вас в переменной находится Неопределено  или ПустаяСсылка НайтиПоКоду (FindByCode)
 Возвращаемое значение:
 Тип: СправочникСсылка.<Имя справочника>, Неопределено. Если не существует ни одного элемента с требуемым кодом, то будет возвращена пустая ссылка.
 Если код не задан, то будет возвращено Неопределено.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #7 : 17-01-2013 07:30 »  |  | 
 
 Radistka, Ничего себе "тонко"!   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #8 : 17-01-2013 10:15 »  |  | 
 
 Вам вероятно тонко намекают проверить на случай, если у вас в переменной находится Неопределено  или ПустаяСсылка НайтиПоКоду (FindByCode)
 Возвращаемое значение:
 Тип: СправочникСсылка.<Имя справочника>, Неопределено. Если не существует ни одного элемента с требуемым кодом, то будет возвращена пустая ссылка.
 Если код не задан, то будет возвращено Неопределено.
 какой нить примерчик можно ? из книги Радченко и синтаксиспомошника воспроизвёл.Сравнение на Неопределено сделал.Возвращаяет ошибку "Обращение к процедуре объекта как к функции (Открыть)" Для Каждого Строка ИЗ ТЗ Цикл           СправочникПоиск=Справочники.ИзделияВЭксплуатации.НайтиПоРеквизиту("ЗаводскойНомер", ЗавНомерМля);
 
 Если  Строка.ИзделиеВЭксплуатацииЗаводскойНомер=СправочникПоиск Тогда
 
 Сообщить(Строка.ИзделиеВЭксплуатацииЗаводскойНомер);
 ОбластьДетальныхЗаписей.Параметры.Расшифровка="Ёпта2";
 
 Иначе
 ЗавНомерМля=ВыборкаДетальныеЗаписи.ИзделиеВЭксплуатацииЗаводскойНомер;
 
 Ёпта1=СправочникПоиск.ПолучитьФорму();
 Ёпта2=Ёпта1.Открыть();
 ОбластьДетальныхЗаписей.Параметры.Расшифровка=Ёпта1;
 КонецЕсли;
 КонецЦикла;
 |  
						| 
								|  |  
								| « Последнее редактирование: 17-01-2013 13:14 от Kivals » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Radistka | 
								|  | « Ответ #9 : 17-01-2013 10:38 »  |  | 
 
 Цензуры на вас нету.. хотя, может щас прийдёт. Кодик=СписокИнф[2].Значение;НайденнаяСсылка=Справочники.ИзделияВЭксплуатации.НайтиПоКоду(Кодик);
 
 Если НайденнаяСсылка=Справочники.ИзделияВЭксплуатации.ПустаяСсылка() тогда
 Сообщить("Здесь пустая ссылка, в справочнике нет элемента с кодом "+Кодик);
 
 иначеЕсли НайденнаяСсылка=Неопределено тогда
 Сообщить("Не задано значение кода");
 
 Иначе
 Область.Параметры.ФормаИзделия= НайденнаяСсылка.ПолучитьФорму().Открыть();
 
 КонецЕсли;
научитесь пользоваться брейкпойнтами и определите в конце концов, что у вас находится в переменной "НайденнаяСсылка" и оборачивайте свой код в тэги, а то читать нереально, что вы пишите. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #10 : 17-01-2013 11:31 »  |  | 
 
 НайденнаяСсылка=Справочники.ИзделияВЭксплуатации.НайтиПоКоду(Кодик);Сообщить(НайденнаяСсылка);
 Если НайденнаяСсылка=Справочники.ИзделияВЭксплуатации.ПустаяСсылка() тогда
 Сообщить("Здесь пустая ссылка, в справочнике нет элемента с кодом "+Кодик);
 Здесь пустая ссылка, в справочнике нет элемента с кодом 1654 Аквадистилятор |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Radistka | 
								|  | « Ответ #11 : 17-01-2013 12:21 »  |  | 
 
 ну вот собственно и ага. форму пустой ссылки 1Ска не открывает. |  
						| 
								|  |  
								| « Последнее редактирование: 17-01-2013 12:27 от Radistka » |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #12 : 17-01-2013 12:47 »  |  | 
 
 ну вот собственно и ага. форму пустой ссылки 1Ска не открывает.
 Иначе Область.Параметры.ФормаИзделия= НайденнаяСсылка.ПолучитьФорму().Открыть(); Обращение к процедуре объекта как к функции (Открыть) Пытался как в примере: Форма = Вычислить(СтрокаФормы.ИмяМетаданных).ПолучитьФорму(СтрокаФормы.ИмяФормы);             Форма.Открыть(); Значение параметра"нет" не задано   ... |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #13 : 17-01-2013 13:13 »  |  | 
 
 asdfr1, код - в теги [code=e1cv8][/code] ! всегда (если больше 1ой строки)!!!   В книге описано, что ожидается в переменных. Пройдись отладчиком по каждой строке и сравни с книгой. А вообще вот это: Обращение к процедуре объекта как к функции (Открыть) Ни о чем не говорит? Пробуй так: Форма = НайденнаяСсылка.ПолучитьФорму();Область.Параметры.ФормаИзделия = Форма; // Если это вообще нужно
 Форма.Открыть();
 Но скорее всего будет так же, как и в самом начале: ПолучитьФорму(): ... Возвращаемое значение: Тип: Форма.  Описание: Получает форму элемента справочника, на который указывает  ссылка. Доступность:  Толстый клиент. Пример: Если Не ТоварСсылка.Пустая() ТогдаТоварСсылка.ПолучитьФорму().Открыть();
 Возврат;
 КонецЕсли;
По идее должно сработать: Форма = Справочники[НайденнаяСсылка.Метаданные().Имя].ПолучитьФормуНовогоЭлемента();Форма.Открыть();
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #14 : 17-01-2013 16:03 »  |  | 
 
 может это вообще не возможно?    самописная, обычное приложение. |  
						| 
								| 
 
										 4.jpg  (115.61 Кб - загружено 890 раз.)
									 |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Radistka | 
								|  | « Ответ #15 : 18-01-2013 02:49 »  |  | 
 
 может это вообще не возможно?    самописная, обычное приложение.Вы отладчиком научились пользоваться? вам чтото предлагают - вы даже не пробуете это или просто не говорите нам что у вас получилось, а что нет из предложенного? или есть подозрение что рано или поздно, но над нами возьмёт верх любопытство и мы натурально попробуем сами это сделать, а потом выложим результат? ) какая разница самописная она или нет, вы же явно делаете дополнительный отчёт, а метаданные они и в африке метаданные. разберитесь с отладчиком уже и сравните каждую переменную у вас в коде с тем, что в ней должно быть - тип данных и значение в каждый момент времени и на разных данных. тем более, что вы прямо во время отладки имеете возможность примерить различные варианты строки кода, если это касается вызова функции. я по крайней мере, если не могу понять как вызвать правильно функцию, то дохожу до нужного момента в отладчике и перебираю все варианты, как могла бы выглядеть строка вызова функции. и ещё такой вопрос: вы уверены что вам необходимо это реализовывать в отчёте? зачем вам в ячейке хранить значение отличное от расшифровки? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #16 : 18-01-2013 04:41 »  |  | 
 
 отладчиком учусь, а то что "над нами возьмёт верх любопытство и мы натурально попробуем сами это" так не было  и не будет! И метаданные действительно такие же в Африке. Учусь и есть желание.
 Реализовать это в отчёте для удобства, используя меньше бумажных носителей.
 Спасибо за совет, всё таки делать большой упор на отладчик, по аналогии с вашим...
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Radistka | 
								|  | « Ответ #17 : 18-01-2013 04:50 »  |  | 
 
 Реализовать это в отчёте для удобства, используя меньше бумажных носителей.
 при чём здесь бумажные носители? я имела ввиду уверены ли вы что вам нужен отчёт а не обработка.  зачем вам в ячейке хранить значение отличное от расшифровки?
 так всё таки зачем? или у вас они совпадают? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #18 : 18-01-2013 05:24 »  |  | 
 
 Реализовать это в отчёте для удобства, используя меньше бумажных носителей.
 при чём здесь бумажные носители? я имела ввиду уверены ли вы что вам нужен отчёт а не обработка.  зачем вам в ячейке хранить значение отличное от расшифровки?
 так всё таки зачем? или у вас они совпадают?Туплю. Отчёт или обработка - без разницы. Нашёл отчёт в ЗиК СпискиРаботников там как раз по клику делает то что нужно. часть данных совпадает, часть вытягивается из другого справочника...извините, совпадают  |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Radistka | 
								|  | « Ответ #19 : 18-01-2013 05:56 »  |  | 
 
 Мысль первая:если совпадают, то поставьте в качестве значения в ячейку ссылку т.е. не  ОбластьМакета.Параметры.ЗначениеЯчейки = ЭлементСправочника.Наименование; а ОбластьМакета.Параметры.ЗначениеЯчейки = ЭлементСправочника;Мысль вторая , возможно не рабочая: а если попробовать в расшифровку пихать не открытие формы а например ссылку на тот элемент справочника, который вам нужно открывать? |  
						| 
								|  |  
								| « Последнее редактирование: 18-01-2013 07:10 от Radistka » |  Записан | 
 |  |  | 
	| 
			| 
					
						| asdfr1 
								Участник    Offline | 
								|  | « Ответ #20 :  19-01-2013 09:57 »   |  | 
 
 ОГРОМНОЕ спасибо   всё получилось   открывает по ссылке на элемент справочника рассшифровку |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |