|   |   | 
| 
 | v7: Воронка продаж. Как нарисовать в 7-ке сам график в виде воронки? [Решено] | ☑ | ||
|---|---|---|---|---|
| 0
    
        DGorgoN 14.08.13✎ 13:10 | 
        Делаю воронку продаж. Про саму воронку подробно описано тут: http://infostart.ru/public/192683/
 Так как покупать ничего не хочу - хочу сделать сам. В 1-ке средств мало, придумал формировать html файл и открывать его браузером. Можно конечно свою ВК написать но это дольше. Если кто реализовывал воронку другими средствами просьба поделится мыслями/алгоритмами/обработками кому не жалко. | |||
| 1
    
        Ёпрст гуру 14.08.13✎ 13:12 | 
        берешь любой активикс, который реализует Это.. втыкаешь на форму, наслаждаешься..
 Ну или вебброузер на форме и там что угодно. | |||
| 2
    
        jarett 14.08.13✎ 13:15 | 
        прочитал сейчас и думаю - кому вообще может хоть иногда понадобиться такая воронка?     | |||
| 3
    
        DGorgoN 14.08.13✎ 13:15 | 
        (1) Любой это какой?     | |||
| 4
    
        DGorgoN 14.08.13✎ 13:16 | 
        (2) Для CRM нужна. Что бы в графическом виде увидеть эту якобы воронку.     | |||
| 5
    
        DGorgoN 14.08.13✎ 13:18 | 
        Можно конечно обычным графиком, но хотят именно воронку - якорь им в одно место..     | |||
| 6
    
        palpetrovich 14.08.13✎ 13:21 | 
        о, убивца 1с такое умеет: http://crm74.ru/uploads/qs2/voronka-sale.png     | |||
| 7
    
        ЧеловекДуши 14.08.13✎ 13:23 | 
        (6) Жесть :)     | |||
| 9
    
        DGorgoN 14.08.13✎ 13:24 | 
        (6) Да и 1с может по всякому. Именно в виде воронки приходится допиливать, но возможно же. Вопрос в том как допилить.     | |||
| 10
    
        Ёпрст гуру 14.08.13✎ 13:25 | 
        (3) ну,   от Codejock наверняка умеет..
 там этих диаграмм, как собак нерезанных. | |||
| 11
    
        Ёпрст гуру 14.08.13✎ 13:26 | ||||
| 12
    
        Ёпрст гуру 14.08.13✎ 13:27 | ||||
| 13
    
        Fragster модератор 14.08.13✎ 13:32 | 
        в 7.7 вроде тоже есть горизонтальная гистограмма
 http://wstaw.org/m/2013/08/14/0_1.png вопрос с представлением данных снимает. да даже и не горизонтальная тоже | |||
| 14
    
        Ёпрст гуру 14.08.13✎ 13:40 | 
        (13) только скриншот у тебя.. со снеговика :)     | |||
| 15
    
        Ёпрст гуру 14.08.13✎ 13:41 | 
        а в 8.3 ужо есть штатная "воронка продаж"     | |||
| 16
    
        Fragster модератор 14.08.13✎ 13:41 | 
        (14) и что, в клюшках нет горизонтальной гистограммы? да и горизонтальной оно не обязательно же должно быть...     | |||
| 17
    
        DGorgoN 14.08.13✎ 13:50 | 
        Накидаю пример, представлю для общественности.     | |||
| 18
    
        Славен 14.08.13✎ 13:52 | 
        из 1с в эксель делал     | |||
| 19
    
        NS 14.08.13✎ 13:54 | 
        (13) Есть и гистограммы и горизонтальная и вертикальная, и вообще экселевский объект на таблицу можно внедрить, и рисовать всё что возможно рисовать в экселе.     | |||
| 20
    
        DGorgoN 14.08.13✎ 13:55 | 
        Народ - 10-20 минут. Выставлю код без экселя.
 (19) эксель мани хочет. У меня конечно он куплен. А если вдруг лицензия закончится. | |||
| 21
    
        Fragster модератор 14.08.13✎ 13:58 | 
        да вообще не понимаю того, зачем оно должно быть именно в виде "воронок", чем обычный график с областями или гистограмма не устраивает     | |||
| 22
    
        DGorgoN 14.08.13✎ 13:59 | 
        (21) Политика данного вопроса очень простая: Я начальник ты дурак. Нужно головной конторе. Она оооочень большая. Надо и все.     | |||
| 23
    
        DGorgoN 14.08.13✎ 16:43 | 
        //******************************************* 
 Функция ВыборЦвета(чНомерЦвета) чНомерЦвета_ = чНомерЦвета; Если чНомерЦвета_ > 9 Тогда чНомерЦвета_ = 9; КонецЕсли; Если чНомерЦвета_ = 1 Тогда Возврат("#5D8AA8"); ИначеЕсли чНомерЦвета_ = 2 Тогда Возврат("#F0F8FF"); ИначеЕсли чНомерЦвета_ = 3 Тогда Возврат("#E32636"); ИначеЕсли чНомерЦвета_ = 4 Тогда Возврат("#EFDECD"); ИначеЕсли чНомерЦвета_ = 5 Тогда Возврат("#FFBF00"); ИначеЕсли чНомерЦвета_ = 6 Тогда Возврат("#8DB600"); ИначеЕсли чНомерЦвета_ = 7 Тогда Возврат("#3B444B"); ИначеЕсли чНомерЦвета_ = 8 Тогда Возврат("#007FFF"); ИначеЕсли чНомерЦвета_ = 9 Тогда Возврат("#FAEBD7"); Иначе Возврат("#EFDECD"); КонецЕсли; КонецФункции //******************************************* Процедура Сформировать() //Формирование исходных данных тзПереговоры = СоздатьОбъект("ТаблицаЗначений"); тзПереговоры.НоваяКолонка("Объект", "Справочник.CRMСтатусПереговоров"); тзПереговоры.НоваяКолонка("Значение", "Число", 16, 4); тзПереговоры.НоваяКолонка("Ширина", "Число", 16, 0); тзПереговоры.НоваяКолонка("Процент", "Число", 16, 2); тзПереговоры.Сортировать("Объект"); CRMСтатусПереговоров = СоздатьОбъект("Справочник.CRMСтатусПереговоров"); CRMСтатусПереговоров.ВыбратьЭлементы(); Пока CRMСтатусПереговоров.ПолучитьЭлемент()=1 Цикл Если CRMСтатусПереговоров.ПометкаУдаления()=0 Тогда тзПереговоры.НоваяСтрока(); тзПереговоры.Объект = CRMСтатусПереговоров.ТекущийЭлемент(); КонецЕсли; КонецЦикла; чИтого = 0; CRMПереговоры = СоздатьОбъект("Документ.CRMПереговоры"); CRMПереговоры.ВыбратьДокументы(НачДата, КонДата); Пока CRMПереговоры.ПолучитьДокумент() = 1 Цикл CRMПереговоры.ВыбратьСтроки(); Пока CRMПереговоры.ПолучитьСтроку() = 1 Цикл чПоз = 0; Если тзПереговоры.НайтиЗначение(CRMПереговоры.СтатусПереговоров, чПоз, "Объект") = 1 Тогда тзПереговоры.УстановитьЗначение(чПоз, "Значение", тзПереговоры.ПолучитьЗначение(чПоз, "Значение") + 1); чИтого = чИтого + 1; КонецЕсли; КонецЦикла; КонецЦикла; Если чИтого = 0 Тогда Сообщить("Нет статусов за данный период"); Возврат; КонецЕсли; //Построение воронки чСередина = 200; чСмещениеВысота = 50; чШирина = чСередина / чИтого; Процент = 100 / чИтого; тзПереговоры.ВыбратьСтроки(); Пока тзПереговоры.ПолучитьСтроку() = 1 Цикл тзПереговоры.Процент = Процент * тзПереговоры.Значение; тзПереговоры.Ширина = Окр(чШирина * тзПереговоры.Значение, 0); КонецЦикла; Текст_инет = СоздатьОбъект("Текст"); Текст_инет.ДобавитьСтроку("<html><head><title>canvasExample</title></head><body><canvas height='800' width='600' id='example'>Обновите браузер</canvas><script>"); Текст_инет.ДобавитьСтроку("var example = document.getElementById('example'); var ctx = example.getContext('2d'); example.height = 800; example.width = 600;"); ПредШирина = 0; чНом = 0; чСледВысота = 0; тзПереговоры.ВыбратьСтроки(); Пока тзПереговоры.ПолучитьСтроку() = 1 Цикл чНом = чНом + 1; чСледВысота = чСледВысота + чСмещениеВысота; Если чНом = 1 Тогда ПредШирина = тзПереговоры.Ширина; КонецЕсли; Текст_инет.ДобавитьСтроку("ctx.fillStyle = '"+ВыборЦвета(чНом)+"';"); //Текст_инет.ДобавитьСтроку("ctx.strokeStyle = '"+ВыборЦвета(чНом)+"';"); //Если нужно разукрасить линии КоординатаНачТочкиХ1 = чСередина - ПредШирина; КоординатаКонТочкиХ1 = чСередина + ПредШирина; КоординатаНачТочкиХ2 = чСередина - тзПереговоры.Ширина; КоординатаКонТочкиХ2 = чСередина + тзПереговоры.Ширина; КоординатаНачТочкиУ = чСледВысота; КоординатаКонТочкиУ = чСледВысота + чСмещениеВысота; Текст_инет.ДобавитьСтроку("ctx.beginPath();"); Текст_инет.ДобавитьСтроку("ctx.moveTo("+СокрЛП(КоординатаНачТочкиХ1)+", "+СокрЛП(КоординатаНачТочкиУ)+");"); //перемешаем в начальную точку Текст_инет.ДобавитьСтроку("ctx.lineTo("+СокрЛП(КоординатаКонТочкиХ1)+", "+СокрЛП(КоординатаНачТочкиУ)+");"); Текст_инет.ДобавитьСтроку("ctx.lineTo("+СокрЛП(КоординатаКонТочкиХ2)+", "+СокрЛП(КоординатаКонТочкиУ)+");"); Текст_инет.ДобавитьСтроку("ctx.lineTo("+СокрЛП(КоординатаНачТочкиХ2)+", "+СокрЛП(КоординатаКонТочкиУ)+");"); Текст_инет.ДобавитьСтроку("ctx.lineTo("+СокрЛП(КоординатаНачТочкиХ1)+", "+СокрЛП(КоординатаНачТочкиУ)+");"); Текст_инет.ДобавитьСтроку("ctx.fill();"); Текст_инет.ДобавитьСтроку("ctx.stroke();"); ТекстЛегенды = СокрЛП(тзПереговоры.Объект) + ": " + СокрЛП(тзПереговоры.Значение) + " (" + СокрЛП(тзПереговоры.Процент) + ") %"; Текст_инет.ДобавитьСтроку("ctx.fillStyle = '#000000';"); Текст_инет.ДобавитьСтроку("ctx.strokeStyle = '#000000';"); Текст_инет.ДобавитьСтроку("ctx.font = 'bold 15px sans-serif';"); Текст_инет.ДобавитьСтроку("ctx.strokeText('"+ТекстЛегенды+"', 400, "+СокрЛП(КоординатаКонТочкиУ-25)+");"); ПредШирина = тзПереговоры.Ширина; КонецЦикла; Текст_инет.ДобавитьСтроку("</script></body></html>"); Текст_инет.КодоваяСтраница(0); Текст_инет.Записать("c:\1\voronka.html"); ЗапуститьПриложение("c:\1\voronka.html"); КонецПроцедуры | |||
| 24
    
        DGorgoN 14.08.13✎ 16:44 | 
        Вначале заполнение данных, потом заполнение HTML (Нужен браузер с поддержкой HTML5).     | |||
| 25
    
        NS 14.08.13✎ 16:46 | 
        (20) АктивX вроде бесплатен.     | |||
| 26
    
        Fragster модератор 14.08.13✎ 17:06 | 
        (25) нет, бесплатен ADO-ODBC драйвер     | |||
| 27
    
        Ёпрст гуру 14.08.13✎ 17:07 | 
        (23) нафига через запустить приложение ?
 Проще в самой форме показать. | |||
| 28
    
        acsent 14.08.13✎ 17:08 | 
        Можно не воронкой, а лесенкой нарисовать.
 Хотя можно и воронкой | |||
| 29
    
        acsent 14.08.13✎ 17:10 | ||||
| 30
    
        DGorgoN 14.08.13✎ 17:21 | 
        (27) Этот вопрос уже касателен допиливания под свои нужды. Тут ценен сам код и сам алгоритм.     | |||
| 31
    
        DGorgoN 14.08.13✎ 17:23 | 
        (28) Некрасиво ))) Вон глянь мою: http://vfl.ru/fotos/0891cb152891007.html     | |||
| 32
    
        DGorgoN 14.08.13✎ 17:24 | 
        Вообще "красяво"     | |||
| 33
    
        acsent 14.08.13✎ 17:25 | 
        (32) какая то странная у тебя воронка     | |||
| 34
    
        Попытка1С 14.08.13✎ 17:27 | 
        Всегда было интересно, кому нафиг эти графики нужны.
 Ну вот гистограмму еще как-то могу понять, но воронка и прочее.. имхо все излишества. | |||
| 35
    
        КонецЦикла 14.08.13✎ 17:58 | 
        (31) Это шприц сложной формы
 (34) Визуализация помогает тупым топ-манагерам. Гистограмму тут они не осилят | |||
| 36
    
        Fragster модератор 14.08.13✎ 18:00 | 
        (35) т.е. (13) слишком сложно?     | |||
| 37
    
        КонецЦикла 14.08.13✎ 18:02 | 
        (36) Мозг должен достроить зеркальное отражение и скруглить квадратики :)     | |||
| 38
    
        DGorgoN 14.08.13✎ 18:12 | 
        (33) Ну какая есть, такая есть )))) Это не на всех данных - просто тест.     | |||
| 39
    
        DGorgoN 14.08.13✎ 18:20 | 
        (36) А зачем?     | |||
| 40
    
        DGorgoN 14.08.13✎ 18:20 | 
        Хотят же воронку.     | |||
| 41
    
        Злопчинский 15.08.13✎ 00:27 | 
        вот графика всякая штатно в клюшках.
 http://infostart.ru/public/71675/ вообще не вижу проблемы нарисовать воронку на обычном отчете комбинайие клеточек... | |||
| 42
    
        DGorgoN 15.08.13✎ 09:08 | 
        (41) Она у тебя секциями будет.     | |||
| 43
    
        Злопчинский 15.08.13✎ 11:35 | 
        (42) ну и что? выглядит так как надо пользователю..     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |