|
Возвращаемое значение формы открытой модально | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
17.12.12
✎
13:44
|
Я в поле ввода Контрагент сделал процедуру проверки дублей. Открывается форма с ТЗ откуда выбираю строку и передаю обратно в форму. Но как то все у меня по гондураски вроде. Там ведь както по владельцу надо связывать и передавать возвращаемое значение. Тока я не умею. :(
Вот процедуры : Какбы на форме владельце : Процедура КонтрагентОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) //РезультатЗапроса = ПроцедурыПоискаПоСтроке.ПолучитьРезультатЗапросаАвтоподбора(Текст, Новый Структура, Тип("СправочникСсылка.Контрагенты"), 1); // //Если НЕ РезультатЗапроса.Пустой() Тогда //ПроцедурыПоискаПоСтроке.ОкончаниеВводаТекстаВЭлементеУправления(Элемент, Текст, Значение, СтандартнаяОбработка, Новый Структура, ЭтаФорма, Тип("СправочникСсылка.Контрагенты"), мОбработкаПоискаПоСтрокеКонтрагента, мТекстПоискаПоСтрокеКонтрагента, мПоследнееЗначениеЭлементаПоискаПоСтрокеКонтрагента, Ложь); // Возврат; //КонецЕсли; Текст = УправлениеКонтактнойИнформацией.ПривестиНомерТелефонаКШаблону(Текст); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ЕСТЬNULL(Тел.Представление, """") КАК Тел, | ЕСТЬNULL(Адр.Представление, """") КАК Адр, | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | КонтактнаяИнформация.Объект КАК Объект, | КонтактнаяИнформация.Представление КАК Представление, | КонтактнаяИнформация.Вид КАК ВидТел | ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ГДЕ | КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)) КАК Тел | ПО (Тел.Объект = Контрагенты.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | КонтактнаяИнформация.Объект КАК Объект, | КонтактнаяИнформация.Представление КАК Представление, | КонтактнаяИнформация.Вид КАК ВидАдр | ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ГДЕ | КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) КАК Адр | ПО (Адр.Объект = Контрагенты.Ссылка) |ГДЕ | (Контрагенты.Наименование ПОДОБНО &Текст | ИЛИ Тел.Представление ПОДОБНО &Текст | ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст | ИЛИ Контрагенты.ИНН ПОДОБНО &Текст) | И НЕ Контрагенты.ПометкаУдаления | |УПОРЯДОЧИТЬ ПО | Контрагенты.Наименование"; Запрос.УстановитьПараметр("Текст","%"+СокрЛП(Текст)+"%"); Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда Ф = ЭтотОбъект.ПолучитьФорму("ПоборКонтрагента",Контрагент); Выб = Рез.Выбрать(); Ф.Заголовок = "Результаты поиска контраентов-"+Выб.Количество()+", по """+СокрЛП(Текст)+""". Выберите нужного."; Пока Выб.Следующий() Цикл НС = Ф.Контрагенты.Добавить(); НС.Контрагент = Выб.Ссылка; НС.КонтактнаяИнформация = "("+Выб.Ссылка.Код+") тел: "+Выб.Тел+", Адрес: "+Выб.Адр+""; КонецЦикла; Ф.Объект = ЭтаФорма; Ф.ОткрытьМодально(); Иначе УправлениеКонтактами.РегистрироватьНовогоКонтрагента(Элемент, Текст, Значение, СтандартнаяОбработка, мОбработкаПоискаПоСтрокеКонтрагента, мТекстПоискаПоСтрокеКонтрагента, мПоследнееЗначениеЭлементаПоискаПоСтрокеКонтрагента, ЭтаФорма, Контрагент, Справочники.КонтактныеЛицаКонтрагентов.ПустаяСсылка(), Модифицированность, ДанныеНезарегистрированногоКонтрагента); КонецЕсли; КонецПроцедуры А вот в на открываемой форме : Перем Объект Экспорт; Процедура КонтрагентыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Объект.ЭлементыФормы.Контрагент.Значение = ВыбраннаяСтрока.Контрагент; ЭтаФорма.Закрыть(); ФанОбщий.ПолучитьКонтакты(ВыбраннаяСтрока.Контрагент,Объект.ЭлементыФормы.Контакты.Заголовок); КонецПроцедуры |
|||
1
AndyD
17.12.12
✎
13:55
|
молодец
|
|||
2
Chikko
17.12.12
✎
14:09
|
Что должно произойти в 1й форме после закрытия формы "ПоборКонтрагента"?
|
|||
3
mikecool
17.12.12
✎
14:12
|
ХочуЗначение = Форма.ОткрытьМодально()
в форме Закрыть(ВозвращаюЧтоХочу) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |