|
8.2 Открыть модально форму списка с отбором | ☑ | ||
---|---|---|---|---|
0
MaxFoxxy
31.01.12
✎
14:13
|
Нужно по артикулу найти все подходящие элементы справочника Номенклатура и показать их списком для выбора. Выбранное значение записать.
Делаю так: &НаКлиенте Процедура ПозицииНоменклатураОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СписокЭлементов = Общий.СписокНоменклатурыПоАртикулу(Текст); ФормаСписка = ПолучитьФорму("Справочник.Номенклатура.ФормаСписка",,Элемент); ФормаСписка.Элементы.Список.Отображение = ОтображениеТаблицы.Список; ЭлементОтбора = ФормаСписка.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии; ЭлементОтбора.Использование = Истина; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементОтбора.ПравоеЗначение = СписокЭлементов; ТекЗнач = ФормаСписка.ОткрытьМодально(); Если ТекЗнач <> Неопределено Тогда // установка значения реквизита КонецЕсли; КонецПроцедуры Когда пишу ОткрытьМодально - открывается тупо сипсок всех элементов справочника. Если просто Открыть - Открывается нужный мне отбор (Но мне нужно вернуть результат выбор). где не прав? Заранее спасибо |
|||
1
MaxFoxxy
31.01.12
✎
14:29
|
И вообще не понятно почему не работает так :
СписокЭлементов = Общий.СписокНоменклатурыПоАртикулу(Текст); ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаСписка",Новый Структура("Ссылка",СписокЭлементов),Элемент); ФормаВыбора.Элементы.Список.Отображение = ОтображениеТаблицы.Список; ФормаВыбора.ОткрытьМодально(); Отбора не устанавливается... |
|||
2
арах
31.01.12
✎
14:35
|
пример из типовой
ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("ОткрыватьПриПервомОбращении", ОткрыватьФормуВыбораПриПервомОбращении); ПараметрыФормы.Вставить("ИдентификаторКлиента", ИдентификаторКлиента); ФормаВыбораРМ = ПолучитьФорму("Справочник.ПодключаемоеОборудование.Форма.ФормаВыбораРабочегоМеста", ПараметрыФормы); Ответ = ФормаВыбораРМ.ОткрытьМодально(); |
|||
3
MaxFoxxy
31.01.12
✎
14:38
|
(2)
ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("Ссылка",СписокЭлементов); ФормаВыбораРМ = ПолучитьФорму("Справочник.Номенклатура.ФормаСписка", ПараметрыФормы); ФормаВыбораРМ.Элементы.Список.Отображение = ОтображениеТаблицы.Список; Ответ = ФормаВыбораРМ.ОткрытьМодально(); отбор в открытой форме не устанавливается( |
|||
4
DrShad
31.01.12
✎
14:38
|
а почему форму списка, а не форму выбора?
|
|||
5
News
31.01.12
✎
14:41
|
(4)
да, если открывать форму выбора отбор должен отработать |
|||
6
acsent
31.01.12
✎
14:42
|
не факт что по списку устанавливается
|
|||
7
MaxFoxxy
31.01.12
✎
14:46
|
(4) Нужно открыть форму списка и выбрать нужный элемент
|
|||
8
DrShad
31.01.12
✎
14:49
|
(7) накуя
|
|||
9
MaxFoxxy
31.01.12
✎
14:55
|
В документе есть ТЧ, в ТЧ поле Номенклатура. Хочу чтобы я вводил не код 1С а артикул(реквизит спр Номенкалтура) и по окончанию ввода выбирал не из всего списка а из списка с установленным отбором по этому полю
|
|||
10
News
31.01.12
✎
15:05
|
НовыйМассив = Новый Массив();
Для каждого ЭлСписка Из СписокЭлементов Цикл НовыйМассив.Добавить(Новый ПараметрВыбора("Отбор.Ссылка",ЭлСписка.Значение)); КонецЦикла; НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив); Элемент.ПараметрыВыбора = НовыеПараметры; |
|||
11
News
31.01.12
✎
15:24
|
(9) лучше использовать обработку "Автоподбор" для номенклатуры
СтандартнаяОбработка = Ложь; ДанныеВыбора = СписокЭлементов; |
|||
12
MaxFoxxy
31.01.12
✎
18:21
|
(11) спасибо добрый человек!!! открыл мне глаза! Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |