Реквизит формы "База приемник" - тип Список значений (тип значения - Справочник "Информационные базы"), то есть приемником может быть как одна база, так и несколько. Необходимо, чтобы при выборе базы источника открывался мой список значений и по нажатию кнопки "Подбор" открывалась форма выбора справочника "Информационные базы". Пока у меня происходит так: 1.Открывается форма выбора справочника, потом поверх открывается мой список значений и при подборе или выборе снова открывается форма выбора. В общем, бред как-то.. (Скрин приложила)
Вот мой код:
Обработка:
Справочник:
Вот мой код:
Обработка:
&НаКлиенте
Процедура БазаПриемникНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
//СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
ПолучитьСписокДоступныхИнформационныхБаз(ПараметрыФормы);
Оповещение = Новый ОписаниеОповещения("ОбработатьЗакрытиеФормыВыбораБазыПриемника", ЭтаФорма);
ОткрытьФорму("Справочник.ИнформационныеБазы.ФормаВыбора",ПараметрыФормы,Элемент,,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
ПоказатьСправочник:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка=Ложь)
Отбор = Параметры.Отбор;
Параметры.МножественныйВыбор = Истина;
Если ЗначениеЗаполнено(Отбор) Тогда
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = Отбор;
КонецЕсли;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Rocket Launcher 7.7. Свертка базы 1С 7.7. Перенос справочников и документов 7.7
- Форма выбора объекта(ов) метаданных и внешних обработок
- Форма выбора (подбор) в управляемых формах
- Установка отбора по списку значений при открытии формы выбора справочника из реквизита обработки
- Параметры открытия формы выбора отборов и параметров СКД ("связи параметров выбора" списочных значений СКД)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Можно использовать стандартный диалог Списка значений с отметкой, если данный список небольшой, то вполне работает, вот пример
&НаКлиенте
Процедура Подбор(Команда)
СписокКассККМ=Новый СписокЗначений;
ЗаполнитьСписокКассККМ(СписокКассККМ);
Для каждого КассаККМ из СписокКассККМ Цикл
Если КассыККМ.НайтиПоЗначению(КассаККМ.Значение)<>Неопределено Тогда
КассаККМ.Пометка=Истина;
КонецЕсли;
КонецЦикла;
Если СписокКассККМ.ОтметитьЭлементы("Выбор Касс ККМ") Тогда
КассыККМ.Очистить();
Для Каждого КассаККМ Из СписокКассККМ Цикл
Если КассаККМ.Пометка Тогда
КассыККМ.Добавить(КассаККМ.Значение);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗаполнитьСписокКассККМ(СписокКассККМ)
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| КассыККМ.Ссылка КАК Ссылка
|ИЗ
| Справочник.КассыККМ КАК КассыККМ";
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СписокКассККМ.Добавить(Выборка.Ссылка);
КонецЦикла;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот