• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Dragndrop в 1С 8.1 УТП

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

Vlad3

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

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

Спасибо!
 
D

DjAlex

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

Vlad3

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

DjAlex

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!