![]() |
|
Как передать из произвольной формы выбора НоменклатуруСсылку и Количество? | ☑ | ||
---|---|---|---|---|
0
altaykniga
03.06.16
✎
15:30
|
Доброй пятницы, уважаемые специалисты! Подскажите незнающим, пожалуйста.
Из ТЧ Документа Продукция открываю произвольную форму выбора, основная таблица не заполнена, произвольный запрос вытягивает данные для отображения в ФормеВыбора из ТЧ документаОснования. При выборе нужной строки формаВыбора закрывается, но в форму документа, откуда открывал формуВыбора, передать могу либо НоменклатураСсылка, либо Количество. А мне нужно передать и то, и другое. Передавать через структуру тоже не получается, вообще тогда ничего не передается вот выдержки из модулей форм: 1.ФормаДокумента (откуда открываем форму выбора) &НаКлиенте Процедура ПродукцияНоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПараметрыВыбора = Новый Структура("Документ", Объект.Ссылка); //еще нам нужно передать массив!!!(не списокЗначений) ИД_Деталей СписокДеталей = Новый Массив; Для Каждого Стр ИЗ Объект.Продукция Цикл СписокДеталей.Добавить(Стр.ИД_Детали); КонецЦикла; СписокДеталей.Удалить(СписокДеталей.Количество()-1); ПараметрыВыбора.Вставить("СписокДеталейЗаказаНаПроизводство", СписокДеталей); ПараметрыВыбора.Вставить("ЗакрыватьПриВыборе", Истина); ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаВыбораДетали", ПараметрыВыбора, Элемент); КонецПроцедуры 2. ФормаВыбораДетали &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Список.Параметры.УстановитьЗначениеПараметра("ЗаказПокупателя", Параметры.Документ.ДокументОснование); Список.Параметры.УстановитьЗначениеПараметра("СписокДеталейЗаказаНаПроизводство", Параметры.СписокДеталейЗаказаНаПроизводство); ЭтаФорма.ЗакрыватьПриВыборе = Истина; КонецПроцедуры &НаКлиенте Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора) ОповеститьОВыборе(ВыбранноеЗначение); КонецПроцедуры &НаКлиенте Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДанныеВыбора = Новый Структура; ДанныеВыбора.Вставить("Номенклатура", Элемент.ТекущиеДанные.Номенклатура); ДанныеВыбора.Вставить("ИД_Детали", Элемент.ТекущиеДанные.ИД_Детали); ОповеститьОВыборе(ДанныеВыбора); КонецПроцедуры |
|||
1
Timon1405
03.06.16
✎
16:04
|
посмотреть как сделан подбор в типовых не предлагать?
|
|||
2
takefive
03.06.16
✎
16:18
|
приемник
Результат = ОткрытьФормуМодально() источник ЭтаФорма.Закрыть(Результат) |
|||
3
altaykniga
03.06.16
✎
16:29
|
(2) открытьФормуМодально() в управляемом приложении?
|
|||
4
bootini
03.06.16
✎
17:00
|
&НаКлиенте
Процедура ПродукцияНоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + Code СтандартнаяОбработка = Ложь; ПараметрыВыбора = Новый Структура("Документ", Объект.Ссылка); //еще нам нужно передать массив!!!(не списокЗначений) ИД_Деталей СписокДеталей = Новый Массив; Для Каждого Стр ИЗ Объект.Продукция Цикл СписокДеталей.Добавить(Стр.ИД_Детали); КонецЦикла; СписокДеталей.Удалить(СписокДеталей.Количество()-1); ПараметрыВыбора.Вставить("СписокДеталейЗаказаНаПроизводство", СписокДеталей); ПараметрыВыбора.Вставить("ЗакрыватьПриВыборе", Истина); Оповещение = Новый ОписаниеОповещения("ПолучитьДетальКоличество", ЭтотОбъект); ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаВыбораДетали", ПараметрыВыбора, Элемент,,,,Оповещение); КонецПроцедуры &НаКлиенте Процедура ПолучитьДетальКоличество (Результат, ДополнительныеПараметры) Экспорт Если ТипЗнч(Результат) = Тип("Структура") Тогда Для каждого КлючЗначение Из Результат Цикл Если КлючЗначение.Ключ = "Номенклатура" Тогда МояНоменклатура = КлючЗначение.Значение; КонецЕсли; Если КлючЗначение.Ключ = "Количество" Тогда МояКоличество = КлючЗначение.Значение; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
5
bootini
03.06.16
✎
17:06
|
(4) Эт если без модальности.
|
|||
6
Nuobu
03.06.16
✎
17:07
|
(3) В управляемом есть модальность, если включить.
|
|||
7
EvgeniuXP
03.06.16
✎
17:47
|
(6) есть - но это некошерно :)
|
|||
8
altaykniga
06.06.16
✎
08:49
|
(4) после выполнения процедуры ПолучитьДетальКоличество()
вызывается Процедура ПродукцияНоменклатураПриИзменении(Элемент), но выбранная номенклатура сюда не передалась! Элементы.Продукция.ТекущиеДанные.Количество - передалось значение из формыВыбораДетали, а Элементы.Продукция.ТекущиеДанные.Номенклатура - пустая ссылка! Почему? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |