0
Boudybuilder
29.11.12
✎
15:48
|
Хочу запретить действие кнопки выбора ,если в поле ввода нет текста. Так как это СерииНоменклатуры , то по окончании ввода текста у меня запрос ищет нет ли с таким серийником отличающейся номенклатуры. А менеджер часто не вводит текст , а тупо открывает список и вводит новый элемент справочника.
Так вот , хочется чтобы после отработки запроса срабатывала как и есть стандартная обработка и искало ЭлементСправочника по текущему владельцу , и если таковой не найдено по тексту то предложило создать новую и заполнило поле.
Как это сделать в каком событии???
Процедура СерияНоменклатурыНачалоВыбора(Элемент, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Элемент.Значение) Тогда
СтандартнаяОбработка = Ложь;
Сообщить ("Заполните поле серии!");
КонецЕсли;
КонецПроцедуры
Процедура СерияНоменклатурыОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СерииНоменклатуры.Владелец,
| СерииНоменклатуры.Ссылка
|ИЗ
| Справочник.СерииНоменклатуры КАК СерииНоменклатуры
|ГДЕ
| СерииНоменклатуры.Наименование = &Наименование
| И СерииНоменклатуры.Владелец <> &Владелец
|
|УПОРЯДОЧИТЬ ПО
| СерииНоменклатуры.Владелец";
Запрос.УстановитьПараметр("Наименование",Текст);
Запрос.УстановитьПараметр("Владелец",Номенклатура);
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
НайденыеСерии = Результат.Выбрать();
Форма = ЭтотОбъект.ПолучитьФорму("НайденыСерии");
Форма.Заголовок = "Серия: """+ Текст+"""";
Пока НайденыеСерии.Следующий() Цикл
НовСтр = Форма.Номенклатура.Добавить();
НовСтр.Номенклатура = НайденыеСерии.Владелец;
НовСтр.Серия = НайденыеСерии.Ссылка;
КонецЦикла;
Форма.Объект = ЭтотОбъект;
Форма.ОткрытьМодально();
КонецЕсли;
КонецПроцедуры
|
|