Пример как можно перетаскивать картинки на форме

26.09.09

Разработка - Работа с интерфейсом

Навеяно обработкой "Рабочий стол" (http://infostart.ru/projects/5466/ ) для 1С:Предприятие, идея алгоритма I_G_O_R, код в собственном исполнении.

Скачать файлы

Наименование Файл Версия Размер
-
.1251549694 6,99Kb
283
.1251549694 6,99Kb 283 Скачать

Обработка демонстрирует технологию перемещения картинки на форме. Код простой и понятный, без оптимизации - для простоты восприятия. Может кому и пригодится в повседневной работе :)

При нажатии кнопки "Как рамка", при перетаскивании картинка сохраняет свое первоначальное положение которое меняет только после окончания перетаскивания. Пользователь наблюдает перемещение в виде рамки.

Для перетаскивания, наводим курсор, нажимаем левую кнопку мыши, удерживая ее, производим перемещение объекта путем акта движения руки в заданном головой направлении.

Навеяно обработкой "Рабочий стол" - //infostart.ru/projects/5466/

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61792    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54394    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16695    21    4    

35

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2071    21    progmaster    7    

3

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3663    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12077    1    5    

10

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    8808    1    2    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Шёпот теней 1779 29.08.09 21:59 Сейчас в теме
... убИл ...
... вОт ...
..... ))) ....
2. WKBAPKA 214 29.08.09 22:00 Сейчас в теме
3. Шёпот теней 1779 29.08.09 22:02 Сейчас в теме
I_G_O_R то же плюс поставил в "Настройка и оптимизация" ...
4. Шёпот теней 1779 29.08.09 22:03 Сейчас в теме
... ммм ...
... это ВАМ спАсибо ...
... удачи ...
5. WKBAPKA 214 29.08.09 22:56 Сейчас в теме
я только не учитывал границы формы, но это не сложно, одно условие и выравнивание по границе - 2 пункта. Так, привел для примера. Но возможности идея открывает огромные. I_G_O_R большой респект за идею.
6. Шёпот теней 1779 29.08.09 23:28 Сейчас в теме
WKBAPKA и I_G_O_R

... гениально чЁ ужЖж и говорить ...

... с уважением "Шёпот теней" ...
7. WKBAPKA 214 29.08.09 23:38 Сейчас в теме
Шёпот согласись, идея рабочего стола лежала на поверхности. Каждый из нас работал с рабочим столом каждый день и до Светозора не подумал, что можно такое же сделать в 1С. Говорят, что в наше время что либо новое придумать нельзя, ан нет, можно, еще как можно :)
тебе спасибо за плюс, думаю что твой рабочий стол теперь будет еще лучше!
10. Шёпот теней 1779 30.08.09 00:39 Сейчас в теме
(7) ... нууу.... не думаю...
... и не потому, что "упираюсь" - просто не понимаю необходмости и нужности и удобства в "двигании" значков ...
... вОООбщем это дело вкуса ...

... а рабочих столов в 1С полно ... посмотрите БП, например, - просто они реализованы в манере 1С - вОООбщем дело вкуса ...

... мне в "моём" столе нравятся именно тем что описано в описании ... а передвижение значков мало интересует ...

... идея I_G_O_R и ваше воплощение - отлично ... я восхощЁн ...
8. CheBurator 3119 29.08.09 23:57 Сейчас в теме
идея рабочего стола меня бесит до крайности.
sea-man; Evg-Lylyk; +2 Ответить
40. director04 3657 02.09.09 07:30 Сейчас в теме
(8) Когда чела "бесит" - это от лукавого.... У каждого свои фобии.
9. WKBAPKA 214 30.08.09 00:29 Сейчас в теме
ну мало ли что меня бесит. идея очень шикарная. особенно, с меню в УПП и УТП :)
11. I_G_O_R 69 30.08.09 01:55 Сейчас в теме
Я уже говорил, что это не моя идея, а Светозора, так что спасибо ему. У него код был закрыт, но модуль формы нельзя закрыть, я отладчиком обнаружил, что на форме появляются 8 невидимых картинок и все стало ясно, а код написать дело техники. Код был закрыт, я его разгадал и рассказал всем, а вы мне плюсики ставите, как-то не хорошо, не нужны мне такие плюсики.
12. Шёпот теней 1779 30.08.09 09:50 Сейчас в теме
(11) ... хорошо ... забрал .... было бы сказано ... вот ...
15. Ish_2 1104 31.08.09 11:41 Сейчас в теме
(12) Шепот , нас обманули ! См. (14)
16. Шёпот теней 1779 31.08.09 12:15 Сейчас в теме
(15) ... на рынке всегда два умных дурака ... и оба радуются ... )))

... данное решение мне понравлось ...

... понимаю что их может быть много ... решение с табличном полем ? - согласен ...

... но есть идея а есть реализация ... то, что кажется лёгким изначальным - становится трудным при реализации ...

... рабочий стол - штатными средствами - при 100 % заполнении рисунком вЕЕЕсьма "тормознутое" дело ...

... повторюсь: дело не столько в красоте сколько в практичности и не обходимости ... поэтому изначально надо задаться вопросом для "ЧЕГО" делаем "рабочий стол" ... "свой" я делал из описанной в описании необходимости ...

... поэтому дискуссия должна протекать в русле не "как" - т.к. способов реализации много" а для "чего" - тогда вопрос методов реализации почти отпадёт ...

... вот ...
17. Ish_2 1104 31.08.09 12:22 Сейчас в теме
(16) Бесполезность идеи "рабочего стола" не вызывает сомнений.
Речь идет лишь о технологическом вопросе : о подходе к решению проблемы "перетаскивания" и др.
18. Шёпот теней 1779 31.08.09 13:10 Сейчас в теме
(17) ... бесполезность ... ? ... нуу... нууу... идея летает в воздухе и не только ... имеет несколько воплощений как от сАмой 1С так и других товарищЧей ...

.. и это не столько "идея" сколько лишь возможность повторить то, что уже прижилось в других системах ... метод аналогии ...

... думаю не стоит своЁ мнение или мнения круга лиц - выдавать как истину ...
... думаю как раз наоОобоОорот что те сложившиеся формы общения интерФейса -будут жить и развиваться - это и "меню" и "значки" и "рабочий стол" и их различные сочетания ...

... другого пока не придумали ...

... или ??? ...

... вот ...
19. Ish_2 1104 31.08.09 13:21 Сейчас в теме
(18)
Уточняю (17) : речь идет не об идее рабочего стола , как таковой , а об
идее такой реализации "рабочего стола", как в текущей теме.
Так вот : также как и моя с табличном полем , так и идея автора темы могут рассматриваться лишь как демонстрации техники программирования.

Применение в бизнес-решениях таких технологий выглядит "чудаковато".
Говорю только от своего имени , разумеется.

Более практичным выглядит подход к построению интерфейса в 8.2.

20. Шёпот теней 1779 31.08.09 14:23 Сейчас в теме
(18) ... принято ... СОгласен ... уважаю твоё мнение ...

.. лично я подерживаю любую идею "рабочего стола" ...

... по поводу "чудаковато"-сти - думается мы начинаем вторгаться в область "вкусов" и "предпочтений" - а тут выяснить истину БЕЗполезно ... )))

... вОт ...
21. Шёпот теней 1779 31.08.09 14:25 Сейчас в теме
в (20) читать первую строку в следующем изложении:

(19) ... принято ... СОгласен ... уважаю твоё мнение ...

... волнуюсьВОТошибаюсь ...
13. WKBAPKA 214 30.08.09 13:40 Сейчас в теме
2(11): Плюсики за то что не поленился. У меня была идея код открыть, да все как то руки не доходили.
Дело в том, что для таких конфигураций как УТП и УПП такие технологии очень сильно облегчают жисть. Если еще добавить более одного рабочего стола, на которых можно группировать ярлыки, очень будет удобно делать интерфейсы.
14. Ish_2 1104 31.08.09 11:30 Сейчас в теме
(11),(13) Я извиняюсь.
Но при втором взгляде предлагамое решение (перетаскивание на "рабочем столе") показалось "диковатым извращением".

На мой взгляд, оказалось гораздо проще , нагляднее, функциональнее использовать следующий подход.

Расположить на форме поле табличного документа ("рабочий стол"). Роль "ярлыков" будут играть рисунки ("текст") табличного документа.

И тогда все операции с "ярлыками - рисунками" (добавление, удаление, перетаскивание, изменения размера, корректировка) будут осуществляться на уровне платформы.

Запретить активизацию пустых ячеек, убрать автоскроллинг и т.д.
можно программно.
22. Шёпот теней 1779 31.08.09 14:51 Сейчас в теме
WKBAPKA
... опять поздравляю: уже "6" ...
... не плохо ))) и рАзговор удАлся ...
... так сказать теория и практика рука об руку ...

... дальнейших удачЬ ...
23. WKBAPKA 214 31.08.09 15:43 Сейчас в теме
использовать поле табличного документа... можно попробывать.... только помоему нельзя сделать подложку, по крайней мере я не нашел такой возможности, и может повылазить куча неприятных нюансов
24. WKBAPKA 214 31.08.09 15:45 Сейчас в теме
т.е. если подложку нельзя сделать тогда это большой минус в таком решении. А с точки зрения реализации соглашусь, очень просто все делается
25. Ish_2 1104 31.08.09 15:48 Сейчас в теме
(24) Что такое "подложка" ?
26. WKBAPKA 214 31.08.09 15:53 Сейчас в теме
27. Ish_2 1104 31.08.09 15:57 Сейчас в теме
(26) Не думал , что это существенно. Ок.Подумаю.

А вообще , после выхода 8.2 предплагаю мы будем с грустью смотреть на эти изыски.
28. WKBAPKA 214 31.08.09 16:23 Сейчас в теме
согласен. но пока 8.2. нет приходиться извращаться.. а прикиньбте, как народ до сих пор извращается на 7.7. ;) и не переходит же на 8.х )
29. I_G_O_R 69 31.08.09 19:09 Сейчас в теме
короче и то фигня и это, мне лично рабочий стол вообще не нужен т.к. я работаю во франче. Клиенты мне за рабочий стол врядли заплатят, а бесплатно работать не хочется. Есть только один плюс: никогда не работал с перетаскиванием, а теперь кое-что умею.
30. WKBAPKA 214 31.08.09 19:29 Сейчас в теме
(29): ага, это верно. но все таки, дело не в самом рабочем столе, а технологии. это дает возможность создавать не страндартные меню. и это плюс, как поется в песне :)
32. Ish_2 1104 31.08.09 21:09 Сейчас в теме
(29) , (31) Согласен с обоими. Новыми знаниями и навыками и полезны такие обсуждения.
31. WKBAPKA 214 31.08.09 19:32 Сейчас в теме
да и самое главное во всем этом, это не стандартные решения. т.е. заставляе взглянуть на многие проблемы с другой стороны.
иногда, то что говорят, нельзя сделать штатными средствами, оказывается можно, и работает достаточно эффективно
33. Ish_2 1104 31.08.09 21:11 Сейчас в теме
(31) А "подложку" я всё-таки прикину как сделать. Потом доложу.
34. Шёпот теней 1779 31.08.09 21:39 Сейчас в теме
(33) .. как версия для подложки - сделать как вебСайдеры - пилят риснок на необходимые части, вставляют - смотрится как единое целое ... у них даже и программки специальные есть по разбиению ... главное чтобы количество квадратиков было не запредельным ....

... вот ...

... всем удачи ...
35. Ish_2 1104 31.08.09 22:19 Сейчас в теме
(34) Почти ничего не понял.
Решение в лоб выглядит так :

Р - рисунок табл.документа накрывает все видимое поле табл.документа с типом "картинка" , куда загружается файл с расширением ".bmp" ("Подложка")
П - поля картинки с запрещением перетаскивания (т.е. запрещают скроллинг)

Схема расположения :

РП
П

Поверх рисунка "Р"(подложка) свободно создаются и перетаскиваются рисунки с типом "текст".
Пока так.
36. Ish_2 1104 31.08.09 22:22 Сейчас в теме
Виноват , пользователю недоступно тогда изменение фона рабочего стола.
37. Ish_2 1104 31.08.09 22:54 Сейчас в теме
Виноват 2.
Никаких проблем с изменением пользователем картинки фона рабочего стола ("подложки") не возникнет.
Организуется для пользователя диалог выбора файла ".bmp" и после :

МояКартинка = Новый Картинка(ИмяФайлаКартинки)
РисунокРабочегоСтола.Картинка = МояКартинка;
38. WKBAPKA 214 01.09.09 06:24 Сейчас в теме
я на выходных попробую, будет ли работать:) но иногда и на форме имеет смысл что либо подвигать )
39. Ish_2 1104 01.09.09 18:12 Сейчас в теме
(38) ,(34) Виноват 3.
А лучшим ,по-моему, решением будет использование свойства табл.документа
ФоноваяКартинка , куда и загружается файл .bmp , Например 800х600.
Тогда рисунок "Р" - просто не нужен.
Конечно ,нужно пробовать , чтобы сказать что-то более определенное , но
сам подход с использованием поля табл.документа и рисунков табл.документа (текст, картинка , лист Excel , фигуры и т.д) в качестве ярлыков гораздо перспективнее . Т.к. используется вся мощь платформы , то вид и функциональность "рабочего стола" могут быть просто недостижимыми
при другом подходе.
41. Широкий 692 09.10.09 11:17 Сейчас в теме
Блин .. а с утечкой памяти что нить придумали.
Я все уже перепробовал - лажа получается
49. venger 2121 13.10.09 21:27 Сейчас в теме
(41) Вот игруха, вроде как, без утечки: http://infostart.ru/public/58600/
Мои предположения в 47-м посте, похоже, оправдались...
50. WKBAPKA 214 13.10.09 22:19 Сейчас в теме
2(49): я еще раз настаиваю на том, что это баг платформы... если есть возможность создавать на лету объекты, то и Destructor этих объектов должен работать корректно... если есть утечка памяти, значит это баг в платформе!
55. venger 2121 14.10.09 11:21 Сейчас в теме
(50)-(54) +49, Похоже у нас получился разговор немого со слепым, никто не сомневался, что баг платформы, вопрос был в том, чтобы понять где он и обойти, сохранив возможность перетаскивания, что я Вам и продемонстрировал в игрухе тут: http://infostart.ru/public/58600/
А Вы вместо того, чтобы попытаться понять, что Вам говорит человек, а потом уже отвечать, твердите свое... Ну да ладно... Конечны Вы ребята самые умные, куда уж мне;)
56. WKBAPKA 214 14.10.09 11:26 Сейчас в теме
2(55): я пока свой рабочий стол не собирался делать, так что искать в чем баг платформы и как его обойти не очень хотелось... да и I_G_O_R продемонстрировал незатейливый код по созданию и удалению картинки в цикле. Как обойти этот баг? ;)
57. venger 2121 14.10.09 11:34 Сейчас в теме
(56) > Как обойти этот баг?
Так качните игруху по ссылке и гляньте предложенной мной способ обхода в действии, сделайте мне приятное;) Ну ё, я ж тоже человек, тоже хочу одобрения от коллег;) Способ прост, как пять копеек, кстати;)
58. Широкий 692 14.10.09 12:37 Сейчас в теме
Я тупо сделал своп картинок - т.е. не удаляю/создаю а просто меняю координаты у существующих картинок - все нормально.

(57) Обработку не качал - как у тебя сделано?
59. WKBAPKA 214 14.10.09 13:21 Сейчас в теме
2(58): нормальный вариант решения... прелесть
60. venger 2121 14.10.09 15:23 Сейчас в теме
62. WKBAPKA 214 14.10.09 19:26 Сейчас в теме
2(60): переходим на ты ;) ты же понимаешь, что при должном вниманию, каждому из нас пришла бы в голову такое же решение... мы же не дураки тут... но подчеркиваю, еще раз, при внимании, я лишь выложил пример и написал, дальше можно оптимизировать как хош ;)

Я персона Вип Вип, у меня есть джип джип, обгоняю, подрезаю, все сигналят, БИП, БИП ;)
64. venger 2121 14.10.09 19:39 Сейчас в теме
(62) > ты же понимаешь...

Полностью согласен, вообще, как-то нехорошо стартанули в общении, но думаю, что в дальнейшем, эта заминка замнется и забудется:)
42. WKBAPKA 214 09.10.09 19:23 Сейчас в теме
43. venger 2121 10.10.09 18:02 Сейчас в теме
44. WKBAPKA 214 10.10.09 20:53 Сейчас в теме
ну дык вопросы к 1С разработчикам ;)
45. Широкий 692 12.10.09 09:31 Сейчас в теме
46. WKBAPKA 214 12.10.09 10:35 Сейчас в теме
возможно это происходит из за объявленной глобальной переменной в модуле... в принципе, ее можно и не использовать...
47. venger 2121 12.10.09 12:05 Сейчас в теме
(46) А не из-за динамического создания-удаления временных картинок вокруг перетаскиваемой на форме, случаем?
48. WKBAPKA 214 12.10.09 13:46 Сейчас в теме
ну вы интересные ребята, честное слово... откуда я знаю, из-за чего. Я ведь оперирую языком платформы.
51. WKBAPKA 214 13.10.09 22:23 Сейчас в теме
типа сам себя похвалил :D

я этот пример написал за один час... есть у меня подозрение, что утечка памяти связана с тем, что есть глобальная переменная для временного хранения текущей позиции картинки, а может , связано с неоптимальной передаче параметров... это всего лишь пример... плж., оптимизируем и улучьшаем!
52. I_G_O_R 69 13.10.09 22:25 Сейчас в теме
поддерживаю WKBAPKA, в моей обработке тоже утечки,баг платформы однозначно
53. I_G_O_R 69 13.10.09 22:34 Сейчас в теме
вот этот код попробуйте у себя запустить:
Для к = 1 по 10000 Цикл
		
		Картинка = ЭлементыФормы.Добавить(Тип("ПолеКартинки"), "Картинка");
		ЭлементыФормы.Удалить(Картинка);
		
	КонецЦикла;


сразу видно утечки памяти, всех поздравляю с обнаружением очередного бага, не было бы инфостарта, может никогда бы не нашли :o
54. WKBAPKA 214 13.10.09 23:12 Сейчас в теме
2(53): + 1
иногда у меня создается впечатление, что некоторые путают языки высокого уровня с предметно-ориентированными конструкторами, и выдвигают к ним повышенные требования...
61. Ёпрст 1063 14.10.09 16:01 Сейчас в теме
Как то в снеговике через одно место это всё...
Вот пример таскания всего в клюшках + формекс:

Прикрепленные файлы:
move2.ert
63. WKBAPKA 214 14.10.09 19:28 Сейчас в теме
2(61): показать полочки, где лежат пирожки ? тут обсуждается реализация штатными средствам!
65. WKBAPKA 214 14.10.09 19:46 Сейчас в теме
2(65): ;) я вообще не конфликтый человек, просто иногда очень эмоциональный :(
66. lev6975 19.08.13 20:11 Сейчас в теме
По- ходу, в 1с перетаскивание картинки нереально стандартными событиями с получением координат дропа, всё перетаскивание ориентировано на табличные поля, колонки и прочее, пасьянс косынку написать нельзя, например:-)))))
ЗЫ:Штатными средствами 1С без аддонов и костылей
Оставьте свое сообщение