Dragndrop в 1С 8.1 УТП

  • Автор темы Vlad3
  • Дата начала
V

Vlad3

#1
Здратсвуйте!
1С 8.1 УТП.
Есть обработка, которая ищет номенклатуру по некоторым параметрам.
Есть необходимость реализовать DragnDrop из этой обработки в ЗаказПокупателя. Заказ покупателя и так принимает на себя объекты - если перетащить из рабочего места менеджера по продажам, поэтому остается правильно организовать свою обработку.

Вопрос номер1 - куда выводить результаты запроса? (Если не затруднит - то как в таблицу засунуть все полученные объекты, запрос возвращает набор ссылок на Номеклатуру.)
Вопрос номер2 - как сделать так, чтобы эти результаты были доступны для перетаскивания?

Спасибо!
 
D

DjAlex

#2
Если, я правильно Вас понял, то необходимо сделать следущее:
1) Результат запроса нужно выгружать в ТабличноеПоле, в ТабличноеПоле нужно поставить галочку РазрешитьНачалоПеретаскивания
2) Заполнение табличного поля, существует множество вариаций, но я предлажу такой:
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
НоваяСтрока = ТабличноеПоле1.Добавить();
НоваяСтрока.Номенклатура = РезультатЗапроса.Ссылка;
КонецЦикла;
3) Теперь Вы можете использовать данные для перетаскивания, в заказе покупателя у табличного поля существует событие ПроверкаПеретаскивания, в это событие и попадут Ваши данные! Удачи! :(
 
V

Vlad3

#4
Если, я правильно Вас понял, то необходимо сделать следущее:
1) Результат запроса нужно выгружать в ТабличноеПоле, в ТабличноеПоле нужно поставить галочку РазрешитьНачалоПеретаскивания
2) Заполнение табличного поля, существует множество вариаций, но я предлажу такой:
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
НоваяСтрока = ТабличноеПоле1.Добавить();
НоваяСтрока.Номенклатура = РезультатЗапроса.Ссылка;
КонецЦикла;
3) Теперь Вы можете использовать данные для перетаскивания, в заказе покупателя у табличного поля существует событие ПроверкаПеретаскивания, в это событие и попадут Ваши данные! Удачи! :(
Благодарю, немного поковырявшись, можно даже так:
Результат = Запрос.Выполнить();
ТаблицаЗначений = Результат.Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаЗначений;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
но вопроса с драгндропом это не решает, т.к. там не совсем ссылка дропится, сейчас разбираюсь с рабочим местом менеджера по продажам, пытаюсь внедрить фильтр в том окне, а в нем уже реализован драгндроп
 
D

DjAlex

#5
Благодарю, немного поковырявшись, можно даже так:
Результат = Запрос.Выполнить();
ТаблицаЗначений = Результат.Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаЗначений;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
но вопроса с драгндропом это не решает, т.к. там не совсем ссылка дропится, сейчас разбираюсь с рабочим местом менеджера по продажам, пытаюсь внедрить фильтр в том окне, а в нем уже реализован драгндроп
но вопроса с драгндропом это не решает, т.к. там не совсем ссылка дропится
Поподробнее с этого места???

сейчас разбираюсь с рабочим местом менеджера по продажам, пытаюсь внедрить фильтр в том окне, а в нем уже реализован
Можно в заказе проверять в ПараметрыПеретаскивания что передается и по своему обрабатывать!