|
Как открыть форму выбора с отбором? | ☑ | ||
---|---|---|---|---|
0
agrail86
24.09.14
✎
12:39
|
В общем все излазил так и не нашел решение своей проблемы. В табличной части док-та заявки имеется поле ввода - открываю спецификацию номенклатуры. Не могу открыть форму выбора справочника спецификации номенклатуры по отбору. в другой табличной части имеется номенклатура - нужно выбрать спецификацию по текущейстроке - номенклатура! делаю так -
Процедура РецептыМешалкиРецептНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = ложь; ФормаВыбора = Справочники.СпецификацииНоменклатуры.ПолучитьФормуВыбора(,Элемент); группа = справочники.Номенклатура.НайтиПоНаименованию(ЭтаФорма.ЭлементыФормы.Заказ.ТекущаяСтрока.Номенклатура); списокзн = новый списокзначений; списокзн.Добавить(группа); ФормаВыбора.СправочникСписок.Отбор.Код.ВидСравнения = ВидСравнения.ВСписке; ФормаВыбора.СправочникСписок.Отбор.Код.Использование = Истина; ФормаВыбора.СправочникСписок.Отбор.Код.Значение = списокзн; ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Ложь; формавыбора.Открыть(); КонецПроцедуры выводит пустой справочник! помогите плиз) нужно провалиться в группу с наименованием номенклатуры в справочнике спецификации ном-ры. |
|||
1
antoneus
24.09.14
✎
12:48
|
У кода какой тип? А у группы?
|
|||
2
antoneus
24.09.14
✎
12:49
|
Да и весь код - тлен.
|
|||
3
Wobland
24.09.14
✎
12:50
|
код в списке каких-то ссылок? всё нормально
|
|||
4
чувак
24.09.14
✎
12:50
|
управляемое приложение?
|
|||
5
чувак
24.09.14
✎
12:52
|
ФормаВыбора.СправочникСписок.Отбор.Код.ВидСравнения = ВидСравнения.ВСпискеПоИерархии;
може так? |
|||
6
Teresa
24.09.14
✎
12:57
|
если "В группу провалиться", зачем тогда
ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Ложь; ? |
|||
7
Рэйв
24.09.14
✎
12:58
|
натыкался давно как о на эти грабли...
поменяй местами ФормаВыбора.СправочникСписок.Отбор.Код.Использование = Истина; И ФормаВыбора.СправочникСписок.Отбор.Код.Значение = списокзн; Сначало оно хатит список.Хрен знает почему. |
|||
8
Крошка Ру
24.09.14
✎
13:00
|
(7) Сначало оно хотит вид сравнения, штоб знать, что в Значение помещать, а все остальное - в произвольном порядке
|
|||
9
Рэйв
24.09.14
✎
13:01
|
(8) может и так:-) Я помню что там что-то обязательно должно идти вначале, а чтото потом
|
|||
10
Teresa
24.09.14
✎
13:04
|
(9) блин, вот этого не знала, век живи век учись..
|
|||
11
Крошка Ру
24.09.14
✎
13:05
|
(0) у тебя группа - это номенкатура, а Код, я так понимаю код номенклатуры. Естественно, в списке, состоящем из ссылок на номенклатуру, коды отстутствуют
|
|||
12
Крошка Ру
24.09.14
✎
13:07
|
А, ну собственно, Wobland уже об этом написал
|
|||
13
1Снег
24.09.14
✎
13:08
|
(0) Особенно вот это поразило:
>группа = справочники.Номенклатура.НайтиПоНаименованию(ЭтаФорма.ЭлементыФормы.Заказ.ТекущаяСтрока.Номенклатура); Зачем искать номенклатуру, если ссылка на нее уже и так есть |
|||
14
1Снег
24.09.14
✎
13:12
|
ТекущиеДанные = ЭлементыФормы.Заказ.ТекущиеДанные;
тОтбор = ФормаВыбора.СправочникСписок.Отбор.Владелец; тОтбор.ВидСравнения = ВидСравнения.Равно; тОтбор.Значение = ТекущиеДанные.Номенклатура; тОтбор.Использование = Истина; |
|||
15
agrail86
24.09.14
✎
14:37
|
если я открываю сам справочник отбор - там то что ищу подходит только "наименование" - а не владелец, владелец там нет такого. теперь мой код выглядит так:
Процедура РецептыМешалкиРецептНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = ложь; ТекущиеДанные = ЭлементыФормы.Заказ.ТекущиеДанные; ФормаВыбора = Справочники.СпецификацииНоменклатуры.ПолучитьФормуВыбора(,Элемент); тОтбор = ФормаВыбора.СправочникСписок.Отбор.Наименование; тОтбор.ВидСравнения = ВидСравнения.Содержит; тОтбор.Значение = Строка(ТекущиеДанные.Номенклатура); тОтбор.Использование = Истина; формавыбора.Открыть(); КонецПроцедуры именно видсравнения.содержит и Строка(ТекущиеДанные.Номенклатура) выводит нужную мне группу, но провалится в нее не могу, и иерархию вкл и выкл, и у реквизита менял = группы и элементы. все равно не проваливается. помогите, есть идеи? |
|||
16
Крошка Ру
24.09.14
✎
14:43
|
(15) О, боже! Тебе ж дали готовый код в (14)!
Только там не ВидСравнения.Равно, а ВидСравнения.ВИерархии, и будет тебе щасте. |
|||
17
agrail86
24.09.14
✎
15:00
|
нет владельца в отборе!!! и для наименования нет вида сравнения - в иерархии!!! не проваливается
|
|||
18
alle68
24.09.14
✎
15:24
|
(17) Нет - добавь!
|
|||
19
agrail86
24.09.14
✎
23:01
|
Решил проблему сам...уффф. кому интересно вот решение:
Процедура РецептыМешалкиРецептНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = ложь; ТекущиеДанные = ЭлементыФормы.Заказ.ТекущиеДанные; фрм = Справочники.СпецификацииНоменклатуры.ПолучитьФормуВыбора(,Элемент); //отбор по Родителю отб = фрм.Отбор.Ссылка; отб.ВидСравнения = ВидСравнения.ВИерархии; отб.Значение = Справочники.СпецификацииНоменклатуры.НайтиПоНаименованию(ТекущиеДанные.Номенклатура); отб.Использование = Истина; //отображаем только элементы без групп отб = фрм.Отбор.ЭтоГруппа; отб.Использование = Истина; //отключаем иерархический просмотр и запрещаем его включать фрм.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = ложь; фрм.ЭлементыФормы.СправочникСписок.ИзменятьИерархическийПросмотр = ложь; //определим, куда будем возвращать выбранный элемент фрм.ВладелецФормы = Элемент; //открываем форму фрм.Открыть(); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |