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

Передача параметров из ПроизвольнойФормы ввода в табл.часть Документа

Автор Вячеслав Иванов, 22 окт 2012, 22:12

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

Вячеслав Иванов

Создаю новый Документ, имеющий табличную часть. В нем создаю стандартную Форму Документа, а т.к. ТЧ имеет очень много колонок, то для удобства ввода (заполнения строки ТЧ) создаю Произвольную Форму. Для передачи параметров в Произвольную Форму и ее открытие создаю кнопку «Редактировать» и использую процедуру:
Процедура КоманднаяПанельМояТаблРедактировать(Кнопка)
   //передача данных в форму обработки
   ФормаВвода = Документы.МойДокумент.ПолучитьФорму("ФормаВвода1");
   ФормаВвода.Сотрудник=ЭлементыФормы.Сотрудник.Значение;
   ФормаВвода.Должность=ЭлементыФормы.Сотрудник.Значение.Должность;
   ФормаВвода.КолЦиклов1=ЭлементыФормы. МояТабл.ТекущиеДанные.КолЦиклов;
   ФормаВвода.Коэфф1=ЭлементыФормы. МояТабл.ТекущиеДанные.Коэфф;
   .   .   .   .   .   .   .   .   .   .   .   .
   ФормаВвода.Открыть();   
КонецПроцедуры
Все работает, все параметры (значения колонок Текущей строки ТЧ) передаются в Произвольную Форму замечательно.
Вопрос: Каким образом, т.е. после ввода всех реквизитов, передать их обратно в Текущую строку ТЧ Документа???
Подскажите пожалуйста! Спасибо!

Dethmontt

Как вариант (не претендую на истину)
СтруктураДанных = ФормаВвода.ОткрытьМодально();

//при закрытии вашей формыВвода нужно вернуть структуру с данными
Процедура КнопкаОК()
    Струк = Новый структура();
    Струк.Вставить("Сотрудник",Значение);
    ЭтаФорма.Закрыть(Струк);

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


ОГРОМНЫЙ МИНУС МОДАЛЬНОСТИ ОКНА!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

Или проще
Форма.ОповеститьОВыборе (Form.NotifyChoice)
Форма (Form)
ОповеститьОВыборе (NotifyChoice)
Синтаксис:

ОповеститьОВыборе(<ЗначениеВыбора>)
Параметры:

<ЗначениеВыбора> (обязательный)

Тип: Произвольный.
Результат выбора.
Описание:

Посылает оповещение владельцу формы о выполнении выбора или подбора, передает ему выбранное значение. Закрывает форму в соответствии со значением свойства ЗакрыватьПриВыборе. Данное действие аналогично выполнению выбора в форме, открытой для выбора в поле ввода или ячейке табличного поля.

Доступность:

Толстый клиент.
Примечание:

Может применяться в случае, когда открытие формы выбора или подбора выполнено средствами языка.
Пример:

ОповеститьОВыборе(ТекущаяСтрока);
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Вячеслав Иванов


cska-fanat-kz

ФормаВвода = Документы.МойДокумент.ПолучитьФорму("ФормаВвода1");
у этого метода вторым параметром идет Владелец.
Помещаете туда либо форму, либо ТЧ - элемент, который будет обрабатывать выбор через свое событие ОбработкаВыбора().
А из формы значение передаете с помощью ОповеститьОВыборе(), как было написано выше.
Единственное, что именно помещать в качестве ЗначенияВыбора - можно подумать...
Например, "собрать" структуру.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Вячеслав Иванов


Теги:

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

Рейтинг@Mail.ru

Поиск