Нет ссылки на объект

1. Swetlana 26 27.02.12 09:30 Сейчас в теме
У меня есть внешняя обработка. Есть реквизит СсылкаНаОбъект. На форме обработки ТабличноеПоле тип значения Документсписок. При выборе из списка документа срабатывает процедура.


Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
стандартнаяобработка=ложь;
Форма=ЭтотОбъект.ПолучитьФорму("ФормаДокумента123");
СсылкаНаОбъект=Элемент.ТекущиеДанные.Ссылка;
Форма.Открыть();
КонецПроцедуры

Но, открывается форма нового документа! Нет ссылки на выбранный объект. :( Что не так делаю?
Конфигурация на базе УТ платформа 8.1
СсылкаНаОбъект это реквизит внешней обработки
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. Ягг 497 27.02.12 14:08 Сейчас в теме
(1) Swetlana, я немного не понял:

1. "ФормаДокумента123" - форма внешней обработки (раз ЭтотОбъект.ПолучитьФорму(..)")?
2. Если "ФормаДокумента123" - она произвольная или основной реквизит формы (данные) ОбработкаОбъект?
2. СсылкаНаОбъект - реквизит формы или объекта (внешней обработки)?

Что-то я запутался :)

Если "в открывающейся форме не доступен реквизит СсылкаНаДокумент" ", а сам реквизит - это реквизит объекта - занчит форма произвольная
7. Swetlana 26 27.02.12 17:00 Сейчас в теме
(5)

1. "ФормаДокумента123" - форма внешней обработки (раз ЭтотОбъект.ПолучитьФорму(..)")? Да
2. Если "ФормаДокумента123" - она произвольная или основной реквизит формы (данные) ОбработкаОбъект? Эту форму скопировала из основного документа(ФормаДокумента) и вставила ее в обработку.
2. СсылкаНаОбъект - реквизит формы или объекта (внешней обработки)? Реквизит внешней обработки.
6. Uncore 1280 27.02.12 15:45 Сейчас в теме
(1) попробуйте так:
СтандартнаяОбработка = Ложь;
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
8. Swetlana 26 27.02.12 17:05 Сейчас в теме
(6) В этом случае открывается форма документа а не обработки. Вставила свою форму (просто она урезанная) в конфигуратор к документу, в этом случае работает.
9. Uncore 1280 27.02.12 17:31 Сейчас в теме
(8) точно. Получается у вас есть форма документа в обработке, и вы хотите при открытии заполнить ее данными из ссылки на объект? Тогда нужно через СсылкаНаОбъект... [Данные документа] заполнять ЭлементыФормы... [Реквизиты формы обработки]. Ваш код не работает, потому что вы не передаете никаких данных из ссылки на объект в форму вашей обработки.
10. Swetlana 26 27.02.12 17:37 Сейчас в теме
(9) Верно, проблема в том что у меня не получается это сделать никак. Пробовала по разному, но никак.
11. Ice-D 27.02.12 17:59 Сейчас в теме
(10) Swetlana,

Тогда все вот так
Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
	
СтандартнаяОбработка  = Ложь;

Форма = ПолучитьФорму("ФормаДокумента123");

Форма.ДокументОбъект = ВыбраннаяСтрока.ПолучитьОбъект();

Форма.Открыть();

КонецПроцедуры
Показать



По сути реквизит обработки "СсылкаНаОбъект" Вам не нужен, по крайней мере для запуска формы.

Только вероятно, у вас посыпятся ошибки в модуле формы, которые нужно будет править.


(6) Я уже Выше говорил, что если нужно открыть саму форму документа, то этот обработчик не нужен, стандартная обработка итак ее откроет.
Zoomby; Swetlana; +2 Ответить
12. Swetlana 26 27.02.12 18:17 Сейчас в теме
(11) Большое пребольшое спасибо. Помогло. Открывается документ с нужными данными. Ура! :)

Правда форма открывается несколько странно, некоторые поля которые сделала недоступными стали доступными. Т.е. убрала галочку доступность в свойствах. Пришлось Убрать их видимость. Страницы у документа которые сделала невидимыми и недоступными, стали видимыми но недоступными. Фича видимо.
13. Ice-D 28.02.12 11:57 Сейчас в теме
(12) Swetlana, Вероятнее всего видимость\доступность этих полей задается программно в модуле формы. Попробуйте поискать код в духе "ЭлементыФормы.ИмяПоля.Доступность\Видимость".

Как правило, есть процедура "УправлениеВидимостью()", либо "УстановитьВидимость()" либо однотипное название. Собственно говоря, можете поставить точку останова в процедуре "ПриОткрытии()" и посмотреть, что там происходит и все должно стать понятным.
Swetlana; +1 Ответить
2. 1cUserAndrew 63 27.02.12 09:38 Сейчас в теме
Попробуйте использовать параметр не "Элемент", а "ВыбраннаяСтрока".

СсылкаНаОбъект = ВыбраннаяСтрока;
3. Swetlana 26 27.02.12 10:24 Сейчас в теме
Не помогло, т.е. в открываемой форме не доступен реквизит СсылкаНаОбъект почему то.
В реквизиты формы я добавила реквизит СсылкаНаОбъект тип любая ссылка
4. Ice-D 27.02.12 13:49 Сейчас в теме
А какова цель данного действия? Если нужно открыть документ из списка документов, тогда данный код вообще не нужен.

В любом случае код:
Форма=ЭтотОбъект.ПолучитьФорму("ФормаДокумента123"); 


Ищет форму документа в формах данной обработки и даже если она там есть, то данных не просто так не получит.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот