Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 22:38

Передача параметра в структуру на форме

Автор Sasha1C, 20 сен 2023, 09:52

0 Пользователей и 1 гость просматривают эту тему.

Sasha1C

Доброе утро, при решении задачи по получению данных на форму из документа указанного в ТЧ мне было предложено решение приложеное на закрепленной картинке, но я все еще не могу передать параметр в строку отбора(Хотя и так все уже работает как задумано) Но возникает 2 вопроса?
1)Надо ли передавать параметр в отбор. Мой вариант, но нерабочий{ЭлементыОтбора = Новый Структура("Счет", ТекущиеДанные.Счет);}
2)И как вся эта конструкция со значением заполнением вообще работает, просто я переделал конструкцию найденую на другом форуме.
Также прилагаю картинку со всеми реквизитами формы и их типами
Заранее спасибо
 
&НаКлиенте
Процедура СчетПриАктивизацииСтроки(Элемент)

ТекущиеДанные = Элементы.Счет.ТекущиеДанные;
 
ЭлементыОтбора = Новый Структура();
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЭлементыОтбора);
ОткрытьФорму("Документ.СнятиеСРезервов.ФормаОбъекта", ПараметрыФормы);


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

LexaK

Sasha1C,     ЭлементыОтбора = Новый Структура();
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЭлементыОтбора);
    ОткрытьФорму("Документ.СнятиеСРезервов.ФормаОбъекта", ПараметрыФормы);

странный код, здесь нет данных передаваемых на форму!
если помогло нажмите: Спасибо!

Sasha1C

LexaK, но код работает, так есть ли возможность в этом коде указать ключ-значение, или в этом просто нету смысла? И можете пожалуйста показать пример кода, как вы предложили через ключ значение сделать на форме, а то десятки форумов обыскал, и ничего похожее на Ваш способ не нашел, что бы взять что-то за пример. Буду очень благодарен за пояснение.

LexaK

Цитата: Sasha1C от 20 сен 2023, 10:36но код работает,
Код работает!!!  :lol:

а в чем тогда вопрос?
если помогло нажмите: Спасибо!

LexaK

Sasha1C, &НаКлиенте
Процедура СчетПриАктивизацииСтроки(Элемент)   
   
    ТекущиеДанные = Элементы.Счет.ТекущиеДанные;
 
    ЭлементыОтбора = Новый Структура("Счет", ТекущиеДанные.Счет); //помещение Счета в параметры
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЭлементыОтбора);
    ОткрытьФорму("Документ.СнятиеСРезервов.ФормаОбъекта", ПараметрыФормы);

//и в самой форме Документ.СнятиеСРезервов.ФормаОбъекта необходимо добавить код что с этим Счетом хотите сделать
   
   
КонецПроцедуры
если помогло нажмите: Спасибо!

Sasha1C

LexaK, При таком варианте выдает ошибку
"Значение не является значением объектного типа (Счет)
{Документ.СнятиеСРезервов.Форма.ФормаДокумента.Форма(7)}:ЭлементыОтбора = Новый Структура("Счет", ТекущиеДанные.Счет);"

И можете пожалуйста показать Ваш примерный вариант решения задачи с учетом метода рассмотренного в комментарии закрепленном под сообщением. Просто очень хочется попробовать разные варианты решения задачи.
Спасибо

LexaK

Цитата: Sasha1C от 20 сен 2023, 11:47ЭлементыОтбора = Новый Структура("Счет", ТекущиеДанные.Счет);"
в кодах, что выкладывают, обязательно надо проверять и изменят имена реквизитов на свои! (у нас же нет вашей базы)
команды - они общие и у всех называются одинаково
а реквизиты у всех разные! надо менять на свои!!!
если помогло нажмите: Спасибо!

LexaK

Цитата: Sasha1C от 20 сен 2023, 11:47попробовать разные варианты решения задачи
саму задачу опишите!
какие данные у вас есть,
что с этими данными планируете сделать,
какой результат получить
(и по подробнее, не жалейте букв)
если помогло нажмите: Спасибо!

Sasha1C

LexaK,  Моя задача выполнить пункт 6 задания, а точнее  показать Срок, Дата, Контрагент ........ Первоначально пытался вытащить данные через запрос, но мне дали понять что это не рационально. Пытался вытащить данные путем выгрузки из запроса в ТЗ, но там было очень много вопросов, например как вытащить данные из ТЗ и передать их на форму, тоже не особо помогло. Думал нашел Ваш метод из комментария, так на форуме использовалась эта формулировка. Но сейчас этот метод описанный выше в комментариях единственный, который получилось реализовать. 

Из данных у меня есть ТЧ, которая после вышеописанных действий при активации строки получает нужный документ "Счет", и данные сами автозаполняются необходимой информацией, только возникает вопрос как вытащить реквизит "Сумма" из ТЧ документа "Счет"

LexaK

ЦитироватьМоя задача выполнить пункт 6 задания
очень содержательное описание задания!
Цитироватьа точнее  показать Срок, Дата, Контрагент ........
где эти данные у вас находятся? как их планируется показать?
в виде текста на форме, в виде всплывающего окна? другое?
ЦитироватьПервоначально пытался вытащить данные через запрос, но мне дали понять что это не рационально.
вот как раз, самое оптимальное, получать данные, именно запросом! (при условии что он правильно написан)
Цитироватьполучилось реализовать.
вот и отлично, не распаляйтесь на другие варианты! переходите к следующему пункту вашего задания.
если помогло нажмите: Спасибо!

Похожие темы (5)

Рейтинг@Mail.ru

Поиск