OLAP-отчет ActiveX: компонента v2.4.1.241 + ABC-анализ по любым измерениям

Публикация № 64385

Разработка - Разработка внешних компонент

Компонента предназначена для построения OLAP-отчетов и ABC-анализа.

OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки информации, включающая составление и динамическую публикацию отчётов и документов.

Используется аналитиками для быстрой обработки сложных запросов к базе данных, учета и анализа разнородных данных с целью отыскания аномалий и зависимостей (data mining, когда не всегда понятно, что именно нужно анализировать и есть ли хоть какая-то взаимосвязь между анализируемыми данными), подготовки бизнес-отчетов по продажам, маркетингу

Стратегическая цель развития компоненты - реализация наиболее полного спектра алгоритмов и способов отображения информации для анализа и прогнозирования:
1. Карты Кохонена
2. Анализа зависимостей и ассоциаций
3. Дерева решений (для анализа отклика клиентов)
4. ABC-, XYZ-, RFM- алгоритмы анализа (ABC реализован в версии 2.4.1.241)
5. и т.д.

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

Бизнес в России достоин большего! Развивайтесь вместе с OLAP ActiveX!

Основные возможности OLAP-отчета
1. Удобное отображение данных
2. Высокая скорость получения данных в любом разрезе
3. Любая глубина вложенности группировок по строкам/колонкам
4. Фильтрация данных во время работы с кубом "на лету"
5. Простое интерактивное добавление формул
6. Разные типы агрегирования данных: суммирование, количество, среднее и т.д.
7. Программное управление внешним видом куба

8. Возможность работы с иерархическими измерениями

9. ABC-анализ по любым измерениям и показателям


Преимущества OLAP-технологий

1. Отчет не нужно переделывать для изменения группировок по строкам/колонкам.

2. Скорость и стоимость создания отчета OLAP намного ниже: достаточно построить грамотную выборку данных, все остальные задачи OLAP-технология возьмет на себя.

3. Скорость доработки отчетов OLAP выше до 60 % по сравнению с другими системами отчетности

4. OLAP-отчет можно сохранить - загрузка сохраненного отчета происходит очень быстро!

5. Один OLAP-отчет эквивалентен целому набору простых аналитических отчетов


Недостатки OLAP-технологий

1. OLAP не ориентирован на получение форм отчетности c произвольным дизайном - все OLAP-отчеты имеют одинаковый вид сводных таблиц
2. Некоторые пользователи визуально плохо воспринимают сводные таблицы


Преимущество данной разработки перед подобными:

1. Наличие удобного инсталлятора: он сам зарегистрирует все необходимое - для Вашей комфортной работы.

2. Наличие документции как для разработчиков, так и для пользователей, контроль версионности.

3. Функции управления внешним видом куба (которых в других разработках практически нет) и поддержка вывода иерархических измерений.

4. Встроенный ABC-анализ


Почему не компоновка данных (актуально для 1С 8.x)

OLAP и "Компоновка отчетов 1C 8.x" - похожи, но это не одно и то-же.

1) Скорость изменения "точки зрения" на данные в OLAP намного выше, а следовательно - быстрее работает Ваш бизнес, быстрее можно принять управленческие решения (дополнительные сведения здесь http://www.cfin.ru/itm/olap/1c.shtml).

2) В OLAP-отчете можно в реальном режиме времени на каждый показатель вывести дополнительные данные - % вхождения, рейтинг, и т.д. Очень удобно!

 

Справочные материалы

Подробную информацию о возможностях компоненты вы можете получить из  файлов помощи (формат PDF, для просмотра рекомендую использовать Foxit Reader).

Примеры использования компоненты имеются для 1С 8.1 и для 1С 7.7.


Продукты аналогичной направленности:
quick
- OLAP отчет в 1С7.7 одной строчкой кода! (без MSOffice)

Ukrandruha - OLAP

JohnyDeath - OLAP Анализ счёта

http://sourceforge.net/

Галактика BI


Лидеры российского рынка OLAP-решений для 1С (14.09.2009):

Deductor Academic

BIX BI (Business Intelligence)

«ИНТАЛЕВ: Корпоративная аналитика»

С.М.А.Р.Т.


Благодарность за дельные советы, предложения и активное участие:

and-blag

kittystark

JohnyDeath

 

Установка

Установку компоненты необходимо производить с правами администратора. Если после установки Вам предлагают перезапустить ОС - это означает, что компоненту предыдущей версии во время установки кто-то использовал, и установка будет завершена после перезапуска (либо нужно закрыть программы, использующие компоненту, и заново запустить инсталлятор)



Используй лучшее и проверенное:) 


С использованием компоненты реализованы отчеты:

1. "OLAP-отчет ActiveX: Анализ данных 1С 7.7 ТиС"

2. "OLAP-отчет ActiveX: Сравнительный анализ продаж для 1С 8.1 УТ"

 

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

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

Наименование Файл Версия Размер
PivotCubeAX v2.4.1.241.zip

.zip 7,64Mb
22.02.12
387
.zip 7,64Mb 387 Скачать
PivotCubeAX v2.4.1.52.zip (предыдущая версия компоненты)

.zip 6,79Mb
22.02.12
93
.zip 6,79Mb 93 Скачать
PivotCubeAX_v_2_4_1.zip (предыдущая версия компоненты)

.zip 3,24Mb
22.02.12
33
.zip 3,24Mb 33 Скачать
PivotCubeAX v2.4.zip (предыдущая версия компоненты)

.zip 9,44Mb
22.02.12
34
.zip 9,44Mb 34 Скачать
FULL OLAP v2.3.1.zip (предыдущая версия компоненты)

.zip 6,80Mb
22.02.12
81
.zip 6,80Mb 81 Скачать
Видеопрезентация "Общее представление об OLAP-кубе.zip" (для PivotCubeAX 2.4.0.1)

.zip 2,33Mb
22.02.12
70
.zip 2,33Mb 70 Скачать
Видеопрезентация "Работа с измерениями в OLAP-кубе.zip" (для PivotCubeAX 2.4.0.1)

.zip 2,34Mb
22.02.12
59
.zip 2,34Mb 59 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. cleaner_it 220 22.01.10 10:34 Сейчас в теме
Работа компоненты тестировалась на Win2003 и Win7. Для Win7/Win2003 цветовые схемы различаются. На рисунке цветовая схема Win7, для Win2003 она более темная.
2. JohnyDeath 299 22.01.10 11:01 Сейчас в теме
А зачем вообще зависимость от BDE?
4. cleaner_it 220 22.01.10 11:23 Сейчас в теме
(2) Насчет BDE смотрим руководство OLAP. В дальнейшем конечно планирую отказаться от него:)
(3) Напишу, просто времени не хватает
21. JohnyDeath 299 22.01.10 15:06 Сейчас в теме
(4)
Насчет BDE смотрим руководство OLAP. В дальнейшем конечно планирую отказаться от него

Что-то не увидел. Не туда смотрю?
Авансом +. Но для полного счастья еще нужно сделать очень много. Отказ от BDE - это первое и самое важное (ИМХО)
22. cleaner_it 220 22.01.10 15:12 Сейчас в теме
(21):

Метод CreateFactTable
Значение параметра ttParadox

Для работы с данным типом таблицы требуется установленный BDE
23. JohnyDeath 299 22.01.10 16:15 Сейчас в теме
(22) Спасибо, приблизительно понял.

А в сторону sqlite не хочешь посмотреть? Проект открытый. Очень шустрая встраеваемая БД, которая может хранится в памяти, что должно дать прирост в скорости чтения данных по сравнению с сохранением и чтением данных на локальный диск в базу ttParadox

Страничка враперов. На чём, кстати, писал свой проект?
24. cleaner_it 220 22.01.10 16:28 Сейчас в теме
(23) Можно попробовать sqlite. Проект писал на Delphi 6
25. JohnyDeath 299 22.01.10 16:32 Сейчас в теме
(24) тогда попробуй это http://www.yunqa.de/delphi/doku.php/products/sqlite3/index (вроде как больше всего советуют)
3. JohnyDeath 299 22.01.10 11:05 Сейчас в теме
Ну и заодно бы написал чем твоя разработка лучше/хуже разработок Ukrandruha и quick.
5. cleaner_it 220 22.01.10 11:58 Сейчас в теме
Открыл доступ к файлам для пользователей Инфостарт (изначально был только для разработчиков)
6. cleaner_it 220 22.01.10 12:07 Сейчас в теме
Нашел неточность в документации - метод AddDimension, параметр SizeData - это длина значения измерения, а не наименования. В следующей версии в документацию будет внесены соответствующие поправки
7. PowerBoy 3009 22.01.10 12:20 Сейчас в теме
Регистры 1С + СКД = OLAP !!!
Не вижу потребности в данной компоненте, разве что для 7.7
9. cleaner_it 220 22.01.10 13:44 Сейчас в теме
Выложил отличия от других разработок подобной направленности "Отличия от других разработок.pdf"

(7) Каждому свое, ИМХО СКД и OLAP решают разные задачи. Скорость изменения внешнего вида OLAP выше. Присутствует интерактивное добавление формул в куб, а также вывод НЕ ТОЛЬКО значения, но и при надобности процентов на колонку/строку, ее ранга и прочих вкусностей. А как-же возможность быстрого ABC-анализа (и такие вещи OLAP способен решать за считанные секунды)? А в СКД - возможность создания форматированного макета и вывода графиков наравне с таблицами. В любом случае мой опыт подсказывает, что для аналитиков OLAP намного удобнее
8. Gamm 13 22.01.10 13:42 Сейчас в теме
PowerBoy 22.01.2010 12:20:31
Регистры 1С + СКД = OLAP !!!
Не вижу потребности в данной компоненте, разве что для 7.7

Всё таки для перестройки изменения порядка аналитик в отчете СКД придется снова ждать получения данных, а плюс OLAP в более быстром получении результата.
10. tango 490 22.01.10 14:05 Сейчас в теме
а почему перем - экспорт?
Перем Куб Экспорт;
11. tango 490 22.01.10 14:07 Сейчас в теме
а какого-нибудь серверного варианта нет, чтоб на каждой юзерской машине не ставить?
15. cleaner_it 220 22.01.10 14:33 Сейчас в теме
(11) подумаю, вроде как имеется такая возможность - запуск ActiveX с удаленной машины. В HTML ведь используют ActiveX, и для этого его не требуется устанавливать
16. tango 490 22.01.10 14:50 Сейчас в теме
(15) прокомменть, пожалуйста, чего это я скачал у производителя?
Прикрепленные файлы:
17. cleaner_it 220 22.01.10 14:55 Сейчас в теме
(16) ActiveX компоненту, которую предлагает использовать PivotCube (они же ее разработчики). Куб к сожалению заполняется только SQL-запросами, заполнить ее из 1С будет более чем затруднительно.
12. tango 490 22.01.10 14:08 Сейчас в теме
13. tango 490 22.01.10 14:13 Сейчас в теме
ну, вот, блин, похвалил...
{Форма.Форма(22)}: Ошибка при вызове метода контекста (AddDimension): Произошла исключительная ситуация (PivotCubeAXLibraryCleaner.OLAP): Table: Cannot perform this operation on an open dataset
Куб.AddDimension("Измерение1","Измерение 1",101);
по причине:
Произошла исключительная ситуация (PivotCubeAXLibraryCleaner.OLAP): Table: Cannot perform this operation on an open dataset
Прикрепленные файлы:
14. cleaner_it 220 22.01.10 14:29 Сейчас в теме
(13) это происходит, когда куб построен, и его пытаются создать еще раз. для исправления этой ситуации я сделал метод CubeDeactivation, попробуй применить его перед созданием измерений, я его в тестовой обработке не применяю
18. cleaner_it 220 22.01.10 14:57 Сейчас в теме
Собственно говоря, моя компонента ActiveX создана на основе PivotCubeVCL, а не PivotCubeX
19. Saint 16 22.01.10 14:58 Сейчас в теме
Поправьте меня если я не прав, но разве сводные таблицы в 1С выполняют не аналогичную задачу?
20. cleaner_it 220 22.01.10 15:01 Сейчас в теме
(19) Не совсем. Да, внешний вид похож, но возможности совершенно другие, у OLAP их больше на порядок
26. cleaner_it 220 27.01.10 15:36 Сейчас в теме
Перед выходными выложу новую версию (возможно, переведенную на SQLite). Надеюсь, будут закончены практически все заявленные в предыдущей версии функции: загрузка/выгрузка/сортировка/группировка "parent-child"
29. cleaner_it 220 14.02.10 07:42 Сейчас в теме
(26) Никак не могу собраться дописать руководство:) Уже много чего сделал, а выложить без руководства не могу:(

В частности, реализована прозрачная работа с иерархическими измерениями (чего нет ни в одной из подобных разработок, где используются только линейные списки), добавлены и протестированы примеры работы с HTML (в том числе с автоматической установкой ActiveX на ПК клиента), 7.7 (с привязкой к краям формы), 8.2 (управляемые формы + web-сервер).

P.S.: На SQLite перевод будет не скоро, сначала надо в нем хорошенько разобраться (он однонаправленный, и не могу пока найти компонент для визуального просмотра таблиц БД SQLite на форме компоненты)
27. wolfsoft 2423 13.02.10 11:43 Сейчас в теме
Я правильно понимаю, что компонента PivotCubeVCL - платный компонент?
28. cleaner_it 220 14.02.10 06:05 Сейчас в теме
Да, он платный. Но никаких ограничений, кроме всплывающего окошка о необходимости регистрации (один раз, сразу после построения куба) нет, функционал полный
30. cleaner_it 220 03.04.10 04:19 Сейчас в теме
Выпускаю в свет новую версию компоненты - 2.3.1 (предыдущая была - 2.2.0.2).
Обновлены: документация, компонента.
Изменен список файлов для скачивания.

PS: Большая часть хотелок, которые я хотел реализовать - реализованы, удобство использования увеличено в разы:)
31. cleaner_it 220 21.04.10 11:18 Сейчас в теме
Инфостартовцы! Вы хоть напишите, в каких программах пригодился вам OLAP. Интересно:)
32. cleaner_it 220 13.05.10 06:53 Сейчас в теме
Накладочка вышла. В файле "FULL OLAP v2.3.1.zip" файл с руководством был выложен неправильный. Сегодня исправлю
33. brr 179 13.05.10 17:44 Сейчас в теме
А с печатью у нас как обстоят дела?
34. cleaner_it 220 14.05.10 10:56 Сейчас в теме
(33) Хотите - из Excel печатайте, хотите - используйте стандартную печать (в руководстве написано только про стандартную печать).

PS: "FULL OLAP v2.3.1.zip" я перевыложил
35. kittystark 15 14.05.10 18:31 Сейчас в теме
класс !!!
но есть пожелания/замечания
1. под 7.7 ничего не происходит при вызове Куб.CollapseAll(1,1) или Куб.ExpandAll(1,1)
(была создана иерархия по справочнику номенклатуры)

2. хотелось бы чтобы были реализованы "оригинальные zCube.dll" методы, типа TopPanelVisible(...), MapSave(...), MapLoad(...), MapSwap() и др. - подсмотрены в оригинальном HTML примере, а лучше сразу "сделать мост" ко всем оригинальным методам/свойствам

3. при использовании "оригинальной" компоненты ("PivotCubeX") в HTА, также как и при использовании этой разработки под 7.7, при нажатии маленькой кнопочки "стрелки вверх-вниз" в области "Измерения"и в области "Колонки" - "мелькают" и затем пропадают все отображаемые данные (как будто бы куб пустой; в области строк при щелчке на такой же копке - все нормально), перерисовка производится при клике мышью в области данных/при прокрутке мышинного колеса/при щелчке на соседней кнопке (как квадратик, аля кнопка "развернуть"), можно как-то вылечить ?

4. чего-то не пойму как должен график выводиться

5. можно ли как-то программно из 4-х вкладок оставлять только 1-ю, имхо, пользователям последние 3 могут быть не нужны, да простит меня автор за "наезд" на вкладку "о программе", а то как-то не прикалывает формировать куб и сохранять его с помощью этой компоненты, а потом работать с ним через "оригинальную" компоненту

6. новую версию архива еще не смотрел, но в руководстве.pdf методы AppendRecordHierarchical(), SetValueHierarchical(), PostRecordHierarchical() было бы не плохо подробно описать
36. cleaner_it 220 17.05.10 06:41 Сейчас в теме
(35) спасибо:) а где плюсик?

1. Эти методы работают только для линейных списков, для иерархических списков этот метод не работает (и пока не знаю, как он будет работать при смешанном режиме отображения "линейные+иерархические списки").

2.
а) Собственно, компонента и является тем самым "мостом", а просто говоря - оберткой.
б) У оригинальной компоненты некоторые методы дублируются - для куба и для карты клеток (я всегда реализовываю метод куба), при этом наименования куба и карты клеток могут отличаться
в) "оригинальный HTML пример" может быть только у PivotCubeX, я использую PivotCube VCL, наименования методов у них немного различаются. Если найду аналоги методов, указанных вами, то добавлю их

3) Эта кнопочка называется "Отображение/скрытие фильтра". Воспроизвести ситуацию, подобную вашей, у меня не получилось. Какую версию компоненты вы используете? Если не трудно - пришлите выгрузку куба. И описание системы тоже - терминал или нет, сколько памяти, и т.д.

4) На текущий момент нужно заново выбрать значения "Serie type", "pvcRows", "pvcMeasures", потом нажать кнопку "Обновить график". В следующем релизе работа с графиком будет упрощена и более прозрачна

5) А как-же "О программе":( Я так старался... Впрочем, подумаю

6) Тогда стоит посмотреть новую версию: методы AppendRecordHierarchical(), SetValueHierarchical(), PostRecordHierarchical() не нужны
37. kittystark 15 17.05.10 12:14 Сейчас в теме
а, ну да... , плюсанул :D

1. сорри, оказывается методы CollapseAll() и ExpandAll() работают!, и действительно независимо от иерархичности измерений, а работают они если в области строк или колонок находится 2 измерения и больше (даже для иерархических измерений)
видимо для раскрытия иерархий что-то другое нужно вызывать (через Object Browser насчитал у zCube.IMap по 6 методов Expand/Collapse, но вряд ли они помогут)

2. пункт 2.б) пока для меня большей ясности не внес, поясню чего хотелось бы:
- ночью пересчитали и заполнили куб данными, сохранили на диск
- пользователи днем подгружают рассчитанный куб с диска (методы SaveToCube() и LoadFromCube() c этими задачами прекрасно справляются, хотя и "сбрасывают параметры просмотра")
- но вместо жестко предопределенного в коде порядка вызова методов PutToColumn()/PutToRow(), при загрузке воспользоваться выбором одной из ранее сохраненных карт (файлики *.zcd), будь то дефолтная "настройка" или один из "более других" вариантов срезов куба, сохраненных пользователем (со своими любимыми измерениями/фильтрами/перегруппировками иерархий и т.п. - типа "отчет" такой-то)

у PivotCubeX есть методы MapSave(), MapLoad() как это сделать в твоей компоненте - поясни плиз...

3. vista home ed sp1, локально не в терминале, 2Гб оперативки, oleview.exe выдал:
PivotCubeX control: version = 3.37; TypeLib: 3.25 = PivotCubeXLib library
OLAP Active X 2.2.0.2 [cleaner]: version 2.2; TypeLib: 2.2
приаттаченная выгрузка для PivotCubeX - сформирована HTML-кой из C:\Program Files\PivotCubeX\Data\cubedemo.mdb, по кнопкам Activate/Save cube

...

6. только что качнул последний полный архив, в "примере программного кода.pdf" в процедуре ЗаполнитьИерархическуюСтруктуру эти методы присутствуют...
Прикрепленные файлы:
export_sample.cub
38. cleaner_it 220 18.05.10 10:07 Сейчас в теме
39. kittystark 15 18.05.10 18:29 Сейчас в теме
допустим есть "предопределенные" измерения Месяц, Квартал, Сезон с устоявшимся общепринятым принципом очередности элементов этих измерений (Янв .. Дек, Iкв .. IVкв и т.п.)

можно ли как-то до/после/во время заполнения куба данными задать ID элемента для таких измерений? а то получающаяся очередность при сортировке измерения по алфавиту не подходит, а сортировка по ключу - в итоге совпадает с сортировкой по алфавиту...

вроде бы OnCustomWrapData в access-примере для PivotCubeX решает эту проблему, но как добраться до этого события в 7.7 - пока для меня темный лес

или для этого нужно вводить иерархические измерения, без подчинений как таковых ?
и как это скажется на производительности?
40. cleaner_it 220 19.05.10 06:45 Сейчас в теме
(39) ид-шник назначать можно, но я обошелся тем, что перед наименованием ставлю номера, например:
01 - Январь
...
12 - Декабрь
41. kittystark 15 19.05.10 07:14 Сейчас в теме
(40) пример кода с назначением ID, пожалуйста, в студию

42. cleaner_it 220 19.05.10 07:55 Сейчас в теме
выложу в следующем релизе :)
43. kittystark 15 19.05.10 09:49 Сейчас в теме
обнаружилась фича: после создания формы, но ДО загрузки куба, панели измерений и колонок можно таскать мышью и они способны перескакивать на правый край

после добавления измерений, даже без заполнения, такого не происходит
44. cleaner_it 220 19.05.10 10:36 Сейчас в теме
Я знаю. Единственный способ обойти - блокировать доступ к элементам формы
46. kittystark 15 21.05.10 18:04 Сейчас в теме
(44)
PCX.RowToolbar.Options.Floating = 0
PCX.ColToolbar.Options.Floating = 0
PCX.DimToolBar.Options.Floating = 0
???
47. cleaner_it 220 24.05.10 03:19 Сейчас в теме
45. kittystark 15 20.05.10 16:30 Сейчас в теме
а как прогнозами пользоваться?
49. cleaner_it 220 19.06.10 17:03 Сейчас в теме
(45) что именно интересно про прогнозирование? Собственно, ничего особенного там нет, все зависит от вашей корпоративной политики и целей
57. kittystark 15 23.06.10 20:15 Сейчас в теме
(49) не понятно вообще, как эти "прогнозы" заюзать (если я правильно понял про группу элементов forecasting на форме редактора измерения)
58. cleaner_it 220 25.06.10 06:51 Сейчас в теме
(57) Насчет прогнозирования смотреть здесь:
PivotCube VCL Users Guide
(Пункт 2.1.3.4 Forecasting ability)
В планах использование этих возможностей пока не скоро. Народ и 30% существующего использовать не может. А вообще, там можно и ABC-анализ проводить очень быстро средствами OLAP

(56) Я помещаю обработку в макет, в нужном месте сохраняю на диск, открываю и использую. По мне, так реализация этого пункта вообще не нужна, но сильно уж просят:)
60. kittystark 15 25.06.10 10:12 Сейчас в теме
(58) Пункт 2.1.3.4 прочел, хотелось бы менять ConsequentName PrecedingName, т.к.
PivotCube.lng не дает таких возможностей

существует ли возможность реализовать свой алгоритм расчета для построения прогноза, например среднюю взвешенную, но со СВОИМИ весовыми коэффициентами

по поводу АВС-анализа пожалуйста подробней

мы под 7.7 конечно без макетов, а при ночном пересчете кубов просто несколько раз подряд вызывается ОткрытьФормуМодально с нужными параметрами, но вот если юзер банально хочет поменять период, то либо форму закрывай-открывай, либо надо фиксить «Cannot perform this operation on an open dataset»

кстати, у меня было замечено следующее: если несколько раз подряд открывать форму, формировать куб, закрывать форму, то процесс 1с-ки постепенно отжирает оперативную память не освобождая ее, т.е. со штатных 90-100 Мб только одними кубами можно постепенно доползти до 700Мб (дальше проверять не стал)
вопрос: а как нужно грамотно высвобождать ресурсы при закрытии формы ?
61. cleaner_it 220 25.06.10 10:23 Сейчас в теме
(60) По поводу ABC - это как сам закончу разбираться. То же самое с прогнозированием:)

Под 7.7, конечно, надо фиксить «Cannot perform this operation on an open dataset». Тут без вариантов.

При закрытии формы память я освобождаю, но подобного теста на 7.7 я не проводил (на 8.1 замечено не было) - очень интересно, буду проверять (возможно, закрытие окна 1С 7.7 вовсе не означает закрытия формы Delphi, как я считал)

PS: Есть желание показать сообществу "Пример использования OLAP ActiveX для 1С 7.7"?
72. kittystark 15 07.07.10 10:15 Сейчас в теме
из созревших идей:
1. запрещать некоторым пользователям открывать окно "редактор измерения" для конкретного измерения, смысл - сначала программно накладываем фильтрацию (переводом часть item'ов в репозиторий), а потом запрещаем менять фильтр, отсюда можем получить частичный доступ пользователя к информации

у себя реализовал через WShell.appActivate и SendKey, это решение хоть и действенно, но ч/з одно место, вот если бы "кнопке с треугольником вниз" измерения можно было прикрутить нечто вроде enabled-свойства - было бы классно

2. не плохо было бы организовать через Обработку Внешнего События реакцию на клик мышью в ячейке измерения/меры

кстати по поводу русификации ConsequentName, PrecedingName в (60) - вопрос решил
73. cleaner_it 220 07.07.10 10:39 Сейчас в теме
(72)
"1. ... " - вполне резонно, но здесь лучше учитывать права при заполнении куба - чтобы не нужные ему данные просто не попадали в отчет. Может, есть и другие причины реализации такого функционала?
"2. ... " - сам давно об этом думаю, хочу расшифровку сделать, но там события, как ты говоришь, "через одно место". Со временем, думаю, появится:)

74. kittystark 15 07.07.10 13:45 Сейчас в теме
(73) думал я об этом...
сейчас у меня схема такая: вечером, когда никого в базе нет, через виндовый шедулер в определенное время запускается vbs-скрипт, создающий V77.Application и запускающий обработку с использованием твоей компоненты (несколько раз с разными периодами), на выходе имеем несколько обновленных *.cub файлов, за разные периоды и с разными наборам измерений, но измерение "проект" (читай "менеджер") везде заполняется одинаково

на следующий день пользователи запускают другую обработку и ... юзают эти файлики через отдельно запускаемый HTML Application (*.hta ) со встроенной в него "оригинальной" компонентой, не тратя по 2 часа на расчет данных (база за 2,5 года), после выбора и загрузки файла куба производится принудительная фильтрация по измерению "проект" в зависимости от "прав на кубы" (почему юзается оригнальная компонента - отдельная песня)

ПРИЧИНЫ: честно говоря, меня не прикалывает на каждого юзера формировать по несколько "фамильных" кубов, юзеров-то много, сколько это будет по времени - даже испытывать не стал, но по прикидкам тоже много

плюс еще «Cannot perform this operation on an open dataset» с диалогом «PivotCube demo» портят всю картину (борьба с последним через wshell.AppActivate и SendKey происходит с переменным успехом :) )

для тех кто будет запускать OLAP.hta из прилагаемого архива: подразумевается расположение *.cub файлов в том же каталоге где и сам OLAP.hta, после загрузки куба при подведении курсора мыши на самый правый край - должно появиться меню, хелпик в разработке - можно прилепить свой, демо ролики - твои
Прикрепленные файлы:
OLAP_hta.zip
78. cleaner_it 220 07.07.10 15:03 Сейчас в теме
(74) за hta'шник спасибо:) Я делал по другому - помещал выборку в индексированную таблицу 1cpp, которую затем можно сохранить в файл, а затем при необходимости восстанавливал ту версию куба, которая мне нужна. Но твой способ тоже ничего:)

PS: проблему твою понял, в твоем случае конечно принудительная фильтрация нужна. Куб - один, пользователей куба - несколько, у каждого пользователя - свой фильтр. Нормальная ситуация
76. cleaner_it 220 07.07.10 14:58 Сейчас в теме
(72) или имелось в виду убрать доступ к элементу, чтобы пользователь вообще не мог наложить СВОЕЙ фильтрации? Тогда пойму - чтобы подтасовки фактов не было (например, убрали из отчета "неблагополучных" клиентов)
79. kittystark 15 07.07.10 15:13 Сейчас в теме
(76) да, именно запретить пользователю менять фильтрацию и оставлять ее только в "разрешенном" виде

с этой целью пытался я воспользоваться PCX.CubeIntf.Dimension(i).DeleteKey(j), чтоб скрыть "не нужные"элементы, элемент измерения удаляется, но вот значения мер после этого становятся очень уж кривыми и всякие попытки пересчитать куб пока не возымели положительного результата, может подскажешь метод ?
80. cleaner_it 220 09.07.10 16:53 Сейчас в теме
(79) вроде сделал блокировку кнопки с треугольником вниз:) Как протестирую нормально, буду выкладывать новую версию компоненты
81. kittystark 15 09.07.10 17:10 Сейчас в теме
(80) дас ист комас - дас ист гуд, спасибо, ждемс
104. kittystark 15 13.07.10 19:15 Сейчас в теме
ну раз уж речь пошла про MS-продукт, так там есть такие штуки как защита размерности (по поводу (80) пока так и не увидел - подскажи, плиз), "custom rollups", "distinct count" (возвращаясь к (91),(94)), вот это бы реализовать :)

по поводу юзерских формул, так там поведение действительно бывает непредсказуемым, особенно если воспользоваться рекурсивной конструкцией "новая мера" = "новая мера"[prev by row] + что-то, а чтоб не ломали голову с составлением формул 2 варианта: сохранение/считывание, или "джентельменский набор" по кнопке/меню

кстати, а почему сохранению/считыванию карты куба вычисляемые меры абсолютно индифферентны?
105. cleaner_it 220 14.07.10 03:18 Сейчас в теме
(104) сделал, да что-то не работает:cry: к следующему релизу разберусь наверное. Насчет формул нужен конечно джентльменский набор.

"кстати, а почему сохранению/считыванию карты куба вычисляемые меры абсолютно индифферентны?" - не скажу, но с проблемой такой сталкивался еще в пору использования компоненты quick. Конечно, классно было-бы эту задачку решить.

По поводу MS: "Другой главной областью исправлений стал значительно улучшенный движок вычислений с поддержкой унарных операторов, пользовательских формул свертки (custom rollups) и многомерных выражений (cell calculations). Также новыми возможностями стали защита размерности, счет без повторов (distinct count), взаимодействие по HTTP, сессионные кубы, уровни группировки и др." - со всем этим еще разбираться нужно. То, что я об этом не говорю, не означает что этого нет, просто я об этом ничего не знаю:)
106. kittystark 15 14.07.10 10:05 Сейчас в теме
(105) quick кстати, отошел от использования PivotCube и перешел на HireCube в своем ReportEx, вот только в текущем состоянии там сохранение куба очень кривое, и пока не реализована поддержка иерархий измерений (хотя в демо хаера она есть), только эти 2 момента склонили чашу весов при выборе в твою пользу

ну и плюс еще твоя активность - проектик-то живой, развивается постепенно, за что тебе отдельное человеческое спасибо :)
107. cleaner_it 220 14.07.10 10:58 Сейчас в теме
(106) Мы с ним переписывались, я так понял, что главный козырь был - "бесплатность" HireCube, и потеря исходников предыдущей версии компоненты (пусть поправит, если я неверно понял)... А мне PivotCube понравился, я решил с ним поработать пока:)

PS: Проект развивается и будет развиваться :D
109. cleaner_it 220 15.07.10 15:35 Сейчас в теме
Ну вот, добрался:)
Теперь куб можно построить в рамках одной обработки и при наличии иерархических измерений

PS: Как только доделаю (80), так сразу выложу
110. kittystark 15 15.07.10 19:31 Сейчас в теме
(109) непременно ждемс

в доке есть следующий пример для вычисляемых мер
begin
var a;
var b;
func xy;
a = "Summa";
b = "Count";
Result = xy(a,b);
end

есть List of supported functions:
SQRT(value)
ABS(value)
SIN(value)
COS(value)
POWER(value, power)
POWER2(value)
LOG10(value)
LN(value)
EXP(value)
NEG(value)
Показать

не пойму про определение func xy;, как можно на основании существующих функций и арифметических операторов сворганить свою локальную функцию, скажем myF, чтобы потом при вычислении значения меры ее вызвать несколько раз, типа,
begin
func myF(x) <определение своей функции>
Result = myF(1) + myF(10) + myF(50)
end
111. cleaner_it 220 16.07.10 04:52 Сейчас в теме
(110) Обработчик событий нужно добавлять.

To calculate own function, you need to create own event handler


Записал в TODO, это хорошая возможность. Давно хотел сделать возможность задавать произвольные правила вычисления формул (например, чтобы не считались некоторые значения по заданному условию)
114. kittystark 15 16.07.10 10:28 Сейчас в теме
(111) ну да ладно, обойдемся пока без обработчиков, пусть код вычисления меры будет не красивый, но будет хотя бы функциональный

да и предполагалось это все задействовать для АВС-анализа, кстати (112), в этом АВС, на мой взгляд ничего сложного, можно даже с существующим функционалом назначать "категорию А/В/С", правда с одной оговоркой вместо А/В/С будут какие-нибудь числа, например 1/2/3 или 100/200/300 и дальше по аналогии можно будет совместить с такими же числами XYZ-анализа сложением

возни на программирование "кнопки" по формированию чистого АВС-анализа по одному показателю, для некоего измерения на пару-тройку часов
116. cleaner_it 220 16.07.10 12:54 Сейчас в теме
(114) Так ABC уже почти готов:)
(115) W7 x64 - не пробовал. Тестировалось на w2k3 x32, w2k3 x64, w7 x32, wxp x32. Разве есть проблемы с регистрацией? Просьба в таком случае прислать скриншот с ошибкой
117. Константин С. 666 16.07.10 14:12 Сейчас в теме
119. cleaner_it 220 16.07.10 15:03 Сейчас в теме
(117) попробуй вручную regsvr32 или regasm - будет работать? А я пока посмотрю особенности компилирования под 64-битные системы (в таком случае буду выкладывать две отдельные сборки)
118. kittystark 15 16.07.10 14:15 Сейчас в теме
(116) а у меня уже готов :) , я ведь для юзеров все в *.hta-шке делаю с оригинальным активиксом, может и от твоих стараний почерпну идеи для воплощения у себя
122. cleaner_it 220 16.07.10 16:29 Сейчас в теме
(118) у тебя на иерархических измерениях ABC нормально работает?
123. kittystark 15 16.07.10 18:11 Сейчас в теме
(122) да вроде бы нормально, проверь:
в hta-шке (см.(74)) нужно обновить функцию
	function add_my_calculated_measure( measure_name, formula, format ){
		var curr_measure = 0
		for(var i=0; i<PCX.MapMeasureCount; i++){
			if(PCX.MapMeasures(i).Name == measure_name){
				curr_measure = PCX.MapMeasures(i)
			}
		}
		if(!curr_measure){
			PCX.MapAddCalculatedMeasure( measure_name, 'begin Result = ' + kill_dup_spaces(formula) + '; end')
			curr_measure = PCX.MapMeasures(PCX.MapMeasureCount-1)
		}else{
			//вместо добавления новой меры с таким же именем - переопределяем формулу существующей
			curr_measure.CalcFormula = 'begin Result = ' + kill_dup_spaces(formula) + '; end'
		}
		curr_measure .FormatString = (format)?(format):("#,###.00")
		return curr_measure
	}
Показать


добавить чуток служебных функций:
	function remove_all_dimensions_from_row_col_toolbars(){
		//убираем все измерения из области колонок
		for(var i=PCX.MapColumnDimCount-1; i>=0; i--){
			PCX.MapRemoveDimension(PCX.MapColumnDimension(i))
		}	
		//убираем все измерения из области строк
		for(var i=PCX.MapRowDimCount-1; i>=0; i--){
			PCX.MapRemoveDimension(PCX.MapRowDimension(i))
		}
	}

	function getMeasureIndexByName( mes_name ){
		for(var i=0; i<PCX.MapMeasureCount; i++){
			if(PCX.MapMeasures(i).Name == mes_name){
				return i
			}
		}
		return null
	}
	
	function show_only_this_measures( separated_str ){
		var arr = separated_str.split('|')
		for(var i=0; i<PCX.MapMeasureCount; i++){
			var found = 0
			for(var j=0; j<arr.length; j++){
				if(PCX.MapMeasures(i).Name == arr[j]){
					found = 1
				}
			}
			PCX.MapMeasures(i).Visible = found
		}
	}
Показать


ну и собственно изюм:
function get_category_formula( k1, k2, k3, max_A, max_B, TTL_perc_measure_name ){
		// выражение k1*H(max_A-x) + k2*H(x-(max_A+delta))*H(max_B-x) + k3*H(x-max_B+delta)
		// где H(x) - это функция Хевисайда, delta - достаточно малый параметр отступа от точки, равно:
		//  k1, при                       0 < x <= max_A, (т.к. значения x по определению нарастающего процента/доли - положительны)
		//  k2, при   max_A + delta <= x <= max_B
		//  k3, при                            x >= max_B + delta
		// возникают "слепые зоны", т.е. 2 промежутка где функция будет равна нулю:  (max_A; max_A + delta)  и (max_B; max_B + delta)
		delta = 0.0001
		s = ''+k1+'*H('+max_A+'-x) + '+k2+'*H(x-'+(max_A+delta)+')*H('+max_B+'-x) + '+k3+'*H(x-'+(max_B+delta)+')'
		//alert(s)
		
		//все встречающиеся функции Хевисайда, преобразуем к виду понимаемому парсером фромул
		s = s.replace(/H\(([^\)]+)\)/gi,'(   (1+($1)/ABS($1))/2    )').replace(/x/gi, TTL_perc_measure_name).replace(/\./gi,',')
		//log(s)
		return s
	}
	
	function ABC_analysis( analytic_measure_name, analytic_dimension_name ){			
		curr_measure = add_my_calculated_measure("TTL percent", analytic_measure_name + '[RUNNING_TOTAL_BY_COL] / '+analytic_measure_name+' [COLUMN] * 100')
		curr_measure = add_my_calculated_measure("ABC", get_category_formula(1,2,3, 70, 80, '"TTL percent"'), '##0' )
		show_only_this_measures( analytic_measure_name +"|TTL percent|ABC" )
		remove_all_dimensions_from_row_col_toolbars()
				
		PCX.MapAddDimensionToRows( analytic_dimension_name )		
		PCX.MapRebuild()
		PCX.MapSortByMeasure(0,getMeasureIndexByName(analytic_measure_name),1)
		PCX.MapRefreshData()	
	}

ABC_analysis('"Продажи (+НДС)"', "Номенклатура")
Показать
125. kittystark 15 16.07.10 19:13 Сейчас в теме
(123) :!: :!: :!: заметил еще что в комменте были съедены очень важные символы :!: :!: :!:

в функции get_category_formula() вместо (1+()/ABS())/2 должно быть (1+(<символ доллара>1)/ABS(<символ доллара>1))/2 :!: , а то иначе работать не будет
130. kittystark 15 20.07.10 11:31 Сейчас в теме
касаемо get_category_formula(...) (см.(123),(125))
в коде в исходном виде
s = s.replace(/H\(([^\)]+)\)/gi,'(   (1+($ 1)/ABS($ 1))/2    )').replace(/x/gi, TTL_perc_measure_name).replace(/\./gi,',')

...не учитываются 2 момента:
1. системные настройки (локаль), в частности текущий десятичный разделитель
2. измерение в своем наименовании может содержать точки/запятые
поэтому для большей устойчивости в работе лучше заменить этот код на следующий
s.replace(/H\(([^\)]+)\)/gi,'(   (1+($ 1)/ABS($ 1))/2    )').replace(/(\d+)([\.,])(\d+)/gi,'$ 1'+(1.5).toLocaleString().substr(1,1)+'$ 3').replace(/x/gi, TTL_perc_measure_name)

:!: ВНИМАНИЕ: после символов доллара никаких пробелов не должно быть, отредактируйте вручную при переносе кода к себе (издержки форума) :!:
131. cleaner_it 220 22.07.10 07:17 Сейчас в теме
(130) Пора свою публикацию делать:)

...

(123) И все-же при построении ABC на иерархических измерениях должны возникать проблемы. Например, имеется группа X, в ней два элемента- Y и Z. Y нужно отнести к категории А, а Z - к категории С. Если сохранять иерархию - то в обоих категориях нужно создавать иерархическую структуру, подобную имеющейся - то есть создавать в каждой категории группу X. В итоге должна получиться следующая структура:

Структура измерения ДО анализа:
X
-Y
-Z

Структура измерения ПОСЛЕ анализа:
A
-X
--Y
B
C
-X
--Z

Чем сложнее иерархическая структура, тем сложнее затем будет анализировать...

Я склоняюсь к мысли, что при проведении ABC-анализа группы необходимо убирать, т.е. преобразовывать иерархическое измерение к линейному списку. А затем, при необходимости, возвращать обратно
132. kittystark 15 22.07.10 11:04 Сейчас в теме
(131) согласен, я этот момент тоже прочувствовал и для себя проблем не вижу, т.к. были сделаны следующие выводы:
1. правильная постановка задачи, например для оптимизации складских запасов, именно такая как ты и говоришь - убрать группы, отсортировать, разнести по категориям
2. для проведения анализа на высоком уровне, по товарным группам в целом - предложенного решения вполне достаточно, хотя есть те самые нюансы

в виду того, что руки у меня не дошли до собственноручного написания включения/отключения групп (со времен (88)) возникают 2 ВРЕМЕННЫХ подхода: формировать 2 куба, отличающиеся только тем, что в одном есть иерархия, в другом нет; второй вариант - в один куб запихивать 2 измерения номенклатуры (с иерархией и без) и юзать подходящее

так что пока на скорую руку выкручиваемся как можем, а по хорошему нужно осваивать технику программирования не вычисляемой МЕРЫ АВС=1/2/3, она, помимо вышесказанного, дальше совмещения с XYZ пойти не даст, а нужна техника создания в рантайме (по меню/кнопке) новых (возможно нескольких) ИЗМЕРЕНИЙ ABC, т.к. такой подход позволит совместить данные анализа АВС [+XYZ] по одному "измерению+показателю" с 2-мя/3-мя и тд. АВС анализами по другим "измерениям+показателям",

и тогда возникнет возможность, например, определить, что один товар по сумме продаж относится к категории А, по рентабельности к В, а по оборачиваемости к С, ну а другие товары по этим же показателям отнести к ААА, ААВ, АВА и т.д.

имхо, перегруппировку измерения с созданием внутри него групп АВС лучше не рассматривать - геммора потом не оберешься
112. cleaner_it 220 16.07.10 06:31 Сейчас в теме
Чтобы работало (80), необходимо еще решить следующие проблемы:
1. Кнопка измерения становится недоступной совершенно (даже заменить кнопку этого измерения другим не получится)
2. При перестройке куба кнопка становится вновь доступной, т.е. нужно создавать обработчик события перестройки и вновь делать кнопку недоступной

Поэтому пожалуй я просто сделаю подписку "Проверка изменения фильтра", и если будет попытка изменения - запрещать. Несколько релизов этой возможности не будет, пока приоритет сдвинут на ABC-анализ и документацию
48. cleaner_it 220 19.06.10 17:02 Сейчас в теме
Выкладываю версию 2.4

Изменения по сравнению с версией 2.3.1

[*] - изменение
[+] - добавление
[–] - отказ/удаление

РЕАЛИЗОВАНЫ МЕТОДЫ:
[+] - Реализован метод SetIDByName (просьба kittystark)
[+] - Реализован метод SaveToHTML

ДОБАВЛЕНЫ СВОЙСТВА:
[+] - Добавлено свойство ShowRowTotals ['pvgtFixed', 'pvgtAtEnd', 'pvgtAtStart', 'pvgtDisabled']
[+] - Добавлено свойство ShowColumnTotals ['pvgtFixed', 'pvgtAtEnd', 'pvgtAtStart', 'pvgtDisabled']

ДОПОЛНЕНА ДОКУМЕНТАЦИЯ:
[+] - Описан метод AppendRecordHierarchical (Баг-репорт kittystark)
[+] - Описан метод SetValueHierarchical (Баг-репорт kittystark)
[+] - Описан метод PostRecordHierarchical (Баг-репорт kittystark)

НАСТРОЙКИ КОМПОНЕНТЫ ПО УМОЛЧАНИЮ:
[*] - Баг-репорт kittystark «После создания формы, но ДО загрузки куба, панели измерений и колонок можно таскать мышью влево-вправо». На текущий момент эта возможность убрана.

ДРУГОЕ:
[*] - Исправлено сворачивание раскрытых измерений при помещении любого измерения в строки и/или колонки (работает на линейных списках, при наличии иерархических измерений на верхнем уровне сворачивание происходит всегда)
[*] - изменено имя файла компоненты на PivotCubeAX.ocx (ранее ActiveFormProj1.ocx)
[+] - Добавлены типы итогов колонок и строк: pvgtFixed, pvgtAtEnd, pvgtAtStart, pvgtDisabled, см. «Атрибуты интерфейса»

А также:
1. Подправлена документация
2. Дополнен всеми новыми возможностями пример использования компоненты для 1С v8.1
50. cleaner_it 220 19.06.10 17:24 Сейчас в теме
Готовится к реализации в следующих версиях

[*] - изменение
[+] - добавление
[–] - отказ/удаление

Методы

Наименование метода
Описание
[+] SetWidthMeasure
Установка ширины колонок показателей
[+] SetWidthDimension
Установка ширины колонок измерений
[+] SetFilter
Программная установка фильтра
[+] ClearFilter
Программная отмена фильтра
[+] SortDimension
Сортировка измерений
[+] SaveToOpenOffice
Экспорт в Open Office
[+] LoadFromWEB
Загрузка куба, хранящегося на WEB-сайте
[+] LoadFromStream
Загрузка куба из потока данных
[+] SetWidth
Установка ширины формы компоненты
[+] SetHeight
Установка высоты формы компоненты

Другое
[+] - реализовать прогресс-бар для отображения процесса загрузки куба
[+] - доработать руководство пользователя OLAP (будет произведено деление документации на другие логические блоки, а так же выделение в отдельный блок используемых в компоненте типов — сейчас они описаны в одном блоке со свойствами компоненты)
[+] - доработать работу с графиком
[+] - добавить возможность работы компоненты на переносимой СУБД SQLite
[+] - добавить возможность сохранения/загрузки настроек положения/видимости колонок/строк/формул/показателей
[+] - реализовать возможность переформировывать куб в рамках одной и той-же обработки (исправить ошибку «Cannot perform this operation on an open dataset»)
56. kittystark 15 23.06.10 20:07 Сейчас в теме
(50)
из "Другое":
...
[+] - реализовать возможность переформировывать куб в рамках одной и той-же обработки (исправить ошибку «Cannot perform this operation on an open dataset»)

этого хотелось бы получить в первую очередь
218. Medvedik 05.05.12 10:31 Сейчас в теме
(50)
[+] - добавить возможность сохранения/загрузки настроек положения/видимости колонок/строк/формул/показателей

cleaner_it, эти планы похоронены, или как?
219. cleaner_it 220 05.05.12 13:59 Сейчас в теме
(218) Скорее сдвинуты по времени:) Сроки назвать не рискую, потому что задача не приоритетная
52. cleaner_it 220 20.06.10 07:49 Сейчас в теме
Поправка описания типов отображения итогов:

pvgtFixed
Значение типа отображения итогов зафиксировано - справа для колонок, снизу — для строк. При перемещении горизонтального/вертикального ползунков итоги сохраняют свое положение (аналог «Закрепить область» табличного документа или электронной таблицы OpenOffice (Excel))

pvgtAtEnd
Значение типа отображения итогов: в конце

pvgtAtStart
Значение типа отображения итогов: в начале

pvgtDisabled
Значение типа отображения итогов — не показывать
53. cleaner_it 220 20.06.10 09:28 Сейчас в теме
Выложил файл "Видеопрезентация "Общее представление об OLAP-кубе.zip" (для PivotCubeAX 2.4.0.1)"
54. cleaner_it 220 20.06.10 13:21 Сейчас в теме
Выложил файл "Видеопрезентация "Работа с измерениями в OLAP-кубе.zip" (для PivotCubeAX 2.4.0.1)"
55. cleaner_it 220 20.06.10 14:20 Сейчас в теме
Компонента заменена на версию 2.4.0.1 (наименование файла не изменилось, изменения по сравнению с версией 2.4 - чисто косметические)
59. cleaner_it 220 25.06.10 06:53 Сейчас в теме
В первую очередь будет SQLLite, уж не обессудьте:) Скорость работы и удобство использования для меня прежде всего. Ну, плюс планируется качество преобразования типов улучшить
62. brr 179 01.07.10 12:08 Сейчас в теме
вашу разработку можно использовать для работы с сервером олап?
63. cleaner_it 220 01.07.10 12:44 Сейчас в теме
(62) Думаю реализовать нечто подобное. Какой сервер используете?
64. brr 179 01.07.10 17:40 Сейчас в теме
65. cleaner_it 220 02.07.10 04:59 Сейчас в теме
(64) Такого добра у меня нет:) Сейчас ищу PALO, он GPL - на нем только если пробовать
97. JohnyDeath 299 13.07.10 10:32 Сейчас в теме
(64) А зачем эта разработка, если есть Microsoft Analysis Services 2000
Сервисы OLAP от Microsoft на порядок лучше компоненты, на базе которой сделан этот ActiveX и выглядит куда более приятней
98. cleaner_it 220 13.07.10 15:27 Сейчас в теме
(97) Вполне объективно - делают красиво, да и по быстродействию наверняка лучше за счет использования сервера. Но не у всех есть возможность купить себе Microsoft Analysis Services 2000:) Я, например, не могу.
100. JohnyDeath 299 13.07.10 15:42 Сейчас в теме
(98) Ну во-первых, я как бы описывал непонимание автора из (64). У него уже стоит Microsoft Analysis Services 2000
А во-вторых, у тебя есть возможность не то что покупать, а скачать и пользоваться абсолютно бесплатно Microsoft SQL Server 2008 Express Edition with Advanced Services

(99) а я считаю, что наглядность - один из самых важных факторов, который необходим при анализе данных.
С компонентой на базе которой ты создал этот АХ я давно знакомился и именно из-за своей внешней убогости я её так и не смог (не захотел?) куда-либо внедрять.
Вот взгляни на свой же скриншот № 3 из http://infostart.ru/public/72778/ . Контрагент абсолютно нечетаем. Интерективное добавление формул - вообще сказка. Я не знаю ни одного пользователя, кто бы мог что-то в этом понять и создать своё. Иконки, надписи, да и общий внешний вид - как крик из далёкого прошлого, к которому не хочется возвращаться, но понастальгировать можно. ;)
101. cleaner_it 220 13.07.10 17:31 Сейчас в теме
(100) Я прекрасно тебя понял, зачем ты еще раз объясняешь... Microsoft SQL Server 2008 Express Edition with Advanced Services имею, в целях обучения/ознакомления работы с VS C#, но использовать постоянно - желания не имею. Зачем я буду ставить везде сервер SQL? А если Клиент использует Linux/BCD? Я не в целях дискуссии, одна из целей развития компоненты - кросплатформенность, ради которой можно перейти и на другую компоненту.

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

Про наглядность разговоров вообще никаких не было, о чем спор? Только наглядность не оценивается по принципу "большие красивые кнопочки и иконки". В самой компоненте, кстати, интерфейс можно менять, меня же больше привлекает простота.

Клиент сможет добавлять формулы, если его этому научить. Думаешь, им прикольно каждый раз обращаться к программисту? Как-бы не так! Вот сделаю возможность сохранения настроек и пользовательских формул - и все вообще будет в ажуре:)
102. cleaner_it 220 13.07.10 17:39 Сейчас в теме
(100) Кстати, я делал поддержку смены скринов для компоненты, но мне не понравилось. Да и размер компоненты сильно увеличился, а хранить шкурки во внешнем хранилище - идея не самая лучшая. И аналитики вместо анализа будут заниматься сменой шкурок программы...
Оставьте свое сообщение

См. также

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

1 стартмани

30.03.2018    27215    40    Ditron    83    

Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Разработка внешних компонент Мобильная разработка v8 Абонемент ($m)

Используя данный драйвер, можно без единой строки кода, просто установив на ТСД мобильный клиент 1С, сразу начать подбирать товары в документах вашей учётной системы. А, адаптировав нужные формы под небольшой размер экрана ТСД, можно просто создать полноценное рабочее место для выполнения операций с помощью ТСД, не прибегая к стороннему софту. Если же на складе плохая связь (или её нет вовсе), то можно использовать возможности мобильного клиента в автономном режиме (потребуется доработка вашей конфигурации). Драйвер также можно использовать и для Android приложения на мобильной платформе. В результате чего можно обойтись без ненужных полей ввода и клавиатуры «на пол-экрана».

3 стартмани

09.10.2020    3634    28    ltfriend    40    

Мобильная платформа Android. Сохранение печатной формы в PNG

Мобильная разработка Разработка внешних компонент Абонемент ($m)

отправляем печатную форму в Viber, WhatsApp, Messenger

3 стартмани

07.09.2020    1139    0    kinan    0    

Диагностика контекста выполнения (внешняя компонента)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Небольшая экспериментальная внешняя компонента для получения дополнительной информации о контексте выполнения.

1 стартмани

24.07.2020    4432    2    YPermitin    14    

TextRadar - нечеткий поиск в тексте Промо

Разработка внешних компонент Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.09.2018    17866    27    TSSV    18    

Конвертация PDF в 1С

Практика программирования Разработка внешних компонент Абонемент ($m)

COM-компонента для работы с PDF (32/64 bit)

4 стартмани

31.03.2020    7405    14    SerVer1C    33    

Быстрая печать этикеток (ZPL, EPL, TSPL, EZPL, GEPL, TSPL-EZ)

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Качественная и быстрая печать на внутреннем языке принтеров этикеток.

4 стартмани

02.02.2020    6923    32    Johny_v    12    

Native внешняя компонента для оповещения по UDP или TCP

Разработка внешних компонент v8 Абонемент ($m)

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    9935    19    vdv2701    31    

Использование сборок .NET в 1С 7. и 8.x. Создание внешних Компонент. Промо

Разработка внешних компонент v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Данная разработка создана для использования сборок .Net в 1С через преобразование объектов и классов в COM-объекты, которые можно использовать в 1С. Достигается это путем создания класса, реализующего методы интерфейса IReflect public class AutoWrap: IReflect.

1 стартмани

28.11.2013    83905    238    Serginio    74    

Внешняя компонента для получения веса с весовых терминалов

Разработка внешних компонент Абонемент ($m)

Читает вес с БУ4263М1, Mettler Toledo IND310, CAS-6000, НВТ-9, FT-11, VT-220

5 стартмани

02.09.2019    4426    4    alexey_kurdyukov    2    

Внешняя компонента Sundries: несколько полезных системных функций

Разработка внешних компонент v8 Абонемент ($m)

Звук, пауза, буфер обмена, раскладки клавиатуры и т.д.

4 стартмани

30.08.2019    5912    6    sivin-alexey    10    

CLR декодер для MS SQL Server

Сервисные утилиты Разработка внешних компонент Абонемент ($m)

Библиотека для расшифровки кракозябр в базе данных.

1 стартмани

05.07.2019    5943    0    hellion    0    

Tool1CD Beta в деле Промо

Разработка внешних компонент v8 Абонемент ($m)

Пс, парень! Не хочешь немного сырых байтов?

1 стартмани

09.05.2018    25991    28    baton_pk    26    

Оповещение пользователей в трее с обратной связью через DLL

Разработка внешних компонент Россия Абонемент ($m)

Библиотеки для 32 и 64 клиентов для оповещения пользователей в трее с обработкой кликов во внешних событиях.

1 стартмани

20.02.2019    5103    4    xxxAndricxxx    8    

Внешняя компонента для выполнения регулярных выражений

Разработка внешних компонент v8 Абонемент ($m)

Внешняя Native API компонента для выполнения регулярных выражений на платформе 1С:Предприятие 8. Написана на C++. Используется движок boost::regex (v 1.69, v 1.68 - для Android). Версия синтаксиса Perl Compatible Regular Expressions.

1 стартмани

12.11.2018    12786    30    KAV2    62    

Класс-обработка “Работа с картами Яндекс”

Разработка внешних компонент WEB v8 Абонемент ($m)

Как показать точку или маршрут на карте Яндекс. Как получить координаты по строке адреса (геокодирование).

1 стартмани

01.08.2018    25745    202    RSConsulting    16    

NativeDraw: Компонента рисования для 1С [V2.6.2] Промо

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.07.2015    47630    428    ПерваяСистема    147    

Распознавание лиц (off-line). Демонстрационная база.

Разработка внешних компонент v8 Абонемент ($m)

Распознавание лиц входит в нашу жизнь стремительными темпами, бизнес стремится за событиями. В публикации находится описание и пример использования нейросетей для распознавания лиц.

1 стартмани

17.07.2018    16506    73    nomadon    45    

JVM Native API плагин - для запуска в 1С плагинов написанных на Java

Разработка внешних компонент v8 Абонемент ($m)

Запускаем виртуальную машину Java в 1С. Собрана внешняя компонента которая позволяет запускать виртуальную машину java в среде 1С. Позволяет как передавать параметры в java - так и получать уведомление через externalevent. Предпосылкой создания являлся тот факт, что есть много готового функционала которого не хватает в 1С. Язык сpp - довольно сложен для быстрой разработки, и теперь возможно использовать готовые сборки java классов (так называемые jar-файлы) для использования в 1С.

1 стартмани

20.06.2018    12496    32    minimajack    72    

Telegram Native API

Разработка внешних компонент Внешние источники данных v8::УФ 1cv8.cf Абонемент ($m)

Взаимодействие с Telegram без Bot API. Только C++ компоненты. Только хардкор.

1 стартмани

24.05.2018    17765    42    Infactum    23    

Компоненты распознавания и печати штрих-кодов Промо

Разработка внешних компонент Сканер штрих-кода v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Комплект программного обеспечения для реализации функций оптического распознавания штрих-кодов различных систем при помощи обычной web-камеры, а также их отображения в печатных формах. Программы могут работать в составе конфигураций, созданных на базе платформ «1С-Предприятие» версий 7.7, 8.2, 8.3. Компонент чтения кодов реализован в виде внешней компоненты 1С с COM-интерфейсом. Компонент отображения создан по стандартной технологии ActiveX для Windows, и может быть встроен в любое приложение, поддерживающее встраивание ActiveX элементов управления, например в документ Word или Excel, или форму VBA. P.S. Добавлена новая версия программы распознавания. Новые функции: обработка видео в реальном режиме (а не по таймеру, как раньше), добавлена возможность распознавания штрих-кодов из графических файлов JPEG, PNG, GIF, BMP, а также передавать для распознавания картинки из 1С, теперь можно получить в 1С захваченное с камеры или файла изображение, как с выделением мест, содержащих коды, так и без, а также отдельные фрагменты изображений, содержащие код. Добавлены новые свойства и методы для программирования. Обновлена документация.

10 стартмани

10.07.2015    69867    85    igorberezhnov    95    

Многофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth

Разработка внешних компонент Мобильная разработка v8::Mobile 1cv8.cf Абонемент ($m)

Компонента получает широковещательные оповещения, может получать/помещать текст и отслеживать изменения буфера обмена, а также осуществляет связь с bluetooth устройствами с последовательным доступом. Рекумендуется для использования с лазерными и bluetooth сканерами терминалов сбора данных. Предназначена для ОС Андроид.

10 стартмани

05.02.2018    27922    312    IgorKissil    277    

Внешняя компонента 1С для подключения весового терминала Т3 и Т9 фирмы ФИЗТЕХ

Разработка внешних компонент Весы Абонемент ($m)

Внешняя компонента 1С (*.dll) для подключения и получения данных с весового терминала Т3 и Т9 фирмы ФИЗТЕХ Update 22/01/2019 Компонента доработана для взаимодействия с терминалом Т9 (пока без возможности отправлять команды в терминал). Старую версию компоненты оставляю в файлах для скачивания, учитывайте это при скачивании.

10 стартмани

13.11.2017    11523    2    dungeonkeeper    0    

Подсветка синтаксиса 1С в текстовом редакторе VIM

Инструментарий разработчика Разработка внешних компонент v8 Россия Абонемент ($m)

Пакет, добавляющий поддержку синтаксиса языка 1С:Предприятие 8 в текстовом редакторе VIM

1 стартмани

25.09.2017    17539    3    TIS_08    27    

Полезные приемы при работе с Excel из 1С (Версия 3.1) Промо

Практика программирования Разработка внешних компонент Загрузка и выгрузка в Excel v8 1cv8.cf Абонемент ($m)

Программисту 1С часто приходится работать с таблицами Excel из 1С. Я постарался собрать небольшой FAQ и набор функций для работы с файлами Excel. Надеюсь, кому-то будет полезна данная статья.

1 стартмани

22.09.2015    203724    445    Zerocl    70    

CSV Converter

Инструментарий разработчика Универсальные обработки Разработка внешних компонент Абонемент ($m)

Представляю вам мою первую программу. CSV Converter. Компонента читает файл с разделителями и переводит в структуру, которую мы можем получить, выгрузив любую ТЗ в файл стандартной функцией "ЗначениеВФайл()".

1 стартмани

03.03.2017    14454    5    ziercool    2    

1С:ExcelReport - COM компонента для вывода в Excel в стиле 1С

Разработка внешних компонент Загрузка и выгрузка в Excel Абонемент ($m)

Когда необходимо создать из 1С файл Excel с богатым форматированием и встроенными в ячейки формулами, приходится писать на языке 1С довольно объемный код. Предлагаемая компонента позволяет создать макет Excel и вывести отчет «как в 1С», с использованием простого задания параметров и вывода/присоединения секций.

1 стартмани

02.12.2016    16530    10    Perfolenta    7    

1sqlite reborn

Разработка внешних компонент v7.7 1cv7.md Россия Абонемент ($m)

Обновленная версия внешней компоненты для работы с базами данных SQLite и прямыми запросы в ДБФ-базах 1С.

1 стартмани

07.11.2016    25519    21    Djelf    39    

Снимок экрана для 1С Промо

Универсальные обработки Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

Довольно часто люди сталкиваются с необходимостью сделать снимок экрана. Если вы или ваши сотрудники основную часть времени проводят в 1С и у вас есть необходимость прикреплять графические файлы, то эта компонента для вас.

1 стартмани

08.02.2016    28261    33    linkforget    11    

1С+Классы. Версия-0

Разработка внешних компонент Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    20761    1    IntelInside    68    

"Внешнее событие" и мобильная платформа 1С

Разработка внешних компонент Мобильная разработка v8 Абонемент ($m)

Внешние компоненты в Android для Мобильной Платформы 1С или как вызвать внешнее событие, когда его нет.

1 стартмани

09.09.2016    38683    88    dewersia    54    

Организация файлового хранилища на базе MS SQL Server с доступом из 1С

Разработка внешних компонент Сервисные утилиты v8 Абонемент ($m)

Пример реализации хранения файлов в базе MS SQL Server с использованием различных технологий. Подробно рассмотрен потоковый доступ к файлам с использованием технологии FileStream.

1 стартмани

27.07.2016    25675    41    tohandr    37    

Native API компонента для использования установленного в системе интерпретатора Python Промо

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Компонента позволяет подключать к платформе 1С python-модули, оформленные в стиле внешней компоненты. Кроме этого, она позволяет запускать небольшие фрагменты python-кода прямо из модулей 1С. На данный момент поддерживаются платформы 8.2 — 8.3 x86 Windows.

1 стартмани

14.05.2013    39617    76    Принт    31    

Внешняя компонента Native API для построения графов (на основе GraphViz)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Данная публикация представляет собой внешнюю компоненту «GraphViz NAPIC», выполненную по технологии native API, предоставляющую методы библиотеки GraphViz для построения графа по его описанию в текстовом формате на языке dot. Приложена обработка с примером вызова компоненты ОФ+УФ.

1 стартмани

12.04.2016    18443    25    Synoecium    19    

QR-код 2 в 1 (обычная и управляемая форма)

Инструментарий разработчика Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Вам нужно интегрировать 1С и QR-коды? Нет ничего проще, будем использовать внешнюю компоненту!

1 стартмани

05.04.2016    35057    130    Xershi    40    

Распаковщик RAR-архивов - UnRAR 1C

Разработка внешних компонент Абонемент ($m)

Внешняя Native компонента для распаковки RAR-архивов.

1 стартмани

19.03.2016    15936    25    frkbvfnjh    3    

Обработка для формирования классов для прямого доступа к файлам 1С через курсоры BDE. И многого другого Промо

Разработка внешних компонент v7.7 1cv7.md Абонемент ($m)

Обработка формирует классы для прямого доступа к файлам 1С через курсоры BDE. Исходник ВК, которая загружает Объект Автоматизации, поддерживающий ITypeInfo и выполняет все его свойства и методы через IlanguageExtender. Обработка для формирования диспинтерфейсов к объектам 1С (таблицаЗначений, справочники, документы, перечисления). Обработки для группировки данных Таблицы Значений в виде ТЗ, где колонками являются ключи и ТзПоГруппе вида ТЗ с детальными записями. Вывод иерархии из ТЗ элементов, поиск дублей, сравнение 2 ТЗ

1 стартмани

14.04.2015    20045    2    Serginio    1    

Внешняя компонента для сжатия/распаковки файлов, двоичных данных и строк по алгоритму Zlib, Deflate и GZip

Разработка внешних компонент v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя компонента для сжатия/распаковки файлов, двоичных данных и строк по алгоритму Zlib, Deflate и GZip.

1 стартмани

15.03.2016    32942    134    frkbvfnjh    103    

Проект внешней компоненты для 1С:8 (сделай сам)

Разработка внешних компонент v8 Абонемент ($m)

Как их делают? Как регистрируют? С чего начать? Где взять стартовый проект? Вопросов вообще много можно задать, но лучше один раз увидеть!

10 стартмани

11.03.2016    16962    0    ture    36    

Автоматическое переименование картинок по штрихкоду

Разработка внешних компонент Россия Абонемент ($m)

Кто из вас не сталкивался с проблемой наполнения фотографиями товара базы 1С или интернет-магазина? И вот когда встает вопрос о съемке товара - встает вопрос автоматизации хранения картинок. Данная компонента служит именно для автоматизации переименовывания фотографий по штрихкоду товара.

1 стартмани

09.02.2016    10959    3    Лузер    3    

Распознаем штрих-коды QR, EAN-13, Code 128 с помошью 1С и веб камеры Промо

Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

Внешняя компонента, поможет распознать штрих-код, используя обычную веб камеру. Умеет работать с UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 128, QR Code, Interleaved 2 of 5, Codabar, RSS-14, Data Matrix, PDF 417, Aztec, MaxiCode.

1 стартмани

31.10.2012    77981    192    shakmaev    84    

Запуск сеанса RDP с заданным именем пользователя и паролем (управляемые формы)

Практика программирования Разработка внешних компонент Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Есть база данных (управляемые формы), общая для сотрудников IT-отдела, в которой ведется учет парка компьютерной техники на предприятии. Встала задача подключения по RDP прямо из окна с данными о компьютере пользователя.

1 стартмани

29.01.2016    19153    61    insurgut    16    

Связь Asterisk и 1С, внешняя компонента

Разработка внешних компонент Телефония, SIP v8 1cv8.cf Россия Абонемент ($m)

Поддержка ROM-Asterisk прекращена, на 1С: Предприятии 8.3.6 вылетает. Пишем свою.

6 стартмани

28.01.2016    47286    273    BigTaur    82    

Резидентная программа (автовзвешивание), работающая с весами или любым другим оборудованием (на примере весов DS980), c исходником Delphi7

Разработка внешних компонент Весы Абонемент ($m)

Программа опрашивает через dll подключенное устройство с заданным интервалом времени и сопоставляет полученные данные, после чего при понимании, что произошло событие (система изменилась и была зафиксирована на заданное время) происходит вывод результата - данные из опрошенной компоненты в "нажатие клавиш" + Ввод.

1 стартмани

27.01.2016    43245    3    solaris_    5    

Дисплей покупателя, второй монитор, поддержка графики, видео, html, javascript, css. Планшет в качестве второго монитора Промо

Разработка внешних компонент POS терминал Розничная торговля Розничная торговля Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия Абонемент ($m)

Эта программа позволит выводить данные из 1С на дополнительный монитор или андроид планшет по беспроводной связи. Использовать разработку рекомендуется в торговле, как альтернатива дисплею покупателя, для организации информационных табло, электронных очередей.

5 стартмани

28.08.2013    45423    102    O-Planet    92    

Внешняя компонента для хранения данных во внешней обработке/отчете

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

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

1 стартмани

14.01.2016    18410    34    frkbvfnjh    36    

Что нам стоит сайт построить

Разработка внешних компонент Абонемент ($m)

Многие знают, что платформа 1С:Предприятие "технически" позволяет написать сайт. Но для этого нужна платформа и клиентские лицензии на каждое подключение. А вы знаете, что можно написать "простой" сайт на знакомом нам языке, без необходимости устанавливать платформу и приобретать клиентские лицензии, и все благодаря одной замечательной opensourse разработке из мира 1С? Интересно? Тогда прошу под кат.

1 стартмани

21.08.2015    23143    25    nextkmv    10