Имя: Пароль:
1C
1С v8
Рисование точек в 1С 8.3
0 CerbeRUS
 
06.10.14
10:27
Приветствую!
Необходим следующий функционал: пользователю дается картинка, он кликает по ней в нужных местах, там отрисовываются точки.
Потом это надо сохранить, но это уже дело второе.
Как это можно реализовать через 1С? Внешние компоненты не подойдут, т.к. будет делаться мобильное приложение.
1 SeiOkami
 
06.10.14
10:31
Подпишусь - самому примерно такое нужно
2 SeiOkami
 
06.10.14
10:33
Как-то задумывался, что может помочь географическая схема, но сильно не вникал
3 SeiOkami
 
06.10.14
10:34
И не знаю, поддерживает ли их мобильное приложение
4 Bober
 
06.10.14
10:34
(0) лучший вариант: решение через поле html.
5 Cube
 
06.10.14
10:35
Открывай картинку не в 1С, а в редакторе катринок. После закрытия - сохраняй измененную картинку в 1С...
6 Fish
 
06.10.14
10:35
(2) А географические схемы можно редактировать в режиме предприятия?
7 Cube
 
06.10.14
10:36
+(5) Смотри, как в документообороте реализовано редактирование файлов.
8 SeiOkami
 
06.10.14
10:37
(6), код
9 CerbeRUS
 
06.10.14
10:37
(4) Копал  сторону поля html.
На HTML5 есть отличный объект Canvas. В нем можно легко решить мою задачу. Вот только HTML5 в 1С не поддерживается. :-(
У вас есть какие-нибудь примеры такой работы с полем html?
10 Ёпрст
 
06.10.14
10:40
11 CerbeRUS
 
06.10.14
10:41
(5) В настольном приложении это еще можно элегантно реализовать, но вот в мобильном... Надо будет сделать переход во внешнее приложение и возврат назад. Пока не представляю как.
12 vde69
 
06.10.14
10:41
есть очень прикольная технология :)

ВБ приложения (ворд, ексель и прочиее где есть скрипты) поддерживают переназначение реакторов на код в 1с, тоесть можно открыть документ ворд а по событию в документе "OnClick" вызывать обработчик в 1с...

думаю по этой технологии можно реализовать :)
13 SeiOkami
 
06.10.14
10:58
(10), интересная вещь. При помощи неё и реализовать... Если ухитриться хорошенько
14 CerbeRUS
 
06.10.14
11:06
(10) Выглядит интересно, осталось только подзаработать местной валюты и скачать. :-)
Ну и проверить работоспособность на 8.3
15 SeiOkami
 
06.10.14
11:09
(14), если что - могу выслать с условием, что поделишься в конце результатами своих экспериментов =)
16 CerbeRUS
 
06.10.14
11:19
(15) См. почту ;-)
17 Cube
 
06.10.14
11:32
(10) Интересная вещь!))
18 oleg_km
 
06.10.14
11:59
Там вроде элемент формы - ПолеКартинки, а у него нет событий на клик. Варианта я вижу два: или IE, или ActiveX. У меня реализовано ActiveX на шарпе и функции рисования на дот.нете.
19 dergreche
 
06.10.14
12:36
(10) так все таки как реализовано через ПолеКартинка или html
20 CerbeRUS
 
06.10.14
12:41
(18) Мда, событие Нажатие есть, но координат там нет, конечно. Никто не знает, может есть какой-то способ получать координаты нажатия в 1С?
ActiveX - это хорошо, только в 8.2 и 8.3 он не поддерживается. :-(
21 CerbeRUS
 
06.10.14
12:42
(19) Поле картинка. Поэтому клик там не обрабатывается. :-(
22 SeiOkami
 
06.10.14
13:18
(21), с координатами первое что приходит в голову - табличный документ. Можно извратиться
23 CerbeRUS
 
06.10.14
13:26
(22) Т.е. под картинкой находится таб док, который ловит клик? Кажется, не взлетит.
24 SeiOkami
 
06.10.14
13:34
(23), есть вариант рисовать в таб.доке клеточками. Но это полный трындец
25 SeiOkami
 
06.10.14
13:34
(23), просто не знаю способов поймать координату клика на картинке без компонентов и прочих приблуд
26 SeiOkami
 
06.10.14
13:35
А суть вообще какая? Изначально имеется картинка, которую нужно изменять?
27 CerbeRUS
 
06.10.14
13:46
(24) Да, это последний вариант. Т.к. это реально "тушите свет".
28 Cube
 
06.10.14
13:49
Мухаха)) Я положил на форму обработки (10) две полосы регулирования: над картинкой и слева от картинки.
Прикрутил к ним код:

Процедура НарисоватьПользовательскуюТочку(Элемент)
    
    Точка(ПолосаРегулирования1, ПолосаРегулирования2, Цвет(0, 0, 0));
    Если Не Записать(РезультирующееИмяФайла) Тогда
        Сообщить(ОписаниеОшибки);
    КонецЕсли;
    ИмяФайлаОткрытие(ЭлементыФормы.РезультирующееИмяФайла);
    
КонецПроцедуры //НарисоватьПользовательскуюТочку()

Притормаживает, но рисует... :)
29 CerbeRUS
 
06.10.14
13:50
(26) Суть в том, что пользователю дается схема, на которой он должен поставить свои метки в виде, например кругов или крестиков.
Например, на схеме автомобиля пометить места, где есть вмятины, царапины...
30 Cube
 
06.10.14
13:50
(28) Можно к полосам прокрутки процедуру не прикручивать, а сделать кнопку и будет щастье)
31 Cube
 
06.10.14
13:52
+ (28) (30) А если кто вякнет на тему "не кошерно", то послать их фразой: скажи спасибо, что ты микроскопом вообще смог гвоздь забить!
32 SeiOkami
 
06.10.14
13:59
(28), тоже как вариант - сделать регуляторы и ползунки для указания координаты.

Пользователи двигают ползунками или стрелочками метку, которая перерисовывается при каждом изменении её положения, а затем нажимают "ок" .
Пользовательские координаты можно хранить в РС, если, конечно, пользователям нужно иметь каждому свои метки.

Сами метки с двоичными данными картинкой можно хранить в спец. справочнике, а в регистре указывать ссылку на справочник. При этом метки можно делать и общие и свои и просматривать чужие, если надо...

Но это я уже разошёлся, в конкретной задаче, возможно это все и не нужно)
33 CerbeRUS
 
06.10.14
14:00
(31) Да, круто!
Но мне не подходит, такого поля нет в мобильном клиенте.
34 SeiOkami
 
06.10.14
14:00
(33), поля картинки нет в могильном приложении?
35 CerbeRUS
 
06.10.14
14:01
(34) там нет полосы регулирования
36 CerbeRUS
 
06.10.14
14:03
(32) Не, это уж слишком. :-)
Все, что мне надо это открыть чистую схему, дать юзеру покликать там крестики, а потом получившуюся картинку сохранить в базу.
37 SeiOkami
 
06.10.14
14:04
Можно ли картинку вывести в таб.документ на задний слой так, чтобы поверх ней были ещё ячейки ?
38 SeiOkami
 
06.10.14
14:16
Ещё как вариант добавить кнопочки-стрелки с разными размерами шага. Не очень удобный, но как черный вариант
39 Torquader
 
06.10.14
14:30
Если мобильное приложение, то рисуйте страницу на html5 и не мучайте 1С. Явно страница будет лучше и стабильнее работать.
А в 1С можно ужа попасть на сервере через Web-сервис.
40 Bober
 
06.10.14
14:32
(9) поддерживается, нужно только в реестре изменить ключ.
http://msdn.microsoft.com/en-us/library/ie/ee330730(v=vs.85).aspx#browser_emulation
Программист всегда исправляет последнюю ошибку.