0
alpha78
06.07.19
✎
11:32
|
Здравствуйте. Платформа 1с 8.3.13 - конфигурация в режиме - управляемое приложение
Есть управляемая форма документа «Расходная накладная», в которой пользователь сможет осуществлять выбор товаров с помощью специальной формы подбора.
Как сделать, чтоб Выбор товаров осуществлялся посредством перетаскивания мышкой нужного элемента из формы подбора в форму документа, а не кликанием мышки на форме подбора.
Вот коды для варианта кликания мышкой на форме подбора для наглядности процесса:
Код Формы Товара:
&НаКлиенте
Процедура ПодборНоменклатура(Команда)
ОткрытьФорму("ВнешняяОбработка.ВнешняяОбработкаПодборВТабличнуюЧасть.Форма.ФормаПодбора", Новый Структура("ЗакрыватьПриВыборе, МножественныйВыбор", Ложь, Ложь), ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
ДобавитьВыбранное(ВыбранноеЗначение)
КонецПроцедуры
&НаСервере
Процедура ДобавитьВыбранное(ВыбранноеЗначение)
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
ИскомаяСтрока = ОбработкаОбъект.Товары.Найти(ВыбранноеЗначение, "Номенклатура");
Если ИскомаяСтрока = Неопределено Тогда
НоваяСтр = ОбработкаОбъект.Товары.Добавить();
НоваяСтр.Номенклатура = ВыбранноеЗначение;
НоваяСтр.Количество = 1;
Иначе
ИскомаяСтрока.Количество = ИскомаяСтрока.Количество + 1;
КонецЕсли;
ЗначениеВРеквизитФормы(ОбработкаОбъект,"Объект");
КонецПроцедуры
Код формы Подбора:
&НаКлиенте
Процедура СписокНоменклатурыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если ЗначениеЗаполнено(ВыбраннаяСтрока) Тогда
ОповеститьОВыборе(ВыбраннаяСтрока);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СписокНоменклатурыОкончаниеПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
Если ПараметрыПеретаскивания.Значение.Количество() = 1 Тогда
ОповеститьОВыборе(ПараметрыПеретаскивания.Значение[0]);
КонецЕсли;
КонецПроцедуры
Прошу подсобить заранее благодарен. Удачи!
|
|