Имя: Пароль:
1C
1С v8
Управляемое приложение. Открыть форму обработки, заполнив реквизиты
0 kenshinka
 
10.07.12
11:40
Здравствуйте уважаемые Мистяне.
Подскажите, пожалуйста.
Не удается передать реквизит в обработку. Что я делаю не так?

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
   //Вставить содержимое обработчика.
   ПараметрыФормы = Новый Структура("Документ", ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.ТекущаяСтрока);
   ОткрытьФорму("Обработка.WT_ПечатьТТН1209.Форма.ФормаУправляемая", ПараметрыФормы);
КонецПроцедуры

Данный код расположен в модуле команды документа.
1 kenshinka
 
10.07.12
11:51
а я до сих пор мечтаю о помощи... Зря? :)
2 Smallrat
 
10.07.12
11:55
В форме должен быть параметр "Документ" - на закладке "Параметры"
3 MSII
 
10.07.12
11:56
Да полюбому типы не совпадают. Параметр формы обработки у тебя с типом ДокументСсылка, а ты в него пытаешься передать текущую строку. Дописывай код и все взлетит.
4 MSII
 
10.07.12
12:01
И кстати, из формы списка документа твоя команда отработает, а из формы документа - хрен. Надеюсь, так и задумано.
5 kenshinka
 
10.07.12
12:22
(2) Спасибо, сейчас посмотрю

(3) В форме списка ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.ТекущаяСтрока - Как раз документссылка на документ, из которого запускаю команду. Других возможностей обратиться к ссылке документа я не нашел.
(4) Из формы документа действительно доступа нет. как получить ссылку на документ? Объект.Ссылка не прокатывает (по крайней мере при вызове из списка).
6 MSII
 
10.07.12
12:24
Не, не ссылка. ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент - это у тебя что такое? Таблица формы?
7 kenshinka
 
10.07.12
12:35
(6)
ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.                 Значение: ТаблицаФормы; Тип: ТаблицаФормы
ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.ТекущаяСтрока    Значение: Перемещение то....; Тип: ДокументСсылка.ПеремещениеТоваров
8 kenshinka
 
10.07.12
12:40
(2) добавил на закладку "Параметры" документ с нужным типом - ситуация не изменилась
9 MSII
 
10.07.12
12:43
ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.ТекущиеДанные.<имя колонки списка, содержащего ссылку на док>
10 MSII
 
10.07.12
12:44
Или тупо ПараметрКоманды
11 Smallrat
 
10.07.12
12:47
(8) Это странно - у меня работало через параметры.
А если попробовать передать через реквизит ?
примерно так:

ФормаРедактированияТекста = ПолучитьФорму("ОбщаяФорма.ДиалогРедактированияТекста", ,Форма);
ФормаРедактированияТекста.Текст = ВходящийТекст;
ФормаРедактированияТекста.ОткрытьМодально();

где ".Текст" это реквизит формы (закладка "Реквизиты")
12 kenshinka
 
10.07.12
12:53
Всем спасибо, проблему решил.
На всякий случай отпишусь: Дело в том, что в управляемых формах параметры передаются в определенную структуру, а не в саму обработку. и вот обрабатывать эту структуру надо в форме обработке в процедуре ПриСозданииНаСервере.
Вставлю участок кода, после которого все заработало:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Если Параметры.Свойство("Документ") Тогда
       Объект.Документ = Параметры.Документ;
   КонецЕсли;
КонецПроцедуры

Этот код располагается в модуле формы обработки, которую я пытаюсь открыть. В параметрах документ я не добавлял.