Имя: Пароль:
1C
 
помогите передать значение на форму документа УФ
0 КодерНаЧас
 
02.02.15
10:24
прошу помочь разобраться с уф


В документе создал поле ввода "контрагент", при начале выбора - открывается моя произвольная форма, где я прописал разного рода параметры и фильтры для отбора.
На форме выбора (формаСписка) таб. часть "Контрагенты" - для выбора нужного.

Когда пользователь кликает на нужного контрагента два раза:
При активации строки:

&НаКлиенте
Процедура табЧастьВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    
СтандартнаяОбработка=Ложь;
//- тут я хочу передать значение //"Элемент.ТекущиеДанные.контрагент" (выбранный пользователем)
// и вернуться обратно к документу

ЭтаФорма.Закрыть();

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


как мне присвоить значение - предыдущей открытой форме документа?
как вернуться к созданию документ?
1 Cube
 
02.02.15
10:29
(0) Ужас...
Читай СП перед сном каждый день:

-------------------------

УправляемаяФорма (ManagedForm)
Закрыть (Close)

Синтаксис:
Закрыть(<ПараметрЗакрытия>)

-------------------------

Расширение поля формы для поля ввода (Form field extension for a text box)
ФормаВыбора (ChoiceForm)

Использование:
Чтение и запись.

Описание:
Тип: Строка.
Содержит имя формы выбора значения для данного поля.

-------------------------
2 butterbean
 
02.02.15
10:31
а всего-то надо было открыть форму для выбора и задать владельца
3 КодерНаЧас
 
02.02.15
10:49
(1) не получается, как мне выбранный параметр передать обратно.
делаю

ЭтаФорма.Закрыть(ФормаВыбора.Объект.Контрагент.ссылка);

но когда попадаю в модуль ФормаДокумента, это значение неоткуда взять.
4 D3O
 
02.02.15
10:52
(3) в открывающей форме подключи обработчик события формы ОбработкаВыбора
5 КодерНаЧас
 
02.02.15
10:53
(3) извиняюсь - нашел выбранного контрагента
ФормаВыбора.ТекущийЭлемент.ТекущиеДанные.Контрагент
6 1sanekmaloi1
 
02.02.15
10:54
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)
Параметры:

<ИмяФормы> (обязательный)

Тип: Строка.
Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Имена форм по умолчанию
ФормаОбъекта (ObjectForm) - форма объекта по умолчанию;
ФормаГруппы (FolderForm) - форма группы по умолчанию;
ФормаЗаписи (RecordForm) - форма записи регистра по умолчанию;
ФормаСписка (ListForm) - форма списка по умолчанию;
ФормаВыбора (ChoiceForm) - форма выбора по умолчанию;
ФормаВыбораГруппы (FolderChoiceForm) - форма выбора группы по умолчанию;
ФормаКонстант (ConstantsForm) - форма констант по умолчанию;
Форма (Form) - форма отчета и обработки по умолчанию;
ФормаНастроек (SettingsForm) - форма настроек отчета по умолчанию;
ФормаЗагрузки (LoadForm) - форма загрузки настроек;
ФормаСохранения (SaveForm) - форма сохранения настроек;
ФормаВарианта (VariantForm) - форма редактирования варианта отчета;
ФормаЗагрузкиПользовательскихНастроекОтчетов (ReportUserSettingsLoadForm) - форма загрузки настроек отчета;
ФормаСохраненияПользовательскихНастроекОтчетов (ReportUserSettingsSaveForm) - форма сохранения настроек отчета;
ФормаЗагрузкиВариантовОтчетов (ReportVariantsLoadForm) - форма загрузки варианта отчета;
ФормаСохраненияВариантовОтчетов (ReportVariantsSaveForm) - форма сохранения варианта отчета;
ФормаЗагрузкиНастроекДанныхФорм (FormDataSettingsLoadForm) - форма загрузки настроек данных форм;
ФормаСохраненияНастроекДанныхФорм (FormDataSettingsSaveForm) - форма сохранения настроек данных форм.
Имена ФормаЗагрузкиПользовательскихНастроекОтчетов, ФормаСохраненияПользовательскихНастроекОтчетов, ФормаЗагрузкиВариантовОтчетов, ФормаСохраненияВариантовОтчетов, ФормаЗагрузкиНастроекДанныхФорм и ФормаСохраненияНастроекДанныхФорм нужно использовать без имени объектов метаданных.
Для внешних отчетов и обработок имя формы задается следующим образом:
ВнешнийОтчет.<имя отчета>.Форма.<имя формы>;
ВнешнийОтчет.<имя отчета>.<имя стандартной формы>;
ВнешняяОбработка.<имя обработки>.Форма.<имя формы>;
ВнешняяОбработка.<имя обработки>.<имя стандартной формы>.
При этом внешний отчет или обработка должны быть предварительно зарегистрированы в системе с помощью метода Подключить или Подключить соответственно. <Имя отчета> и <имя обработки> - это имена, под которыми зарегистрированы внешний отчет или обработка.
<Параметры> (необязательный)

Тип: Структура.
Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры.
П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();


<Владелец> (необязательный)

Владелец формы - форма или элемент управления другой формы.
<Уникальность> (необязательный)

Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
Ложь - искать форму с ключом уникальности по умолчанию, Истина - не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск.
Значение по умолчанию: Ложь
<Окно> (необязательный)

Тип: ОкноКлиентскогоПриложения;ВариантОткрытияОкна.
Окно приложения, в котором будет открыта форма.
Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы.
Если указан тип ВариантОткрытияОкна, окно формы будет создано согласно выбранному варианту.


Параметр владелец, указываешь свой эелемнт и все ничего не надо лишнего писать и обрабатывать, в параметры так же можешь свои отборы пихать.
7 Cube
 
02.02.15
10:55
(3) Выкинь свой код. В форме документа у поля вообще не надо обработчики писать, просто укажи у этого поля форму выбора свою (в свойствах поля смотри).
8 1sanekmaloi1
 
02.02.15
10:58
(7) специфичные отборы тоже там ему прописать?
называется слышал звон...
9 1sanekmaloi1
 
02.02.15
11:01
В обработке начало выбора в доке, пишешь структуру отбора,передаешь ее в процедуру ОткрытьФорму и обязательно владелец, и фсе. 4 строки кода
10 Maniac
 
02.02.15
11:03
(3) барабашка, возвращать нужно структуру.
11 Maniac
 
02.02.15
11:04
Желательно, помещенную во временное хранилище
12 Maniac
 
02.02.15
11:05
приблизительно так:

&НаСервере
Функция ПоместитьВоВременноеХранилищеНаСервере()
    
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("ПоискСоответствий",Объект.ПоискСоответствий.Выгрузить());
    СтруктураПараметров.Вставить("АлгоритмыКлючевыхСлов",Объект.АлгоритмыКлючевыхСлов.Выгрузить());
    СтруктураПараметров.Вставить("ЗаменаКлючевыхСлов",Объект.ЗаменаКлючевыхСлов.Выгрузить());

    Возврат ПоместитьВоВременноеХранилище(СтруктураПараметров, Новый УникальныйИдентификатор);
    
КонецФункции

&НаКлиенте
Процедура ПоискСоответствийЗаполнитьИЗакрыть(Команда)
        
    Закрыть(ПоместитьВоВременноеХранилищеНаСервере());
    
КонецПроцедуры
13 _KaA
 
02.02.15
11:10
(0)

1. В ОткрытьФорму добавить ОписаниеОповещения (если платформа новая и необходимо доп. обработка после выбора).

2. При открытии формы необходимо было передать параметр, что это форма выбора! Указать какой выбор производиться: множественный или единичный.

3. После закрытия в обработчике прописанном в ОписанииОповещения обработать результат (если необходима доп. обработка после выбора).


SP Другие способы от лукАвАгА :)
Основная теорема систематики: Новые системы плодят новые проблемы.