Имя: Пароль:
1C
1С v8
Рисование в мобильном приложении
0 deminded
 
31.03.16
09:55
Коллеги, никто не решал задачу - в мобильном приложении 1С сделать возможность для клиента в каком-то поле "нарисовать" подпись (пальцем или стилусом)? Activex  туда не встроишь, у 1С никакого объекта для рисования нативного нет...
1 Живой Ископаемый
 
31.03.16
09:57
И еще, если автор не возражает - вдогонку вопрос - а можно в мобильном приложении скачать с ХТТП мп3-файл, положить его локально на устройство и проиграть. Можно такое проделать?
Если бы это была ПС-версия, то я бы просто запустилприложение. а в мобильной как?
2 kittystark
 
31.03.16
10:27
html = "
|<html>
|    <head>
|        <title>sign</title>
|        <script type='text/javascript'>
|            window.onload = function(){
|                var context, canvas, drawLine, mouseIsPressed, x, y, prevX, prevY, borderWidth;
|
|                canvas = document.getElementById('canvas'); //retrieve canvas from dom by id that we have assigned
|                context = canvas.getContext('2d'); //retrieve context
|                borderWidth = 5; //let border width will be 5 pixel
|                canvas.style.border = borderWidth + ' px solid #00F000'; // 5 pixel width solid green border
|
|                drawLine = function(x1, y1, x2, y2){
|                    context.beginPath(); //create a path
|                    context.moveTo(x1 - borderWidth, y1 - borderWidth); //move to
|                    context.lineTo(x2 - borderWidth, y2 - borderWidth); //draw a line
|                    context.stroke(); // filled with 'ink'
|                    context.closePath(); //close path
|                };
|
|                canvas.onmousedown = function(evt){
|                    mouseIsPressed = true; //save that mouse is pressed
|                                        drawLine(evt.offsetX, evt.offsetY, evt.offsetX + 1, evt.offsetY + + 1) //draw short line that looks like a dot
|                };
|
|                    canvas.onmouseup = function(evt){
|                    mouseIsPressed = false; //save that mouse is released
|                };
|
|                canvas.onmousemove = function(evt){
|                    x = evt.offsetX; y = evt.offsetY; //get current X and Y
|                    if(mouseIsPressed){
|                        drawLine(prevX, prevY, x, y);  //draw a line on canvas from previous to current point.
|                    }
|                    prevX = x; prevY = y; //save previous x and y in both case, weather mouse is pressed or not
|                };
|
|            }
|        </script>
|    <head>
|    <body>
|       <canvas width='1090' height='580' id='canvas'></canvas>
|    </body>
|</html>";
3 kittystark
 
31.03.16
10:35
Есть варианты скриптов и более красивые по наглядности изображения, но даже этот особо не перегруженный вычислениями, у меня на Galaxy Tab 2.0 дает угловатые изображения. Этот же код помещенный в отдельный html файл и исполняемый из под браузера дает гораздо более плавные рисунки. Вывод - мобильная платформа нещадно тормозит на таких вещах.
4 UnknownNick
 
31.03.16
10:37
кросс платформы синоним тормоза.
5 kittystark
 
31.03.16
10:38
у Ditrix'а есть решение через юзанье стороннего приложения, на сайте курсы по 1с лежало соответствующее видео
6 deminded
 
31.03.16
11:19
(5) Спасибо! Нашел видео, пойду смотреть.
7 Живой Ископаемый
 
31.03.16
11:24
я тоже хочу найти видео.
8 deminded
 
31.03.16
11:52
9 deminded
 
31.03.16
11:53
10 Живой Ископаемый
 
31.03.16
11:59
сенкс
11 DitriX
 
01.04.16
13:03
Вот только без этой утилиты - все равно ничего не выйдет :)
А тут так раз запись на курс открыта. Совпадение? Не думаю! :)
12 deminded
 
01.04.16
13:25
(11) Ну да, редкостная удача =) Осталось только согласовать бюджет!
Закон Брукера: Даже маленькая практика стоит большой теории.