|
вопрос при выборе из справочника на управляемых формах | ☑ | ||
---|---|---|---|---|
0
Tornadius
19.02.24
✎
06:27
|
Добрый день!
1с:БП КОРП Подскажите, кто знает, как организовать программно показ и обработку вопроса на управляемых формах ПЕРЕД выбором из справочника. На форме есть поле ввода (реквизит типа справочник) и есть табличная часть. нужно перед выбором в данном поле задать вопрос, что таб.часть не пуста и будет очищена, продолжить или нет. Самая сложность перехватить начало выбора в поле ввода. даже есть использовать свойство "Автоподбор" то после появления вопроса все равно открывается список истории ввода и ввод продолжается. А нужно, что бы данный список вываливался после ответа на вопрос, что была возможность отменить ввод в данном поле. Это не список. РежимВыбораИЗСписка = Ложь; Кто нибуть сталкивался с подобными задачами? |
|||
1
DJ Anthon
19.02.24
✎
06:38
|
СтандартнаяОбработка = Ложь;
И делай, как хочешь |
|||
2
Tornadius
19.02.24
✎
06:55
|
(1) Увы это не помогает.
|
|||
3
Мимохожий Однако
19.02.24
✎
07:12
|
(2) В типовых конфигурациях в каждом документе с товаром есть кнопка Подбор. Посмотри и сделай по аналогии.
Догадаться, что тебе не помогает, нет возможности. Ты даже не показал какие попытки для решения задачи делал |
|||
4
Tornadius
19.02.24
✎
07:18
|
(3) Это отдельная кнопка "Подбор", а нужно сделать полем ввода.
Пробовал вот так: &НаКлиенте Процедура ВидЗаявкиАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; // Вставить содержимое обработчика. ТекЗначение = Объект.ВидЗаявки; Если Объект.Заявки.Количество() >0 Тогда // СтандартнаяОбработка = Ложь; СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("ВосстановитьВидЗаявки", Объект.ВидЗаявки); СтруктураПараметров.Вставить("КварталСводногоПлана", Объект.КварталСводногоПлана); Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаЗаявкиОчистить", ЭтотОбъект, СтруктураПараметров); ПоказатьВопрос(Оповещение,"АВТОПОДБОР Табличная часть ""Заявки"" не пуста и будет очищена. Продолжить?",РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Нет); // СтандартнаяОбработка = Истина; КонецЕсли; КонецПроцедуры |
|||
5
Tornadius
19.02.24
✎
09:03
|
Пока вышел из положения так:
1) отключил у поля ввода всЁ, что связано с историей ввода. Заблокировал кнопку выпадающего списка, вывел кнопку выбора (три точки "...") 2) в событии "НачалоВыбора" (стандартнаяобработка = ложь) задаю вопрос и через оповещение вызываю процедуру очистки табличной части. 3) сразу после нее (там же в процедуре оповещения от вопроса) открываю программно форму выбора справочника, к которой привязано еще одно оповещение (параметр ОповещениеОЗакрытии) которое устанавливает выбранное значение в поле ввода. к, сожалению, не удалось сделать с использованием списка истории выбора. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |