Не могу вызвать форму из документа в расширении
У меня есть расширение, в него я добавила документ Реализация ТиУ. Добавила реквизит с типом дата. Из договора получила срок оплаты. Пытаюсь из формы реализации вызвать форму расчетов (общяя форма ВыборПорядкаУчетаРасчетов). В расширение она также добавлена
В пользовательском режиме у меня выходит ошибка
Недопустимое значение параметра (параметр номер '1')
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(405)}: ТаблицаЗачетАвансов = ПолучитьИзВременногоХранилища(АдресХранилища);
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(11)}: ЗагрузитьТаблицуЗачетАвансовИзВременногоХранилища(АдресХранилища);
{РасширениеКонтрольСроковОплатыДоговоров Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаУслуги.Форма(34)}: ФормаРасчетов = ПолучитьФорму("ОбщаяФорма.ВыборПорядкаУчетаРасчетов",ПараметрыФ,Объект);
по причине:
Недопустимое значение параметра (параметр номер '1')
Саму форму вызываю так
Что не так?
Еще вопрос. Смогу я в дальнейшем в полю СрокОплаты обращаться как ФормаРасчетов.СрокОплаты или нет? Мне нужно этот реквизит изменить программно в расширении. Может есть способ это сделать?
В пользовательском режиме у меня выходит ошибка
Недопустимое значение параметра (параметр номер '1')
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(405)}: ТаблицаЗачетАвансов = ПолучитьИзВременногоХранилища(АдресХранилища);
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(11)}: ЗагрузитьТаблицуЗачетАвансовИзВременногоХранилища(АдресХранилища);
{РасширениеКонтрольСроковОплатыДоговоров Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаУслуги.Форма(34)}: ФормаРасчетов = ПолучитьФорму("ОбщаяФорма.ВыборПорядкаУчетаРасчетов",ПараметрыФ,Объект);
по причине:
Недопустимое значение параметра (параметр номер '1')
Саму форму вызываю так
ПараметрыФ = Новый Структура("Ключ", Объект);
ФормаРасчетов = ПолучитьФорму("ОбщаяФорма.ВыборПорядкаУчетаРасчетов",ПараметрыФ,Объект);
Что не так?
Еще вопрос. Смогу я в дальнейшем в полю СрокОплаты обращаться как ФормаРасчетов.СрокОплаты или нет? Мне нужно этот реквизит изменить программно в расширении. Может есть способ это сделать?
По теме из базы знаний
- Продвинутая технология внешних печатных форм
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Как создать бронебойную систему кибербезопасности на базе 1С
- Неочевидные нюансы записи управляемой формы
- Интеграция Честный Знак и 1C: обмен и синхронизация для УТ11, УНФ, КА2, ERP, Розница: Расширение для работы с СУЗ, ГИС МТ, ЦРПТ
Найденные решения
(5) Вы имеете в виду это?
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ТолькоПросмотр", ЭтотОбъект.ТолькоПросмотр);
ПараметрыФормы.Вставить("Дата", Объект.Дата);
ПараметрыФормы.Вставить("ДоговорКонтрагента", Объект.ДоговорКонтрагента);
ПараметрыФормы.Вставить("Контрагент", Объект.Контрагент);
ПараметрыФормы.Вставить("Организация", Объект.Организация);
ПараметрыФормы.Вставить("ОстаткиОбороты", "Кт");
ТипыДокументов = "Метаданные.Документы.РеализацияОтгруженныхТоваров.ТабличныеЧасти.ЗачетАвансов.Реквизиты.ДокументАванса.Тип";
ПараметрыФормы.Вставить("ТипыДокументов", ТипыДокументов);
ПараметрыФормы.Вставить("РежимОтбораДокументов", ПредопределенноеЗначение("Перечисление.РежимОтбораДокументов.ПоОстаткам"));
ПараметрыФормы.Вставить("АдресХранилищаЗачетАвансов", АдресХранилищаЗачетАвансов);
ПараметрыФормы.Вставить("СпособЗачетаАвансов", Объект.СпособЗачетаАвансов);
ПараметрыФормы.Вставить("СчетУчетаРасчетовСКонтрагентом", Объект.СчетУчетаРасчетовСКонтрагентом);
ПараметрыФормы.Вставить("СчетУчетаРасчетовПоАвансам", Объект.СчетУчетаРасчетовПоАвансам);
ПараметрыФормы.Вставить("ВсегдаОтображатьСчетаУчета", Истина);
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ну там же написано.
проще всего использовать отладчик, посмотреть, что там в этой форме происходит. Видно, что форма открывается, но ей чего-то не хватает.
Недопустимое значение параметра (параметр номер '1')
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(405)}: ТаблицаЗачетАвансов = ПолучитьИзВременногоХранилища(АдресХранилища);
{ОбщаяФорма.ВыборПорядкаУчетаРасчетов.Форма(405)}: ТаблицаЗачетАвансов = ПолучитьИзВременногоХранилища(АдресХранилища);
проще всего использовать отладчик, посмотреть, что там в этой форме происходит. Видно, что форма открывается, но ей чего-то не хватает.
Ошибка не из за открытия формы, а из за мусора с временным хранилищем. Ставьте остановку по ошибке и смотрите, почему у вас ПолучитьИзВременногоХранилища(АдресХранилища) не срабатывает. Спойлер - АдресХранилища не заполнен.
(5) Вы имеете в виду это?
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ТолькоПросмотр", ЭтотОбъект.ТолькоПросмотр);
ПараметрыФормы.Вставить("Дата", Объект.Дата);
ПараметрыФормы.Вставить("ДоговорКонтрагента", Объект.ДоговорКонтрагента);
ПараметрыФормы.Вставить("Контрагент", Объект.Контрагент);
ПараметрыФормы.Вставить("Организация", Объект.Организация);
ПараметрыФормы.Вставить("ОстаткиОбороты", "Кт");
ТипыДокументов = "Метаданные.Документы.РеализацияОтгруженныхТоваров.ТабличныеЧасти.ЗачетАвансов.Реквизиты.ДокументАванса.Тип";
ПараметрыФормы.Вставить("ТипыДокументов", ТипыДокументов);
ПараметрыФормы.Вставить("РежимОтбораДокументов", ПредопределенноеЗначение("Перечисление.РежимОтбораДокументов.ПоОстаткам"));
ПараметрыФормы.Вставить("АдресХранилищаЗачетАвансов", АдресХранилищаЗачетАвансов);
ПараметрыФормы.Вставить("СпособЗачетаАвансов", Объект.СпособЗачетаАвансов);
ПараметрыФормы.Вставить("СчетУчетаРасчетовСКонтрагентом", Объект.СчетУчетаРасчетовСКонтрагентом);
ПараметрыФормы.Вставить("СчетУчетаРасчетовПоАвансам", Объект.СчетУчетаРасчетовПоАвансам);
ПараметрыФормы.Вставить("ВсегдаОтображатьСчетаУчета", Истина);
Показать
Я формы обычно так открываю, заполняю открытую форму при необходимости в ОбработкаЗаполнения(запускатся только для созданных документов), либо при СозданииНаСервере в модуле объекта, честно не знаю насколько правильно, поправьте пожалуйста если я не прав
СтруктураПараметров = Новый Структура("ВашКлюч", ВашПараметр);
ОткрытьФорму("Документ.ВашДокумент.Форма.Форма", СтруктураПараметров);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот