Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 16:39
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Метод ОповеститьОВыборе() не вызывает событие Обработка выбора  (Прочитано 4714 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dart909

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-07-09
  • Сайт: 
  • Профессия: Разработчик 1С
Добрый день подскажите пожалуйста. Не пойму почему Метод ОповеститьОВыборе() не вызывает событие Обработка выбора . Вот код:

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

&НаСервере 
Функция ПолучитьДолжностьДиспетчер()
   Диспетчер = Справочники.Должности.НайтиПоНаименованию("Диспетчер");
   Возврат Диспетчер
КонецФункции

&НаКлиенте
Процедура ДиспетчерОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   Элемент = ВыбранноеЗначение// Вставить содержимое обработчика.
КонецПроцедуры

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


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Пичаль пичальная.
1.Судя по коду - у вас управляемое приложение. В управляемых формах не принято программно играться с формой до ее открытия. Для того чтобы открыть форму с отбором нужно использовать параметры формы.
Почитайте тут: http://v8.1c.ru/metod/faq2/answer.jsp?id=548

2. Не вызывает обработку выбора потому что в качестве владельца для открываемой формы вы указываете саму форму
ФормаВыбора = ПолучитьФорму("Справочник.Сотрудники.Форма.ФормаВыбора",,ЭтаФорма);

о обработку выбора повесили на элемент формы:

Процедура ДиспетчерОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Нужно или обработку выбора навешивать на саму форму или в качестве владельца формы указывать элемент формы. Если в качестве владельца указывать саму форму, то обязательно нужна обработка выбора формы, если же в качестве владельца указывать эелемент формы, то в принципе обработка выбора вообще не нужна.

Оффлайн dart909

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-07-09
  • Сайт: 
  • Профессия: Разработчик 1С
Пичаль пичальная.
1.Судя по коду - у вас управляемое приложение. В управляемых формах не принято программно играться с формой до ее открытия. Для того чтобы открыть форму с отбором нужно использовать параметры формы.
Почитайте тут: http://v8.1c.ru/metod/faq2/answer.jsp?id=548

2. Не вызывает обработку выбора потому что в качестве владельца для открываемой формы вы указываете саму форму
ФормаВыбора = ПолучитьФорму("Справочник.Сотрудники.Форма.ФормаВыбора",,ЭтаФорма);

о обработку выбора повесили на элемент формы:

Процедура ДиспетчерОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Нужно или обработку выбора навешивать на саму форму или в качестве владельца формы указывать элемент формы. Если в качестве владельца указывать саму форму, то обязательно нужна обработка выбора формы, если же в качестве владельца указывать эелемент формы, то в принципе обработка выбора вообще не нужна.
Добавлено: 20 Июл 2015, 14:49

Изменил ЭтаФорма на Элемент. Если правильно понял..Но все равно событие не вызывается

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Изменил ЭтаФорма на Элемент. Если правильно понял..Но все равно событие не вызывается
Как вы это определили?

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
  СтандартнаяОбработка = Ложь;
Уберите это.

Вы вообще отладчиком пользоваться умеете?


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
163 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 798
  • Точка Скрытых: 0
  • Точка Пользователей: 13
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal