Имя: Пароль:
1C
1С v8
Вывести информацию на форму.
0 MAPATNK2
 
naïve
04.05.17
10:49
Всем привет. Что то я совсем запутался с этими управляющими формами. Хочу, чтобы на форме появилась запись. Вроде все легко, на обычных формах все работает, а на управляемых не получается.  
&НаКлиенте
Процедура При()
ХарИнцидента =  ЭтаФорма.Объект.Тип;
Решение = Запр(ХарИнцидента,Решение);
ЭтотОбъект.Объект.МетодРешения = Строка(Решение);
Элементы.Ответственный.ОбновитьТекстРедактирования();
Элементы.МетодРешения.ОбновитьТекстРедактирования();
ЭтаФорма.Прочитать();
ЭтаФорма.ОбновитьОтображениеДанных();
ЭтаФорма.ЭтотОбъект.Записать();

КонецПроцедуры


&НаСервере
Функция  Запр(ХарИнцидента,Решение)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    МетодыРешения.ХарактеристикаИнцидента1,
|    МетодыРешения.МетодРешения
|ИЗ
|    Справочник.МетодыРешения КАК МетодыРешения
|ГДЕ
|    МетодыРешения.ПометкаУдаления = ЛОЖЬ
|    И МетодыРешения.ХарактеристикаИнцидента1.Ссылка = &ХарИнцидента";
Запрос.УстановитьПараметр("ХарИнцидента",ХарИнцидента);
Рез = запрос.Выполнить().Выгрузить();
Если Рез.Количество()>0 тогда
ном=0;
Для каждого стр из Рез цикл
ном = ном+1;    
номер = Строка(ном);
Решение = строка(Решение) +"  " + номер+")  "+стр.МетодРешения;
КонецЦикла;
//ЭтаФорма.Объект.МетодРешения = Решение;
КонецЕсли;
возврат строка(Решение);    
КонецФункции;    

Функция возвращает то что нужно,
реквизит заполняется переменной, которая вернулась, но черт, она не отображается. на форме ничего не появляется. Помогите пожалуйста.
1 Ц_У
 
04.05.17
10:53
ЭтаФорма.Элементы.ЭлементНадпись.Заголовок
2 MAPATNK2
 
naïve
04.05.17
10:58
(1) Это заголовок появляется. А заполнить к примеру поле.
3 MAPATNK2
 
naïve
04.05.17
10:59
не совсем то что нужно.
4 igorPetrov
 
04.05.17
11:01
(3) Может открыть документацию и разобраться?
5 MAPATNK2
 
naïve
04.05.17
11:03
(4) Да, кэп.  К сожалению нет, поэтому сюда и пишу))
6 Buster007
 
04.05.17
11:05
ОповеститьОбИзменении
7 dezss
 
04.05.17
11:09
(0) в функции Запр не всегда будет инициализирована переменная Решение.

а по сабжу, зачем ЭтотОбъект используешь (может отсюда ноги и растут)?
не проще ли сразу

Объект.МетодРешения = Строка(Решение);

УправляемаяФорма.ЭтотОбъект (ManagedForm.ThisObject)
УправляемаяФорма (ManagedForm)
ЭтотОбъект (ThisObject)
Использование:

Только чтение.
Описание:

Тип: УправляемаяФорма.
Содержит данную форму. Может быть использовано в модуле формы для получения данной формы и передачи ее в качестве параметра в другие формы, глобальные процедуры и функции и т.д.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент).
8 MAPATNK2
 
naïve
04.05.17
11:15
(7) ХарИнцидента =  ЭтаФорма.Объект.Тип;
Решение = Запр(ХарИнцидента,Решение);
Объект.МетодРешения = Строка(Решение);
//Элементы.МетодРешения =  Строка(Решение);
Элементы.Ответственный.ОбновитьТекстРедактирования();
Элементы.МетодРешения.ОбновитьТекстРедактирования();
ЭтаФорма.Прочитать();
ЭтаФорма.ОбновитьОтображениеДанных();
ЭтаФорма.ЭтотОбъект.Записать();

Никакого результата
9 igorPetrov
 
04.05.17
11:16
(5) Чего нет? СП спёрли?
10 dezss
 
04.05.17
11:17
(8) а какого типа объект?
11 MAPATNK2
 
naïve
04.05.17
11:21
(9) Причем тут СП, я саму методику не понимаю. Если так легко в СП найти инфу по данному вопросу, пожалуйста помогите, буду очень признателен.
12 MAPATNK2
 
naïve
04.05.17
11:22
(10) ДанныеФормыСтруктура
13 h-sp
 
04.05.17
11:37
(12) ЭтотОбъект - это и есть эта форма. Какой тайный смысл в выражении

ЭтаФорма.ЭтотОбъект  ?
14 dezss
 
04.05.17
11:41
(12) а можешь скрин дерева реквизитов формы с Объектом показать?
Чета я нифига не пойму.
15 MAPATNK2
 
naïve
04.05.17
11:45
16 dezss
 
04.05.17
11:55
Объект.МетодРешения = Строка(Решение);

Все что ниже, убрать, если это дело у тебя происходит в модуле формы.
Если нет, то добавить
ЭтаФорма.ОбновитьОтображениеДанных();
17 dezss
 
04.05.17
11:56
(15) и мне интересно, как ты понял, что у тебя объект типа ДанныеФормыСтруктура?
18 dezss
 
04.05.17
11:57
И еще, откуда у тебя вызывается эта процедура При?
19 MAPATNK2
 
naïve
04.05.17
12:46
(18) При открытии. (17) XD тип объекта посмотрел.
20 MAPATNK2
 
naïve
04.05.17
12:48
(16) не помогло, да и нужно мне это для обновления ответственного.
21 1Снеговик
 
гуру
04.05.17
12:52
"ЭтотОбъект.Объект.МетодРешения ="
Что такое Объект? Как так можно ему что-то присваивать?
22 dezss
 
04.05.17
13:00
(19) в дереве реквизитов тип объекта у тебя ДокументОбъект.Инцидент
(20) пройдись отладчиком...смотри значение Решение и Объект.МетодРешения. И после по какому-нибудь событию посмотри значение Объект.МетодРешения.
Тип у Объект.МетодРешения строка?
А как ты обновляешь ответственного, если тебе именно это и нужно? Что-то этого я в коде не заметил.
23 MAPATNK2
 
naïve
04.05.17
13:17
(21) Реквизит создан с типом строка "Метод решения"
24 MAPATNK2
 
naïve
04.05.17
13:25
Да вопрос вот в чем.  если делаю так
ЭтаФорма.Элементы.МетодРешения.Заголовок = Решение;
так все гуд и заголовок приобретает нужный текст. Но мне то не в заголовок нужно запихать а в поле ввода, которое рядом. Вот и все. Как мне к нему обратиться?
25 dezss
 
04.05.17
14:11
(24) поле ввода надходится в ПутьКДанным элемента формы. Но зачем тебе это, если Объект.МетодРешения и есть этот ПутьКДанным.
26 MAPATNK2
 
naïve
04.05.17
14:14
(25) Я понимаю все это, но не пашет. Заголовок заполняется а поле воода нет
27 dezss
 
04.05.17
14:15
(26) отладчиком проходил?
в какой момент Объект.МетодРешения очищается?
28 FIXXXL
 
04.05.17
14:58
(26) мож у тебя поле ввода не того типа, что присваиваешь?
29 Chameleon1980
 
04.05.17
15:05
ТС'у нужно просто напросто научиться пользоваться отладчиком - сильно облегчит жизнь и дальнейшее самостоятельное обучение
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.