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

Передача реквезитов из одной формы в другую

Автор gorelchik, 27 окт 2011, 12:50

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

gorelchik

Подскажите как сделать, чтобы из обработки данные текущих строк табличных полей, можно было передать в открытый документ, и чтобы эти данные подставились в новую строку табличной части этого документа.

has

А как открывается документ? И поточнее если можно, а то не совсем понял

gorelchik

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

has

Можно модально открывать форму обработки. В обработке при выборе значения писать
ЭтаФорма.Закрыть(ТутВашиВыбранныеЗначения); //например ТутВашиВыбранныеЗначения-структура
Ну соответственно в документе будет

ВыбранныеЗначения = ФормаОбработки.ОткрытьМодально();

Затем обрабатывать ВыбранныеЗначения.

gorelchik


gorelchik

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

cannabis_86

Можно использовать события:
1. Вы Открываете нужную вам форму:
&НаКлиенте
Процедура ЗаполнитьШтрихКода(Команда)
Форма = ПолучитьФорму("ОбщаяФорма.МояФорма",,ЭтаФорма);
Форма.Открыть();
КонецПроцедуры

2. В самой форме, при закрытии ее или еще на какое-нибудь действие используете:
ОповеститьОВыборе(ВашиЗначения);//То что вам нужно передать
3. После этого в Форме Основной в процедуре :
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
// Вставить содержимое обработчика.
//ВыбранноеЗначение - будет равно значению из другой формы ,т.е. = ВашиЗначения
КонецПроцедуры

И вот тут вы уже работаете со своими данными. Добавляете их куда надо .

has

В событии табличной части (таблицы) документа, перед началом добавления писать процедуру открытия формы. В той форме, при нажатии на кнопку Добавить к наряду, пишете что ЭтаФорма.Закрыть(ТутВыбранноеЗначение). А в форме документа полученное значение обрабатываете.
Либо как написал cannabis_86, через оповещение.

gorelchik

Большое спасибо!!! Все получилось через оповещение!

Теги:

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

Рейтинг@Mail.ru

Поиск