1. Johney20 13.06.18 12:55 Сейчас в теме

Открыть форм выбор справочника

Реквизит формы "База приемник" - тип Список значений (тип значения - Справочник "Информационные базы"), то есть приемником может быть как одна база, так и несколько. Необходимо, чтобы при выборе базы источника открывался мой список значений и по нажатию кнопки "Подбор" открывалась форма выбора справочника "Информационные базы". Пока у меня происходит так: 1.Открывается форма выбора справочника, потом поверх открывается мой список значений и при подборе или выборе снова открывается форма выбора. В общем, бред как-то.. (Скрин приложила)

Вот мой код:

Обработка:
&НаКлиенте
Процедура БазаПриемникНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	//СтандартнаяОбработка = Ложь;
	
	ПараметрыФормы = Новый Структура;
	ПолучитьСписокДоступныхИнформационныхБаз(ПараметрыФормы);	
	
	Оповещение = Новый ОписаниеОповещения("ОбработатьЗакрытиеФормыВыбораБазыПриемника", ЭтаФорма);
	
	ОткрытьФорму("Справочник.ИнформационныеБазы.ФормаВыбора",ПараметрыФормы,Элемент,,ВариантОткрытияОкна.ОтдельноеОкно,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
		
КонецПроцедуры
Показать


Справочник:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка=Ложь)
	Отбор = Параметры.Отбор;
	Параметры.МножественныйВыбор = Истина;
	Если ЗначениеЗаполнено(Отбор) Тогда
		ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
		ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
		ЭлементОтбора.Использование = Истина;
		ЭлементОтбора.ПравоеЗначение = Отбор;
	КонецЕсли;
КонецПроцедуры
Показать
Прикрепленные файлы:
Ответы
Сортировка: Древо
2. antz 13.06.18 13:01 Сейчас в теме
Ну а почему бы сначала не открываться форме выбора справочника, если вы сами говорите ей открываться в процедуре НачалоВыбора?
3. Johney20 13.06.18 13:02 Сейчас в теме
4. antz 13.06.18 13:03 Сейчас в теме
(3) вам нужно ограничить выбор базы?
5. Johney20 13.06.18 13:17 Сейчас в теме
(4) да. То есть в форме выбора справочника "Информационные Базы" я должна видеть только те, которые есть в параметрах отбора.
6. necropunk 5 13.06.18 13:41 Сейчас в теме
Стандартную обработку отключайте при использовании своей формы выбора.
10. antz 13.06.18 13:58 Сейчас в теме
(6) ей нужно заполнять список значений. То есть, чтобы при начале выбора открывалась форма списка значений, а при добавлении в список - когда открывается форма выбора из справочника, в ней был отбор. Я как-то не знаю, как это сделать.
7. necropunk 5 13.06.18 13:42 Сейчас в теме
И если вы список баз передаете в отбор - почему в отборе вид сравнения - Равно?
8. Johney20 13.06.18 13:52 Сейчас в теме
(7) это я уже заменила на ВСписке. Результат не меняется все равно
9. Johney20 13.06.18 13:52 Сейчас в теме
Стандартную обработку так же отключаю.
11. independ 117 13.06.18 20:54 Сейчас в теме
Можно использовать стандартный диалог Списка значений с отметкой, если данный список небольшой, то вполне работает, вот пример
&НаКлиенте
Процедура Подбор(Команда)
	СписокКассККМ=Новый СписокЗначений;
	ЗаполнитьСписокКассККМ(СписокКассККМ);
	Для каждого КассаККМ из СписокКассККМ Цикл
		Если КассыККМ.НайтиПоЗначению(КассаККМ.Значение)<>Неопределено Тогда
			КассаККМ.Пометка=Истина;
		КонецЕсли;	
	КонецЦикла;	
	Если СписокКассККМ.ОтметитьЭлементы("Выбор Касс ККМ") Тогда
		КассыККМ.Очистить();
		Для Каждого КассаККМ Из СписокКассККМ Цикл
			Если КассаККМ.Пометка Тогда
				КассыККМ.Добавить(КассаККМ.Значение);
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗаполнитьСписокКассККМ(СписокКассККМ) 
	Запрос=Новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	|	КассыККМ.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.КассыККМ КАК КассыККМ";
	Выборка=Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		СписокКассККМ.Добавить(Выборка.Ссылка);
	КонецЦикла;	
КонецПроцедуры	
Показать
Прикрепленные файлы:
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Удаленный консультант-разработчик 1С
Краснодар
зарплата от 60 000 руб. до 60 000 руб.
Полный день



Ведущий программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Руководитель проектов 1С
Москва
Полный день