|
Один из ПараметровФормы не передается открываемой форме в ее поле | ☑ | ||
---|---|---|---|---|
0
Iten
21.09.22
✎
18:26
|
Доброго времени суток.
У меня возникла проблема при создании расширения в УТ 11.4 на базе 1с 8.3. Мне нужно в расширяемой форме документа Приобретение товаров и услуг передать ее параметры в ПараметрахФормы в другую форму РегистраСведений.НапоминанияПользователям.ФормаЗаписи в процедуре после записи с помощью ОткрытьФорму("РегистрСведений.НапоминанияПользователя.ФормаЗаписи", ПараметрыФормы); Я передал нужные мне параметры кроме одного с чем возникла проблема - ссылки на объект (сам документ приобретения). В параметрах формы он есть (посмотрел отладчиком) - его тип данных ДокументСсылка.ПриобретениеТоваровУслуг. Поле (реквизит объекта/формы) принимающий проблемный параметр называется Источник и его тип данных ОпределяемыйТип.ПредметНапоминания (он добавлен в расширение и в нем есть ДокументСсылка.ПриобретениеТоваровУслуг). Также я пытался принимать ДокументСсылку новым созданным полем с точно заданным типом данных ДокументСсылка.ПриобретениеТоваровУслуг - в него тоже не пришла ссылка на документ. Параметры формы пытаюсь передать кодом &НаКлиенте &После("ПослеЗаписи") Процедура pavel_ПослеЗаписи(ПараметрыЗаписи) ИсточникНужногоНапоминания = Объект.Ссылка; ПараметрыФормы = Новый Структура("Пользователь",НайтиПользователя()); ПараметрыФормы.Вставить("Источник",ИсточникНужногоНапоминания); ОткрытьФорму("РегистрСведений.НапоминанияПользователя.ФормаЗаписи", ПараметрыФормы); КонецПроцедуры Пожалуйста, помогите понять, почему в реквизит формы не поступает нужный параметр (ДокументСсылка) и как сделать так, чтобы он туда поступал. |
|||
1
asady
21.09.22
✎
21:01
|
(0) попробуй через ЗначенияЗаполнения
ЗначенияЗаполнения = Новый Структура("Пользователь,Источник",НайтиПользователя(),ИсточникНужногоНапоминания); ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения); |
|||
2
Жан Пердежон
22.09.22
✎
13:26
|
Реквизиты формы из параметров автоматически не заполняются, это делают программно в ПриСозданииНаСервере()
|
|||
3
Iten
29.09.22
✎
10:03
|
Спасибо за помощь в этом вопросе - мне удалось отразить нужные параметры в открываемой форме!
В форме документа приобретения товаров услуг такой код у меня получился: &НаКлиенте &После("ПослеЗаписи") Процедура pavel_ПослеЗаписи(ПараметрыЗаписи) ИсточникНужногоНапоминания = Объект.Ссылка; ВродеБыСтрока = Строка(Объект.Ссылка); НомерПроводимогоДокумента = Объект.Номер; ДатаПроводимогоДокумента = Формат(Объект.Дата,"ДФ=dd.MM.yyyy"); ОписаниеНапоминания = НомерПроводимогоДокумента + " " + ДатаПроводимогоДокумента + " " + ВродеБыСтрока; ЗначенияЗаполнения = Новый Структура("Пользователь,Источник,Описание",НайтиПользователя(),ИсточникНужногоНапоминания, ОписаниеНапоминания); ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения); ОткрытьФорму("РегистрСведений.НапоминанияПользователя.ФормаЗаписи", ПараметрыФормы); КонецПроцедуры В форме записи регистра сведений Напоминания пользователям такой "принимающий код": &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЗакрыватьПриЗакрытииВладельца = Ложь; Если Параметры.Свойство("ЗначенияЗаполнения") Тогда Запись.Описание = "У вас новый документ: " + Запись.Источник; Запись.ИнтервалВремениНапоминания = 10; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |