• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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.СоздатьКолонки();
но вопроса с драгндропом это не решает, т.к. там не совсем ссылка дропится, сейчас разбираюсь с рабочим местом менеджера по продажам, пытаюсь внедрить фильтр в том окне, а в нем уже реализован драгндроп
но вопроса с драгндропом это не решает, т.к. там не совсем ссылка дропится
Поподробнее с этого места???

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

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