Перехватить номенклатуру в момент подбора
По теме из базы знаний
- Сравнение 1С8 и Navision
- Расширения конфигураций 1С: учимся перехватывать методы
- Ведение взаиморасчетов в конфигурациях «Комплексная автоматизация 1.1» и «Управление производственным предприятием 1.3» - часть 1
- Расширенный автоподбор при вводе по строке в поле ввода в управляемых формах
- Решение задач на Управляемые формы из Сборника задач для подготовки к экзамену 1С:Специалист по платформе
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) ОбработкаОповещения срабатывает перед открытием формы документа - не подходит.
ОбработкаВыбора - в отладку не попала, не используется при подборе.
Использую конфигурацию Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1 (5.1.15.10) аналог УТ 10.3
ОбработкаВыбора - в отладку не попала, не используется при подборе.
Использую конфигурацию Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1 (5.1.15.10) аналог УТ 10.3
(3) нужно посмотреть как вызывается, открывается форма подбора, возможно указан владелец - табличная часть, у табличной части есть событие ОбработкаВыбора
Примерно так
Примерно так
Процедура ОткрытьПодбор()
Форма=Обработки.Подбор.ПолучитьФормуВыбора();
Форма.РежимВыбора=Истина;
Форма.ЗакрыватьПриВыборе=Ложь;
Форма.МножественныйВыбор=Ложь;
Форма.ВладелецФормы=ЭлементыФормы.Товары;
Форма.Открыть();
КонецПроцедуры
Процедура ТоварыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) ЭКСПОРТ
// Вставить содержимое обработчика.
КонецПроцедуры
Показать
(4) Вот сюда попадаю при нажатии
Процедура КоманднаяПанельТоварыПодбор(Кнопка)
Если Кнопка.Имя="Подбор" ИЛИ Кнопка.Имя="ПодборПоПрайсЛисту" Тогда
СтруктураПараметровПодбора=Новый Структура();
СтруктураПараметровПодбора.Вставить("ОтображениеУслуг", Ложь);
СтруктураПараметровПодбора.Вставить("ПодборПоПрайсЛисту", Кнопка.Имя = "ПодборПоПрайсЛисту");
дкКоманднаяПанельТоварыПодбор(ЭтаФорма,СтруктураПараметровПодбора)
КонецЕсли;
КонецПроцедуры // КоманднаяПанельТоварыПодбор()
Отладкой прошёл по всем процедурам подбора, в итоге открылась форма подбора. При выборе номенклатуры снова в отладку не попадаю.
Процедура КоманднаяПанельТоварыПодбор(Кнопка)
Если Кнопка.Имя="Подбор" ИЛИ Кнопка.Имя="ПодборПоПрайсЛисту" Тогда
СтруктураПараметровПодбора=Новый Структура();
СтруктураПараметровПодбора.Вставить("ОтображениеУслуг", Ложь);
СтруктураПараметровПодбора.Вставить("ПодборПоПрайсЛисту", Кнопка.Имя = "ПодборПоПрайсЛисту");
дкКоманднаяПанельТоварыПодбор(ЭтаФорма,СтруктураПараметровПодбора)
КонецЕсли;
КонецПроцедуры // КоманднаяПанельТоварыПодбор()
Отладкой прошёл по всем процедурам подбора, в итоге открылась форма подбора. При выборе номенклатуры снова в отладку не попадаю.
(6)Процедура дкКоманднаяПанельТоварыПодбор(ЭтаФорма,СтруктураПараметровПодбора) Экспорт
Перем ПодборПоПрайсЛисту; // Имя обработки подбора по прайс-листу
Если НЕ СтруктураПараметровПодбора.Свойство("ЭтаФорма") Тогда
СтруктураПараметровПодбора.Вставить("ЭтаФорма",ЭтаФорма);
КонецЕсли;
СтруктураПараметровПодбора.Свойство("ПодборПоПрайсЛисту", ПодборПоПрайсЛисту);
ПодборПоПрайсЛисту = ?(обЗначениеНеЗаполнено(ПодборПоПрайсЛисту), ЛОЖЬ, ПодборПоПрайсЛисту);
Если обПраво("ИспользованиеФормыПодбора",ЭтаФорма.Права,,ЭтаФорма) Тогда
ИмяОбработки = ?(ПодборПоПрайсЛисту, "ПодборНоменклатурыПоПрайсЛисту", "ПодборНоменклатуры");
ФормаПодбора = Обработки[ИмяОбработки].ПолучитьФорму("Форма",ЭтаФорма);
Иначе
СтруктураПараметровПодбора.Вставить("ИмяТабличногоПоляИсточника", "Список");
ИмяСправочника = ?(ПодборПоПрайсЛисту, "ПрайсЛист", "Номенклатура");
ФормаПодбора = Справочники[ИмяСправочника].ПолучитьФормуВыбора("ФормаСписка",ЭтаФорма);
КонецЕсли;
ФормаПодбора.СтруктураПараметровФормы = СтруктураПараметровПодбора;
ФормаПодбора.РежимВыбора = ИСТИНА;
ФормаПодбора.ЗакрыватьПриВыборе = ЛОЖЬ;
ФормаПодбора.Открыть();
КонецПроцедуры // дкКоманднаяПанельТоварыПодбор()
Перем ПодборПоПрайсЛисту; // Имя обработки подбора по прайс-листу
Если НЕ СтруктураПараметровПодбора.Свойство("ЭтаФорма") Тогда
СтруктураПараметровПодбора.Вставить("ЭтаФорма",ЭтаФорма);
КонецЕсли;
СтруктураПараметровПодбора.Свойство("ПодборПоПрайсЛисту", ПодборПоПрайсЛисту);
ПодборПоПрайсЛисту = ?(обЗначениеНеЗаполнено(ПодборПоПрайсЛисту), ЛОЖЬ, ПодборПоПрайсЛисту);
Если обПраво("ИспользованиеФормыПодбора",ЭтаФорма.Права,,ЭтаФорма) Тогда
ИмяОбработки = ?(ПодборПоПрайсЛисту, "ПодборНоменклатурыПоПрайсЛисту", "ПодборНоменклатуры");
ФормаПодбора = Обработки[ИмяОбработки].ПолучитьФорму("Форма",ЭтаФорма);
Иначе
СтруктураПараметровПодбора.Вставить("ИмяТабличногоПоляИсточника", "Список");
ИмяСправочника = ?(ПодборПоПрайсЛисту, "ПрайсЛист", "Номенклатура");
ФормаПодбора = Справочники[ИмяСправочника].ПолучитьФормуВыбора("ФормаСписка",ЭтаФорма);
КонецЕсли;
ФормаПодбора.СтруктураПараметровФормы = СтруктураПараметровПодбора;
ФормаПодбора.РежимВыбора = ИСТИНА;
ФормаПодбора.ЗакрыватьПриВыборе = ЛОЖЬ;
ФормаПодбора.Открыть();
КонецПроцедуры // дкКоманднаяПанельТоварыПодбор()
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот