27 июля 2015 г.

1С Открыть форму выбора с отбором ОП8.2/УП8.3


 Процедура СчетНаОплатуНачалоВыбора(Элемент, СтандартнаяОбработка)
  //Запрет на открытие стандартного окна
  СтандартнаяОбработка=Ложь;
  //Получаем форму отбора документа
  ФормаВыбора=Документы.СчетНаОплатуПокупателю.ПолучитьФормуВыбора(,Элемент); 
  //Устанавливаем режим выбора
  ФормаВыбора.РежимВыбора=Истина;
  //Устанавливаем отбор
  //Если не знаем как называется, ставим точку останова, и смотрим состав ФормаВыбора.Отбор
  ФормаВыбора.отбор.Контрагент.Установить(ЭтотОбъект.Контрагент.Ссылка,Истина);
  ФормаВыбора.отбор.ДоговорКонтрагента.Установить(ЭтотОбъект.ДоговорКонтрагента,Истина);
  //Открываем форму выбора
  ФормаВыбора.Открыть();
 КонецПроцедуры
Открыть форму выбора договора контрагента с отбором по контрагенту (поставщик) и видом договора с поставщиком. Прошу отметить, процедура выполняется на клиенте

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

 Иначе 
  ВыводПредупреждения("Не выбран контрагент!!!");
  Возврат;
 КонецЕсли;
КонецПроцедуры

Комментариев нет:

Отправить комментарий