Установка реквизита обработки на форме из модуля обработки УФ

1. assa 61 17.10.21 15:00 Сейчас в теме
Добрый день. Создал простейшую обработку. У обработки есть реквизит "СтроковойРеквизит". Создал форму обработки, на форму добавил этот реквизит. В процедуре формы ПриСозданииНаСервере() Вызываю процедуру модуля обработки
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Обработка = РеквизитФормыВЗначение("Объект");
	Обработка.УстановитьСтроковойРеквизит();
	
КонецПроцедуры
Показать

В модуле обработки есть соответствующая процедура
Процедура УстановитьСтроковойРеквизит() Экспорт
	
	СтроковойРеквизит = "моя строка";
	
КонецПроцедуры

И что то не могу сообразить, что делаю не так. После открытия формы реквизит "СтроковойРеквизит " пустой.Что сделал не так? Спасибо.
Прикрепленные файлы:
тест.epf
По теме из базы знаний
Найденные решения
2. Dr.HiHi 3 17.10.21 15:13 Сейчас в теме
все норм... только
Обработка - это отдельный объект и в нем есть измененные данные, которые нужно обратно вернуть Объект-у
или ЗначениеВРеквизитФормы(Обработка, "Объект");
или ЗаполнитьЗначенияСвойств(Объект, Обработка);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. gybson 18.10.21 11:19 Сейчас в теме
(1)форма еще не создана, все действия с ней за пределами данной процедуры бессмысленны. Пишите прямо здесь, в этой процедуре, что Вам надо.
8. assa 61 18.10.21 14:39 Сейчас в теме
(7)Спасибо за совет. "Прямо здесь" это в процедуре "ПриСозданииНаСервере"? Дело в том, что это будет(вернее уже сделана) регламентная обработка. И запускаться может как с формой, так и без формы. И процедурой УстановитьСтроковойРеквизит() я устанавливаю значения из хранилища для обоих вариантов. Если есть более изящные решения, то буду рад их применить.
9. gybson 18.10.21 15:06 Сейчас в теме
(8) Как-то так тогда

Обработка = РеквизитФормыВЗначение("Объект");
Объект.СтроковойРеквизит = Обработка.ПолучитьСтроковойРеквизит();
10. assa 61 18.10.21 17:56 Сейчас в теме
2. Dr.HiHi 3 17.10.21 15:13 Сейчас в теме
все норм... только
Обработка - это отдельный объект и в нем есть измененные данные, которые нужно обратно вернуть Объект-у
или ЗначениеВРеквизитФормы(Обработка, "Объект");
или ЗаполнитьЗначенияСвойств(Объект, Обработка);
3. assa 61 17.10.21 15:29 Сейчас в теме
(2)
ЗначениеВРеквизитФормы(Обработка, "Объект");

Спасибо. На самом деле обработка немного сложнее и имет реквизит "КомпоновщикНастроек". При зарытии обработки я сохраняю значения в Хранилище значений. И при открытии, из модуля формы, пытаюсь восстановить значения. Так вот значения отбора для "КомпоновщикНастроек" Прекрасно восстанавливаются и отображаются в открытой форме без дополнительных танцев. Этот момент меня и сбил с толку.
Если СтруктураОтбора.Количество() > 0 Тогда
		ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить();
		Для Каждого ЭлементСтруктурыОтбора из СтруктураОтбора Цикл
			ЭлементОтбора = ЭтотОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			СтруктураЭлементаОтбора = ЭлементСтруктурыОтбора.Значение;
			Для Каждого Элемент из СтруктураЭлементаОтбора Цикл
				Если Элемент.Ключ = "ЛевоеЗначение" Тогда
					ЭлементОтбора[Элемент.Ключ] =  Новый ПолеКомпоновкиДанных(Элемент.Значение);
				Иначе
					ЭлементОтбора[Элемент.Ключ] = Элемент.Значение;
				КонецЕсли;
			КонецЦикла;	
		КонецЦикла;
	КонецЕсли;
Показать

З.Ы. Добавление ЭтотОбъект.СтроковойРеквизит = ... Так же не помогало.
4. gybson 18.10.21 10:52 Сейчас в теме
А зачем делаете через вызов метода объекта? В чем прикол?
5. FatPanzer 18.10.21 10:55 Сейчас в теме
6. gybson 18.10.21 11:16 Сейчас в теме
(5)так-то неплохо конечно, но мне кажется платформа тут несколько раз теряет контекст происходящего =)
Оставьте свое сообщение

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