![]() |
|
НачалоВыбора странно отрабатывает | ☑ | ||
---|---|---|---|---|
0
Droning1C
01.02.19
✎
11:50
|
в форме документа есть поле ввода Склад. При попытке изменения склада значение не меняется, хотя форма выбора открывается, отбор устанавливается верно... В чем может быть проблема? уже полтора часа бьюсь... В событие ПриИзменении Отладчик вообще не заходит...
Процедура СкладКомпанииНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ТекПользователь = глЗначениеПеременной("глТекущийПользователь"); ТаблицаДоступныхСкладов = ДопМодуль.ПолучитьТаблицуДоступныхСкладов(ТекПользователь); Если ТаблицаДоступныхСкладов.Количество() > 0 Тогда СписокДоступныхСкладов = Новый СписокЗначений(); Для Каждого СтрокаТДС Из ТаблицаДоступныхСкладов Цикл СписокДоступныхСкладов.Добавить(СокрЛП(СтрокаТДС.Склад.Наименование)); КонецЦикла; СтруктураОтбора = Новый Структура("Наименование", СписокДоступныхСкладов); ДопМодуль.ОткрытьФормуВыбораСОтбором("Склады", ЭтаФорма, СтруктураОтбора); КонецЕсли; КонецПроцедуры Процедура ОткрытьФормуВыбораСОтбором(ИмяСправочника, Элемент, СтруктураОтбора) Экспорт ФормаВыбора = Справочники[ИмяСправочника].ПолучитьФормуВыбора(,Элемент,); // Отфильруем список складов. Если НЕ СтруктураОтбора = Неопределено Тогда Если ТипЗнч(СтруктураОтбора) = Тип("ТаблицаЗначений") Тогда Для Каждого ТекОтбор Из СтруктураОтбора Цикл ФормаВыбора.Отбор[ТекОтбор.Имя].ВидСравнения = ТекОтбор.ВидСравнения; ФормаВыбора.Отбор[ТекОтбор.Имя].Значение = ТекОтбор.Значение; ФормаВыбора.Отбор[ТекОтбор.Имя].Использование = Истина; Если ТекОтбор.НеИзменять Тогда ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора[ТекОтбор.Имя].Доступность = НЕ ТекОтбор.НеИзменять; КонецЕсли; КонецЦикла; Иначе Для Каждого ЭлементСтруктуры Из СтруктураОтбора Цикл Если ТипЗнч(ЭлементСтруктуры.Значение) = Тип("СписокЗначений") Тогда ФормаВыбора.Отбор[ЭлементСтруктуры.Ключ].ВидСравнения = ВидСравнения.ВСписке; КонецЕсли; ФормаВыбора.Отбор[ЭлементСтруктуры.Ключ].Значение = ЭлементСтруктуры.Значение; ФормаВыбора.Отбор[ЭлементСтруктуры.Ключ].Использование = Истина; ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора[ЭлементСтруктуры.Ключ].Доступность = Ложь; ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь; КонецЦикла; КонецЕсли; КонецЕсли; ФормаВыбора.Открыть(); КонецПроцедуры |
|||
1
ДенисЧ
01.02.19
✎
11:51
|
А в форме ОповеститьОВыборе() есть?
|
|||
2
Droning1C
01.02.19
✎
11:56
|
(1) в форме документа?
|
|||
3
Радим1987
01.02.19
✎
11:57
|
ДопМодуль.ОткрытьФормуВыбораСОтбором("Склады", ЭЛЕМЕНТЫ.ТВОЙЭЛЕМЕНТ, СтруктураОтбора);
|
|||
4
ДенисЧ
01.02.19
✎
11:57
|
(2) В форме, которую открываешь для выбора
|
|||
5
Радим1987
01.02.19
✎
11:59
|
Если не получилось добавь и анализируй обработка выбора "ВыбранноеЗначение"
&НаКлиенте Процедура СкладКомпанииОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Объект.Склад = ВыбранноеЗначение; КонецПроцедуры |
|||
6
Droning1C
01.02.19
✎
12:01
|
(3) помогло! спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |