Не работает обработка выбора

Не заходит в ОбработкуВыбора

Добрый вечер.
Для БП 3.0(Интерфейс Такси) делаю внешнюю обработку для заполнения табличной части, для документа Требование накладная при выборе документа Поступление должна заполняться табличная часть, но почему-то при выборе Поступления не происходит захода в ОбработкуВыбора, далее приведу кусок кода

&НаКлиенте
Процедура ВопросОчиститьТабличнуюЧасть(РезультатВопроса, ДополнительныеПараметры) Экспорт

Если РезультатВопроса = КодВозвратаДиалога.Да Тогда

ТекстСообщения = «Очистка ТЧ»;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);

Если ДокТребование.Материалы.Количество()>0 Тогда
ДокТребование.Материалы.Очистить();
КонецЕсли;

СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить(«Проведен», Истина);

СписокВидовОпераций = Новый СписокЗначений;
СписокВидовОпераций.Добавить(ПредопределенноеЗначение(«Перечисление.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия»));

СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить(«Отбор», СтруктураОтбора);
СтруктураПараметров.Вставить(«РежимВыбора», Истина);
СтруктураПараметров.Вставить(«МножественныйВыбор», Ложь);
СтруктураПараметров.Вставить(«ЗакрыватьПриВыборе», Истина);

ФормаВыбор = ПолучитьФорму(«Документ.ПоступлениеТоваровУслуг.ФормаВыбора»,СтруктураПараметров, ЭтаФорма);
ФормаВыбор.Открыть();

Если ВыбранноеЗначение = Неопределено Тогда
ТекстСообщения = «Документ не выбран!»;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
Возврат;
КонецЕсли;

ТекстСообщения = «Обработка завершена»;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);

СП:
Расширение поля формы для поля ввода.ОбработкаВыбора (Form field extension for a text box.ChoiceProcessing)
Расширение поля формы для поля ввода (Form field extension for a text box)
ОбработкаВыбора (ChoiceProcessing)
Синтаксис:

Тип: Произвольный.
Выбранное значение, которое будет установлено как значения поля ввода или массив выбранных значений в случае, если в подчиненной форме свойство МножественныйВыбор имеет значение Истина.
В параметре можно вернуть другое значение, которое и будет помещено в элемент управления.
Выбранное значение будет помещаться в историю выбора поля ввода управляемой формы.

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
Значение по умолчанию: Истина.
Описание:

Вызывается после осуществления выбора, но до помещения выбранного значения в элемент управления.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.

Читайте также:  Вы сможете сами отремонтировать свою квартиру

Тип: Произвольный.
Результат выбора в подчиненной форме. В случае множественного выбора возвращается массив выбранных значений.
Тип: Произвольный.
Форма, где осуществлен выбор.
Описание:

Возникает на клиенте при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОВыборе».

Источник

Не работает обработка выбора

На форме есть реквизит ДокОснование

на нем висит событие

Процедура ДокОснованиеНачалоВыбора(Элемент, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
ФормаВыбораДокумента = Документы.ЗаказПокупателя.ПолучитьФормуВыбора(, ЭтотОбъект, );
ФормаВыбораДокумента.ДокументСписок.Отбор[«Фирма»].ВидСравнения = ВидСравнения.Равно;
ФормаВыбораДокумента.ДокументСписок.Отбор[«Фирма»].Значение = ЭлементыФормы.Фирма.Значение;
ФормаВыбораДокумента.ДокументСписок.Отбор[«Фирма»].Использование = Истина;
ФормаВыбораДокумента.ЭлементыФормы.ДокументСписок.НастройкаОтбора.Фирма.Доступность = Ложь;

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

ФормаВыбораДокумента.РежимВыбора = Истина;
ФормаВыбораДокумента.Открыть();

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

ДокументОбъект.Заполнить( );
Описание:
Заполняет данные документа данными из другого объекта. Инициирует событие ОбработкаЗаполнения и вызов его процедуры-обработчика в модуле документа. В ней может размещаться алгоритм, заполняющий данные документа из переданного значения

Что написано в ОбработкаЗаполнения ?

(2) а чему равно значение ВыбранноеЗначение в момент :

единственное что приходит в голову — что ВыбранноеЗначение не заполнено и поэтому не выполняется.

Источник

v8: Обработка выбора

Bell 19.03.2014 11:58
Прочитано: 16589
Здравствуйте
Избавляюсь от лишних процедур

Открываю форму возвращаю ВыбранноеЗначение через ОбработкуВыбора Элемента (Договоры)
ВСЕ РАБОТАЕМ

ВОПРОС патаюсь возвратить ВыбранноеЗначение через ОбработкуВыбора(ВыбранноеЗначение, ИсточникВыбора) формЫ
Что не так. Вообще не реагирует.

& Код 1C v 8.х Изменено 19.03.14 16:48:22

Yandex
Возможно, вас также заинтересует
Mokey 20.03.2014 11:44
Ответ № 1
Потому что в форме выбора договора надо активировать процедуру ОповеститьОВыборе()
Bell 21.03.2014 12:26
Ответ № 2
Пошло
Есть одна загвоздка

В форме документа ТабличнаяЧасть Договоры
Наименование — Это ссылка на справочник договоры

Источник

Обработка Выбора выбирает со 2 раза.

Добрый день.
В процедуре НачалоВыбора сделал нужный мне отбор формы выбора.
Форма открывается, при двойном нажатие на элемент (или кнопку выбрать) ничего не происходит, процедура ОбработкаВыбора не активизируется.

Повторяю данную операцию и все работает, хоть сколько раз, до того момента, пока не закрою документ и не открою его или новый и опять со 2 раза заводится шарманка.

Подскажите, может кто сталкивался с данной ситуацией? Спасибо.

(2) Gray-SV-02, ошибка действительно в коде. Если его закоментить, то все выбирается. Только в чем ошибка

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

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

(11) demart-omsk,
это я понял.

закомментарь эту строчку и
добавь обработку выбора для поля ввода.

Источник

Событие обработка выбора для УФ

Добрый день. Конфигурация бух 3.0. Помогите пожалуйста разобраться с событием обработка выбора. При выборе значения из подчинённой формы не происходит действий на основной форме. Почему так? В основной форме открывается форма списка по команде:

&НаКлиенте
Процедура ЗаполнитьМаршрут(Команда)

Объект.ЭтапыРабот.Очистить(); //очистка табл части документа
ВыбФорма = ПолучитьФорму(«Справочник.ТиповыеМаршрутыЗаявок_ЕО.Форма.ФормаВыбора»); //вызов формы выбора этапов
ВыбФорма.Открыть();

В форме выбора такой код:

Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

ОповеститьОВыборе(ВыбранноеЗначение);
СтандартнаяОбработка = Ложь;

Так же в основной форме есть процедура обработка выбора

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)

Если ТипЗнч(ЗначениеВыбора) = Тип(«СправочникСсылка.ТиповыеМаршрутыЗаявок_ЕО») и ЗначениеЗаполнено(ЗначениеВыбора) Тогда
ОбработатьЗаполнениеСпискаЭтапов(ЗначениеВыбора, Объект.Дата);
КонецЕсли;

И последующее заполнение табличной части основной формы:

&НаКлиенте
Процедура ОбработатьЗаполнениеСпискаЭтапов(Маршрут, Дата)

Для Каждого ТекСтрока из Маршрут.Этапы Цикл
НовСтрока = Объект.ЭтапыРабот.Добавить();
НовСтрока.Этап = ТекСтрока.Этап;
НовСтрока.ВерсияЭтапа = 1;
НовСтрока.СледующийЭтап =ТекСтрока.СледующийЭтап;
НовСтрока.ВерсияСледующегоЭтапа = 1;
НовСтрока.ПервыйЭтап =ТекСтрока.ПервыйЭтап;
НовСтрока.Срок = ТекСтрока.Срок;
НовСтрока.ИсполнительРоль = ПолучитьИсполнителя(ТекСтрока.Этап, Дата);
НовСтрока.НазваниеДокумента = ТекСтрока.Этап.НазваниеДокументаРезультата;
КонецЦикла

(1) И ещё небольшой дополнительный вопрос. бух 2.0 после выбора элемента в форме выбора переменная «ЗначениеВыбора» в процедуре «ОбработкаВыбора» принимается как ссылка на выбранный элемент, т.е. я могу обращаться к реквизитам : Актуальность, ВерсияДанных, Ссылка и т.д. Как я понял это реализовано через такой механизм формы выбора :

В бух 3.0 таких модулей я не обнаружил. Может я конечно и ошибаюсь, но как ещё можно получить значение выбора с возможностью обращения к реквизитам полученного объекта?

Источник

Оцените статью