Не могу вызвать форму из документа в расширении

1. maurita23 10.11.21 07:39 Сейчас в теме
У меня есть расширение, в него я добавила документ Реализация ТиУ. Добавила реквизит с типом дата. Из договора получила срок оплаты. Пытаюсь из формы реализации вызвать форму расчетов (общяя форма ВыборПорядкаУчетаРасчетов). В расширение она также добавлена
В пользовательском режиме у меня выходит ошибка

Недопустимое значение параметра (параметр номер '1')
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(405)}: ТаблицаЗачетАвансов = ПолучитьИзВременногоХранилища(АдресХранилища);
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(11)}: ЗагрузитьТаблицуЗачетАвансовИзВременногоХранилища(АдресХранилища);
{РасширениеКонтрольСроковОплатыДоговоров Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаУслуги.Форма(34)}: ФормаРасчетов = ПолучитьФорму("ОбщаяФорма.ВыборПорядкаУчетаРасчетов",ПараметрыФ,Объект);

по причине:
Недопустимое значение параметра (параметр номер '1')

Саму форму вызываю так
ПараметрыФ = Новый Структура("Ключ", Объект);
ФормаРасчетов = ПолучитьФорму("ОбщаяФорма.ВыборПорядкаУчетаРасчетов",ПараметрыФ,Объект);

Что не так?

Еще вопрос. Смогу я в дальнейшем в полю СрокОплаты обращаться как ФормаРасчетов.СрокОплаты или нет? Мне нужно этот реквизит изменить программно в расширении. Может есть способ это сделать?
По теме из базы знаний
Найденные решения
7. maurita23 10.11.21 10:03 Сейчас в теме
(5) Вы имеете в виду это?
ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ТолькоПросмотр",     ЭтотОбъект.ТолькоПросмотр);
	ПараметрыФормы.Вставить("Дата",               Объект.Дата);
	ПараметрыФормы.Вставить("ДоговорКонтрагента", Объект.ДоговорКонтрагента);
	ПараметрыФормы.Вставить("Контрагент",         Объект.Контрагент);
	ПараметрыФормы.Вставить("Организация",        Объект.Организация);
	ПараметрыФормы.Вставить("ОстаткиОбороты",     "Кт");
	
	ТипыДокументов = "Метаданные.Документы.РеализацияОтгруженныхТоваров.ТабличныеЧасти.ЗачетАвансов.Реквизиты.ДокументАванса.Тип";
	ПараметрыФормы.Вставить("ТипыДокументов",                   ТипыДокументов);
	ПараметрыФормы.Вставить("РежимОтбораДокументов",            ПредопределенноеЗначение("Перечисление.РежимОтбораДокументов.ПоОстаткам"));
	ПараметрыФормы.Вставить("АдресХранилищаЗачетАвансов",       АдресХранилищаЗачетАвансов);
	ПараметрыФормы.Вставить("СпособЗачетаАвансов",              Объект.СпособЗачетаАвансов);
	ПараметрыФормы.Вставить("СчетУчетаРасчетовСКонтрагентом",   Объект.СчетУчетаРасчетовСКонтрагентом);
	ПараметрыФормы.Вставить("СчетУчетаРасчетовПоАвансам",       Объект.СчетУчетаРасчетовПоАвансам);
	ПараметрыФормы.Вставить("ВсегдаОтображатьСчетаУчета",       Истина);
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 10.11.21 08:14 Сейчас в теме
Ну там же написано.
Недопустимое значение параметра (параметр номер '1')
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(405)}: ТаблицаЗачетАвансов = ПолучитьИзВременногоХранилища(АдресХранилища);

проще всего использовать отладчик, посмотреть, что там в этой форме происходит. Видно, что форма открывается, но ей чего-то не хватает.
3. acces969 362 10.11.21 08:14 Сейчас в теме
Ошибка не из за открытия формы, а из за мусора с временным хранилищем. Ставьте остановку по ошибке и смотрите, почему у вас ПолучитьИзВременногоХранилища(АдресХранилища) не срабатывает. Спойлер - АдресХранилища не заполнен.
4. maurita23 10.11.21 08:27 Сейчас в теме
(3)Спасибо, можете привести пример, как его обычно заполняют? Не совсем поняла чего не хватает в коде.
5. acces969 362 10.11.21 08:35 Сейчас в теме
(4)В конфигураторе ищите макет. Скорее всего, это табличный документ в общих макетах или в макетах обработки. Смотрите содержимое макета. Если есть данные, которые подходят лучше - вставляйте их в исходный макет
7. maurita23 10.11.21 10:03 Сейчас в теме
(5) Вы имеете в виду это?
ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ТолькоПросмотр",     ЭтотОбъект.ТолькоПросмотр);
	ПараметрыФормы.Вставить("Дата",               Объект.Дата);
	ПараметрыФормы.Вставить("ДоговорКонтрагента", Объект.ДоговорКонтрагента);
	ПараметрыФормы.Вставить("Контрагент",         Объект.Контрагент);
	ПараметрыФормы.Вставить("Организация",        Объект.Организация);
	ПараметрыФормы.Вставить("ОстаткиОбороты",     "Кт");
	
	ТипыДокументов = "Метаданные.Документы.РеализацияОтгруженныхТоваров.ТабличныеЧасти.ЗачетАвансов.Реквизиты.ДокументАванса.Тип";
	ПараметрыФормы.Вставить("ТипыДокументов",                   ТипыДокументов);
	ПараметрыФормы.Вставить("РежимОтбораДокументов",            ПредопределенноеЗначение("Перечисление.РежимОтбораДокументов.ПоОстаткам"));
	ПараметрыФормы.Вставить("АдресХранилищаЗачетАвансов",       АдресХранилищаЗачетАвансов);
	ПараметрыФормы.Вставить("СпособЗачетаАвансов",              Объект.СпособЗачетаАвансов);
	ПараметрыФормы.Вставить("СчетУчетаРасчетовСКонтрагентом",   Объект.СчетУчетаРасчетовСКонтрагентом);
	ПараметрыФормы.Вставить("СчетУчетаРасчетовПоАвансам",       Объект.СчетУчетаРасчетовПоАвансам);
	ПараметрыФормы.Вставить("ВсегдаОтображатьСчетаУчета",       Истина);
Показать
8. acces969 362 10.11.21 10:13 Сейчас в теме
(7) Прошу прощения, ответ был вообще из другой ветке. К вашему случаю не имеет никакого отношения - я писал про макет КАТО
9. maurita23 10.11.21 12:52 Сейчас в теме
(7) Получилось так сделать. Через параметрыформы.
6. BullTi 10.11.21 09:36 Сейчас в теме
Я формы обычно так открываю, заполняю открытую форму при необходимости в ОбработкаЗаполнения(запускатся только для созданных документов), либо при СозданииНаСервере в модуле объекта, честно не знаю насколько правильно, поправьте пожалуйста если я не прав
	
СтруктураПараметров = Новый Структура("ВашКлюч", ВашПараметр);
ОткрытьФорму("Документ.ВашДокумент.Форма.Форма", СтруктураПараметров);
Оставьте свое сообщение

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