Если ЗначениеЗаполнено(ПараметрЗапуска) тогда
Уид = Новый УникальныйИдентификатор(ВернутьПраметрЗапуска());
МойДок = Документы.МойДок.ПолучитьСсылку(Уид);
МойДок.ПолучитьФорму("ФормаДокумента").Открыть();
КонецЕсли;
Переменная не определена Документы (((
Сохранить в глобальной переменной
Это мысль, вчера просто уже глаза был замылены... а кто потом обработает эту переменную?
(3) codename-s,
1. Документы, Справочники, Запросы есть только &НаСервере или &НаСервереБезКонтекста. Видимо процедура то клиентская.
2. Если нужно открыть форму, тогда лучше воспользоваться методом ОткрытьФорму(), а не получать ее.
3. Вот так должно работать.
&НаКлиенте
Процедура Что-тоКлиентское
Если ЗначениеЗаполнено(ПараметрЗапуска) тогда
КлючДокумента = ПолучитьСсылкуНаДокумент(ВернутьПраметрЗапуска());
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", КлючДокумента);
ОткрытьФорму("Документ.ТвойДокумент.ФормаОбъекта", ПараметрыФормы);
КонецЕсли;
КонецЕсли;
&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаДокумент(СтрокаGUIDа)
GUID = Новый УникальныйИдентификатор(СтрокаGUIDа);
Возврат Документы.ТвойДокумент.ПолучитьСсылку(GUID);
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если ВернутьСсылкуНаДокумент(ВернутьПраметрЗапуска()) <> Неопределено тогда
ПоказатьЗначение(,ВернутьСсылкуНаДокумент(ВернутьПраметрЗапуска()));
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ВернутьСсылкуНаДокумент(Параметр)
Если ЗначениеЗаполнено(Параметр) тогда
Уид = Новый УникальныйИдентификатор(Параметр);
Попытка
Задача = Документы.МойДокумент.ПолучитьСсылку(Уид);
Исключение
Сообщить ("Неверная ссылка");
КонецПопытки;
Возврат Задача;
КонецЕсли;
КонецФункции
Показать
В модуле управляемого приложения ВернутьПраметрЗапуска() которая собственно возврашает параметр запуска)))
Бхы, ВернутьПраметрЗапуска() у вас както до боли знакомо называется ;) она у вас не в том же модуле случайно
Так быстрее до Парижу добежать, чем управляемая форма откроется.
Год не работал с УФ, что помню
Уид = Новый УникальныйИдентификатор(Параметр);
Задача = Документы.МойДокумент.ПолучитьСсылку(Уид);
Форма=ПолучитьФорму(<Форма>, Новый Структура("Ключ",Задача));
Форма.Открыть();
Ну вот, все вроде работает прекрасно однако бЯда... если в браузере открыта 1с и пользователь еще и переходит по ссылке из письма браузер любезно открывает новую вкладку и 1с сообщает что возможно сеанс уже запущен в другой вкладке и предлагает заново авторизоваться.
Если я сижу разгребаю кучу писем и тыкаю по ссылкам то получается неудобно... вот просто интересно это вообще решаемо?