DataReducer — R-консоль для «1С:Предприятия»

Публикация № 642784 10.07.17

Приемы и методы разработки - Инструментарий разработчика

R импорт интеграция консолидация веб HTTP API сервис XML JSON визуализация диаграмма график анализ статистика

Программа для обработки, анализа и визуализации данных информационных баз «1С:Предприятия» с использованием возможностей языка программирования R.
Почему R? Язык R был создан для статистических вычислений и в настоящий момент является одним из наиболее мощных инструментов для работы с данными. Среди многих тысяч пакетов, расширяющих базовую функциональность R, можно найти реализацию практически любых способов преобразований и анализа данных. За кажущейся непривычностью синтаксиса R скрывается возможность выполнения сложных манипуляций с данными простыми лаконичными командами. Нужно также отметить богатую функциональность R в части импорта данных любых форматов из всевозможных источников.

 

Пример 1: Консолидация данных из разных источников и веб-отчеты

Пример 2: Статистические функции языка R и HTML-виджеты

Области применения программы DataReducer:

Консолидация данных

 

Публикация отчетов в веб

DataReducer позволяет объединять данные из разных источников: информационные базы 1С, таблицы Excel, базы данных SQL, XML-документы, файлы множества других форматов.   DataReducer включает веб-приложение, предназначенное для передачи аналитической информации другим пользователям по сети. Данные 1С могут быть быстро опубликованы в виде веб-отчета.

Визуализация данных

 

Интеграция 1С с другими системами

R обладает мощными графическими возможностями. Вы можете создавать интерактивные диаграммы на основе данных из 1С и автоматически встраивать их в страницы сайта или корпоративного портала.   Веб-приложение DataReducer автоматически конвертирует данные в форматы XML и JSON и предоставляет к ним доступ по HTTP. DataReducer можно использовать как сервис интеграции с 1С.

Статистический анализ

 

Предварительная обработка данных

Ко множеству сфер применения R относятся статистика, эконометрика, финансовые исследования, машинное обучение. Если перед вами стоит задача статистического анализа данных 1C, то лучшего инструмента чем R не найти.   DataReducer можно использовать для извлечения и обработки данных перед их передачей в 1С. Возможности R по работе с различными API и форматами данных превосходят аналогичные возможности платформы 1С.

Системные требования

  • Операционная система: Windows 10 x64 / DEB-based Linux x64
  • 1C:Предприятие 8 - Версия 8.3.9 или старше

Схема развертывания

Процесс развертывания DataReducer состоит из следующих этапов:

  1. Публикация интерфейса OData информационных баз 1С на веб-сервере.
  2. Запуск сервисов rserve и rapport в Docker-контейнерах.
  3. Установка и настройка приложения DataReducer Console.

Эти этапы подробно описаны в Руководстве пользователя.


Интерфейс главного окна программы

1. Список информационных баз 4. Наборы данных скрипта R 7. Область вывода графики
2. Дерево метаданных 5. Область вывода сообщений
3. Вкладка скрипта R 6. Таблица данных

Пример 1: Консолидация данных из разных источников и веб-отчеты

Требуется выполнить план-фактный анализ поступлений денежных средств компании за квартал. Компания состоит из двух юридических лиц — организаций «УноФарма» и «ПортоФарма». Бухгалтерский учёт организаций ведётся в двух разных информационных базах «1С:Бухгалтерия предприятия 3.0»:

Запланированные значения поступлений необходимо получить из таблицы Excel, в которой отражены суммарные данные по всем организациям:

Шаги решения поставленной задачи в программе «DataReducer Console»

  1. Добавляем настройки подключения к информационным базам «УноФарма» и «ПортоФарма». Интерфейс OData этих баз предварительно должен быть опубликован на веб-сервере и настроен в соответствии с документацией платформы «1С:Предприятие». В DataReducer можно одновременно работать с данными любого количества информационных баз. Список подключенных баз отображается в главном окне программы.
  2. После подключения информационной базы, DataReducer Console выводит дерево её метаданных. Дерево метаданных включает все сущности, доступные через интерфейс OData (справочники, регистры, виртуальные таблицы и пр.). Для свойств сущностей выводится их тип. Для свойств с ссылочным типом выводится связанная сущность.
  3. Создаём новый скрипт R и открываем его. Каждый скрипт открывается в отдельной вкладке.
  4. Находим в дереве метаданных информационной базы «УноФарма» виртуальную таблицу оборотов регистра бухгалтерии «Хозрасчётный» и через контекстное меню добавляем её в наборы данных скрипта R. Повторяем для информационной базы «ПортоФарма». Любой набор данных можно открыть в отдельном окне и загрузить данные для просмотра.
  5. Поочерёдно открываем окна созданных наборов данных и вводим настройки запросов. Перечень доступных настроек зависит от типа объекта, которому соответствует набор данных. Начало и конец периода получения оборотов регистра бухгалтерии «Хозрасчетный» задаём в виде параметров ${periodBegin} и ${periodEnd}. Значения этих параметров будут общими для всех наборов данных скрипта R.
  6. Пишем код на языке R (см. листинг). Обращение к наборам данных осуществляется по их именам.
  7. Выполняем скрипт. На экран выводятся сообщения о ходе выполнения, в том числе сформированные запросы REST-сервису «1С:Предприятия». В области вывода графики выводится построенная диаграмма. Результаты выполнения скрипта (таблицу данных и диаграмму) можно сохранить в файлы, используя методы языка R.

 

 Листинг примера 1

 

 

На данном примере были продемонстрированы основные инструменты программы «DataReducer Console» для импорта данных информационных баз «1С:Предприятия» и некоторые методы языка R для обработки этих данных. Были консолидированы данные из трёх разных источников: двух информационных баз «1С: Бухгалтерия предприятия 3.0» и файла Excel. С помощью пакета ggplot2 была построена столбчатая диаграмма, отображающая отклонения фактических значений показателей от плановых.

Теперь опубликуем веб-отчет, содержащий результаты анализа.

В строке №96 листинга скрипта изменяем каталог сохранения файлов на /mnt/webapp-files , соответствующий каталогу файлов веб-приложения.

На вкладке «Веб-доступ» скрипта ставим галочку «Веб-доступ». При необходимости на этой вкладке можно изменить имя веб-ресурса и определить роли доступа.

В главном меню программы выбираем «Файл → Загрузить модель на сервер». Список ресурсов модели, к которым открыт веб-доступ, появится на главной странице веб-приложения:

Страница отчета с шаблоном по умолчанию:

Добавим на страницу ресурса период отчета, ссылку на скачивание данных в формате Excel и сгенерированную в R диаграмму. Для этого внесём изменения в шаблон страницы ресурса.

На вкладке «Веб-доступ» скрипта снимаем галочку «Шаблон по умолчанию». После этого шаблон страницы можно редактировать:

Добавляем в контейнер <body> следующие элементы:

<p><i>Период: с ${periodBegin?keep_before('T')} по ${periodEnd?keep_before('T')}</i></p>

<p><a href="/rapport/files/${resourceName}/${requestId}/ПланФакт.xlsx">Сохранить в Excel</a></p>

<p><img src="/rapport/files/${resourceName}/${requestId}/chart.png" class="img-responsive"></p>

После повторной загрузки модели на сервер мы увидим новую страницу ресурса:


Пример 2: Статистические функции языка R и HTML-виджеты

Основное назначение языка R – статистические вычисления. Если перед вами стоит задача статистического анализа данных «1С:Предприятия», то лучшего инструмента, чем R не найти.

В данном примере мы попробуем предсказать значение показателя прибыли от продаж по значениям показателей дебиторской и кредиторской задолженностей при помощи линейной регрессии.

Также мы построим интерактивный график, на который выведем как известные, так и прогнозные значения показателей. График будет иметь формат HTML и может быть опубликован в веб-отчете DataReducer.

Для построения регрессионной модели воспользуемся данными учета компании за 16 предыдущих кварталов. Эти данные мы получим из информационной базы «1С:ERP Управление предприятием 2».

Введём обозначения переменных и определим источники данных.

prib — Прибыль от продаж (зависимая переменная)

Прибыль от продаж = Выручка от продаж - Себестоимость продаж - Коммерческие и управленческие расходы

Источники данных: обороты регистров накопления «Выручка и себестоимость продаж» и «Прочие расходы».

deb — Дебиторская задолженность (независимая переменная)

Источники данных: остатки регистра накопления «Расчеты с клиентами по документам».

kred — Кредиторская задолженность (независимая переменная)

Источники данных: остатки регистра накопления «Расчеты с поставщиками по документам».

Таким образом, каждому кварталу будет соответствовать четыре набора данных по числу запросов к регистрам информационной базы. Необходимо получить данные по 16-ти периодам, значит, всего будет выполнено 64 запроса.

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

 

Наблюдение по каждому кварталу и итоговую таблицу данных для анализа создаём следующим образом:

001  # Получаем значения показателей для каждого квартала
002  Q1_2014 <- data.frame(
003          period = "${Q1_2014_end}",
004          prib   = Q1_2014_ВыручкаИСебестоимость[1, c("СуммаВыручкиTurnover")] -
005                   Q1_2014_ВыручкаИСебестоимость[1, c("СтоимостьTurnover")] -
006                   Q1_2014_ПрочиеРасходы[1, c("СуммаTurnover")],
007          deb    = Q1_2014_РасчетыСКлиентами[1, c("ДолгBalance")],
008          kred   = abs(Q1_2014_РасчетыСПоставщиками[1, c("ДолгBalance")])
009  )
010  Q2_2014 <- data.frame(
011          period = "${Q2_2014_end}",
012          prib   = Q2_2014_ВыручкаИСебестоимость[1, c("СуммаВыручкиTurnover")] -
013                   Q2_2014_ВыручкаИСебестоимость[1, c("СтоимостьTurnover")] -
014                   Q2_2014_ПрочиеРасходы[1, c("СуммаTurnover")],
015          deb    = Q2_2014_РасчетыСКлиентами[1, c("ДолгBalance")],
016          kred   = abs(Q2_2014_РасчетыСПоставщиками[1, c("ДолгBalance")])
017  )
(...)
131 # Объединяем все наблюдения в одну таблицу 
132 df <- rbind(Q1_2014, Q2_2014, Q3_2014, Q4_2014, Q1_2015, Q2_2015, Q3_2015, Q4_2015, 
133  Q1_2016, Q2_2016, Q3_2016, Q4_2016, Q1_2017, Q2_2017, Q3_2017, Q4_2017)

«Q1_2014_ВыручкаИСебестоимость», «Q1_2014_ПрочиеРасходы» и пр. - это имена, которые мы дали наборам данных, соответствующим виртуальным таблицам регистров накопления. «СуммаВыручкиTurnover», «СтоимостьTurnover» и пр. - имена полей этих таблиц, формируемые платформой 1С. Периоды задаем в виде параметров.

 

Смотрим полученную таблицу данных:

 

Создадим интерактивный график изменения показателей по кварталам. Для этого воспользуемся пакетом «dygraphs», предоставляющем R-программисту возможности одноименной JavaScript-библиотеки:

135  # Приводим данные к формату xts
136  library(xts)
137  data_xts <- xts(df[,-1], order.by=as.POSIXct(df[,1]))
138  
139  # Строим график
140  library(dygraphs)
141  graph <- dygraph(data_xts, width=750, height=350) %>%
142      dySeries("prib", label = "Прибыль") %>%
143      dySeries("deb", label = "Деб_зад") %>%
144      dySeries("kred", label = "Кред_зад") %>%
145      dyOptions(drawPoints=TRUE, pointSize=2, drawAxesAtZero=TRUE, labelsKMB=TRUE) %>%
146      dyRangeSelector()
147  
148  # Сохраняем виджет с графиком 
149  library(htmlwidgets)
150  saveWidget(graph, file="/mnt/host/prib.html", selfcontained = TRUE)

 

 

Создаём линейную модель и предварительно оцениваем её:

155  model <- lm(data=df, prib~deb+kred)
156  paste(capture.output(print(summary(model))), collapse='\n')

 

Как видно из последнего столбца таблицы, коэффициенты при переменных deb и kred статистически значимо отличаются от нуля при p < 0.01 и p < 0.001, соответственно. Это указывает на то, что и дебиторская и кредиторская задолженности влияют на показатель прибыли от продаж. Взятые вместе, они на 57% описывают изменения показателя (Multiple R-squared: 0.571).

Теперь проверим данные и посмотрим, можем ли мы нашу модель улучшить.

Для этого воспользуемся методами, реализованными в пакете car (пакет уже установлен в Docker-контейнере rserve).

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

160  library(car)
161  qq <- qqPlot(model, labels = row.names(df), simulate = TRUE, main = "Q-Q plot")
162  print(qq)
163  dev.off()

 

На графике хорошо видно, что одно из наблюдений выпадает из доверительных границ (изображенных пунктирными линиями) — это т. н. «выброс», т. е. наблюдение, которое плохо предсказывается моделью.

 

Удаляем «выброс» и снова оцениваем модель:

165  # Удаляем "выброс"
166  df1 <- df[-c(12),]
167  
168  # Снова оцениваем модель
169  model1 <- lm(data=df1, prib~deb+kred)
170  paste(capture.output(print(summary(model1))), collapse='\n')

 

Как мы видим, после удаления «выброса» значимость коэффициентов при независимых переменных увеличилась и модель в целом стала лучше соответствовать данным (Multiple R-squared: 0.793).

 

Проверим выполнение всех остальных предпосылок линейной регрессии при помощи функции gvlma() из пакета gvlma.

173  library(gvlma)
174  gvmodel <- gvlma(model1)
175  paste(capture.output(print(summary(gvmodel))), collapse='\n')

 

 

Воспользуемся моделью для предсказания прибыли от продаж за три последующих квартала:

177  # Создаем таблицу с плановыми данными дебиторской и кредиторской задолженностей
178  # и приводим её к формату xts
179  q1_2018_plan <- data.frame(period="2018-03-31T23:59:59", deb=${deb_plan1}, kred=${kred_plan1})
180  q2_2018_plan <- data.frame(period="2018-06-30T23:59:59", deb=${deb_plan2}, kred=${kred_plan2})
181  q3_2018_plan <- data.frame(period="2018-09-30T23:59:59", deb=${deb_plan3}, kred=${kred_plan3})
182  plan_df <- rbind(q1_2018_plan, q2_2018_plan, q3_2018_plan)
183  plan_xts <- xts(plan_df[,-1], order.by=as.POSIXct(plan_df[,1]))
184  
185  # Предсказываем прибыль от продаж
186  predicted <- predict(model1, newdata=plan_xts, interval="prediction")

 

Предсказанные значения показателя, а также доверительные интервалы, выводим на интерактивный график:

191  # Объединяем все наборы данных
192  combined <- cbind(data_xts, plan_xts, predicted)
193  
194  # Строим новый график
195  graph1 <- dygraph(combined, width=750, height=350) %>%
196      dySeries("prib", label = "Прибыль", color="red") %>%
197      dySeries("deb", label = "Деб_зад", color = "blue") %>%
198      dySeries("kred", label = "Кред_зад", color = "green") %>%
199      dySeries("deb.1", label = "Деб_зад_план", color = "blue", strokePattern="dashed") %>%
200      dySeries("kred.1", label = "Кред_зад_план", color = "green", strokePattern="dashed") %>%
201      dySeries(c("lwr", "fit", "upr"), label = "Прибыль_прогноз", color = "red", strokePattern="dashed") %>%
202      dyEvent("2018-03-31", "Прогноз", labelLoc = "bottom", color="red", strokePattern="dotted") %>%
203      dyLegend(width = 300) %>%
204      dyOptions(drawPoints=TRUE, pointSize=2, drawAxesAtZero=TRUE, labelsKMB=TRUE) %>%
205      dyRangeSelector()
206  
207  # Создаем каталог для хранения файлов в точке монтирования /mnt/webapp-files,
208  # соответствующей каталогу файлов веб-приложения.
209  requestDir <- '/mnt/webapp-files/${resourceName}/${requestId}
210  dir.create(requestDir, recursive=TRUE)
211  
212  # Сохраняем виджет с новым графиком в каталоге для публикации
213  graphPath <- paste(requestDir, 'prib_predicted.html', sep='/')
214  saveWidget(graph1, file=graphPath, selfcontained = TRUE)

 

 

Подробнее о методах, используемых в данном примере:

  • Лысенко М.В., Лысенко Ю.В., Якушев А.А., Согрина Н.С. «Cтатистический анализ дебиторской и кредиторской задолженности при оперативном прогнозировании прибыли от продаж» // Фундаментальные исследования. – 2016. – № 12-4. – С. 884-890
  • Цикл видео-лекций Демешева Б.Б. по курсу Эконометрики
  • Кабаков Р.И. «R в действии. Анализ и визуализация данных в программе R» / пер. с англ. Полины А. Волковой. – М.: ДМК Пресс, 2014. – 588 с.: ил.

Достоинства

Интеграция с 1С через REST-интерфейс

 

Конструктор запросов к 1С

Способ взаимодействия DataReducer с «1С:Предприятием» не требует запуска клиента 1С и программирования на стороне 1С.   DataReducer позволяет конструировать HTTP-запросы к REST сервису «1С:Предприятия» при помощи графических средств. Результаты выполнения каждого запроса можно посмотреть в отдельном окне.

Кэширование ресурсов 1С

 

Открытый исходный код

Данные, импортированные из 1С, сохраняются в кэше. Это значительно сокращает время повторного обращения к ресурсам и выполнения скриптов R.   Программа имеет открытый исходный код и распространяется по лицензии GNU GPL v2.

Кроссплатформенность

 

Простая установка из Docker-образов

Программа DataReducer написана на Java и работает под управлением операционных систем Windows и Linux.   Серверные компоненты DataReducer распространяются в виде Docker-образов, что упрощает установку и работу с программой.

Техническая поддержка

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

Также предлагаю расширенную техническую поддержку, которая может включать:

  • Решение конкретных задач с помощью DataReducer (см. Области применения программы)
  • Создание внешних обработок для двусторонней интеграции DataReducer с 1С
  • Подготовка индивидуальных Docker-образов (например, с нужными вам пакетами R)
  • Доработки программы по вашему техническому заданию

Автор будет рад, если в комментариях вы расскажете о вашем опыте использования DataReducer или R для анализа данных 1С!


Сравнение версий

 
 Изменения в версиях

DataReducer 1.1.14 (22.04.19)

  • Исправление ошибок

Руководство пользователя 2.2 (22.04.19)

  • Добавлен раздел "Двусторонняя интеграция с 1С" и новый пример использования

DataReducer 1.1.13 (31.03.19)

  • Изменен формат ввода параметров. Подробности в п. 3.4 Руководства пользователя
  • Набор конфигурационных файлов Docker-контейнера datareducer_rapport дополнен файлами server.xml и log4j2.xml
  • В схему ответа сервера на запрос данных в форматах XML или JSON добавлен атрибут типа поля
  • Другие небольшие доработки и исправление ошибок

Руководство пользователя 2.1 (31.03.19)

  • Документация актуализирована

 

 


Вопросы возврата

Пожалуйста, обратите внимание на правила работы магазина. Рекомендуем вам перед покупкой воспользоваться услугой подбора решения под ваши задачи, чтобы покупка оказалась максимально эффективной.


Заказать подбор решения


Файлы для установки

Наименование Файл Версия Размер
Файлы для развертывания Docker-сервисов

.zip 7,93Kb
9
.zip 7,93Kb 9 Скачать бесплатно
DataReducer Console — версия для Windows 10 x64 (за SM)

.exe 61,28Mb
1
.exe 1.1.14 61,28Mb 1 Скачать
DataReducer Console — версия для DEB-based Linux x64 (за SM)

.deb 67,20Mb
0
.deb 1.1.14 67,20Mb Скачать

1.1.14 3 1200 руб.

1.1.14 2 1200 руб.

Документация и модели из примеров

Наименование Файл Версия Размер
Руководство пользователя DataReducer

.pdf 2,65Mb
26
.pdf 2.2 2,65Mb 26 Скачать бесплатно
Пример 1: Консолидация данных из разных источников и веб-отчеты

.xml 33,14Kb
8
.xml 33,14Kb 8 Скачать бесплатно
Пример 2: Статистические функции языка R и HTML-виджеты

.xml 414,95Kb
7
.xml 414,95Kb 7 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. spezc 744 10.07.17 13:23 Сейчас в теме
Интересная работа. Но мне кажется среди адинесников мало спецов по R будет. А в конторах где есть собственные R-спецы уже имеются инструменты для контакта с базой 1С. Но это только имхо. Желаю удачи найти своего покупателя)
2. Техподдержка 10.07.17 14:02
(1) Спасибо за пожелания! Я, в своё время, открыл для себя R, когда искал решение нестандартной задачи объединения и анализа данных из нескольких разных источников, среди которых были и базы 1С. Оказалось, что средствами 1С эту задачу было решить довольно затруднительно, в то время как в R решение было найдено сравнительно легко. Так R и оказался в копилке моих инструментов, как 1C-ника. Для тех, кто раньше не имел дела с R, я, конечно, рекомендую установить и начать использовать IDE RStudio. Если кому-то из 1С-разработчиков язык R понравится также, как и мне, то, возможно, и моя разработка окажется полезной.
3. Steelvan 228 10.07.17 22:17 Сейчас в теме
Плюсанул чисто за "замене латинской буквы "R" на кириллическую "Р"".
Если бы логотип был с российским флагом, плюсанули бы еще несколько человек, уж постарался бы :)
4. Техподдержка 10.07.17 22:26
(3) Далее в предложении указано что символизирует это изменение, никакой политики. :) Кроме того, описание вносимых изменений требует лицензия Creative Commons.
5. McSim_ 12.07.17 17:54 Сейчас в теме
Взлетит?
Интересно, что на практике выйдет. Каков эффект.
На Питоне есть аналоги уже?
6. Техподдержка 12.07.17 19:39
(5) Эффект от использования программы сильно зависит от решаемой задачи. В некоторых случаях (пожалуй, в большинстве) программисту проще обойтись привычными инструментами. Но есть области, в которых R может оказать неоценимую помощь. Сложно назвать метод обработки или визуализации данных, который не поддерживался бы R. Но есть и обратный эффект - считается, что у R высокий порог вхождения, если сравнивать его с тем же Python.

Я должен отметить, что существуют инструменты для работы с R, обладающие более развитым функционалом, чем DataReducer Console. Самый известный из них - RStudio. Способов интеграции с 1С (как и с другими платформами) у R тоже масса. Например, существует пакет OData (cran.r-project.org/web/packages/OData/), который позволяет обращаться из R к данным информационных баз по тому же протоколу, который использует DataReducer Console.

Но DataReducer Console работает с данными 1С в терминах, знакомых каждому 1С-специалисту. Программа призвана облегчить решение задачи, которая перед вами стоит, если вы разбираетесь в структуре метаданных 1С, но, возможно, ранее не сталкивались с R.

DataReducer Console поможет и в том случае, если вы не хотите работать с "сырыми" данными OData или строить HTTP-запросы вручную.

Аналогов DataReducer Console, использующих Python (впрочем, как и использующих R), я не встречал. Если кто-то знает аналоги, прошу написать об этом в комментариях. На тему сравнения R и Python есть хорошая статья, перевод которой доступен по адресу habrahabr.ru/company/piter/blog/263457/ .

Всем, кто заинтересовался программой DataReducer Console, я предлагаю описать в комментариях свой кейс, и я постараюсь разобраться - насколько R и DataReducer Console в частности подходят (или не подходят) для решения вашей задачи. Для наиболее интересных задач я, возможно, приведу решение полностью.
RustIG; McSim_; shootnik; +3 Ответить
9. a.b.vorobjev 14.07.17 15:16 Сейчас в теме
(6) Если честно, аналогов не встречал. Для целей анализа организовывал экспорт данных (в csv), с которыми потом работал традиционными средствами R и Python. Пока хватало. Причиной отсутствия аналогов, думаю является то, что люди которым требуется анализ, и которые умеют его проводить - они уже знакомы с языками, инструментальными средствами и имеют навыки и привычку работы с ними. И им требуется лишь поток данных из произвольной среды (1С в частности).

Функциональным аналогом можно было бы считать средства анализа данных предлагаемые собственно 1С, но они не получили какого либо широкого использования (насколько мне известно). Хотя они достаточно неплохи.
DataReducer; +1 Ответить
10. Техподдержка 14.07.17 17:32
(9) Спасибо за комментарий!

Штатные средства 1С не сравнятся с R, но если для решения конкретной задачи их хватает, и речь идёт об анализе данных одной информационной базы, действительно, проще и лучше ограничиться ими. Задача усложняется, если таких баз несколько и их данные не консолидированы.

Если требуется провести единоразовое исследование, то выгрузка данных в удобочитаемый формат - лучший выбор. Но что если это нужно выполнять регулярно? Конечно, экспорт данных тоже можно автоматизировать. Но на мой взгляд, DataReducer Console предоставляет более удобное решение, которое, к тому же, не требует снятия конфигурации с поддержки.

Аудитория DataReducer Console - это, пожалуй, не опытные специалисты по Data Mining, а рядовые 1С-разработчики и аналитики. Безусловно, среди них R - не самое популярное программное средство. Я сам познакомился с ним почти случайно, когда столкнулся с задачей, выходящей за рамки моей обычной практики.

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

Также готовится клиент-серверная версия программы, позволяющая обращаться к результатам выполнения скриптов R по HTTP. После выхода этой версии цена на базовую версию будет снижена.
7. McSim_ 13.07.17 00:07 Сейчас в теме
Сам я столкнулся с тем, что клиенты не могут сформулировать задачу, так как не знают, что может ML.
Всё заканчивается банальными прогнозами временных рядов, типа уровня продаж. Добавлял погоду, естественно.
А можно было бы хотя бы номенклатурные пары в покупательской корзине рассчитывать. Что ещё? Очевидно, что на данном этапе задачи придётся ставить самим себе.
RustIG; DataReducer; +2 Ответить
8. Техподдержка 13.07.17 15:01
(7) К сожалению, это так. Формулировать задания программистам - это дело аналитиков и других специалистов предметной области. А они, привыкнув к доступным им методам анализа, обычно не ждут многого от программистов.

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

Но ситуации бывают, конечно, разные.
11. usd1001 01.05.18 10:53 Сейчас в теме
Мне очень понравилась программа Data Reduce Console. Удивительно, но делал все по инструкции и все заработало с первого раза. В своей дипломной работе описываю возможности программы и пытаюсь реализовать аналитический модуль. Единственное, что сразу было не понятно где находится консоль вывода результатов и графики. Вывод графики с помощью dev.off() нашел в инструкции, а как выводить результат на консоль искал весь день, хотел даже здесь спросить, но потом нашел в онлайн-руководстве . Конечно, R знаю поскольку постольку, но его надо изучать, потому что если его знать разработка существенно упрощается, а реализовывать готовые аналитические алгоритмы средствами 1С крайне не эффективно.
12. Техподдержка 01.05.18 18:06
(11) Рад, что программа оказалась полезной, и что не возникло существенных затруднений при её использовании. Желаю успешно выполнить и защитить дипломную работу!
13. ovadia 27.09.20 16:57 Сейчас в теме
Инструмент интересный. Я примерно лет 5 назад вплотную занимался анализом данных с помощью R. Хотел специализироваться в области Data Mining. Но что-то не пошло. В итоге стал разработчиком 1С. Однако, до сих пор не встречал задач, где могли бы пригодиться мои знания по R и вообще сам R. Специфика профессии и насущных задач, в областях 1С и R как-то не очень пересекаются.
Оставьте свое сообщение

См. также

Infostart Toolkit Промо

Инструментарий разработчика v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Платные (руб)

Простые и удобные инструменты: Консоль запросов, СКД, Редактор объекта, Поиск ссылок и другие. Редактор запросов и кода с раскраской и контекстной подсказкой. Улучшенный конструктор тонкого клиента и др.

9000 руб.

02.09.2020    56905    246    322    

Подсистема хранения картинок во внешних файлах для УТ 10.3

Инструментарий разработчика v8 УТ10 УУ Платные (руб)

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

21600 руб.

11.08.2021    2843    1    6    

Печать договоров по шаблонам word c выводом товаров

Инструментарий разработчика v8 ERP2 УТ11 КА2 Россия УУ Платные (руб)

Из заказа печатает договор по шаблону. Есть возможность вывести и строки заказа внизу (как приложение). Не увидел ни у кого данной возможности. Есть аналогичная для БП. Ее не выкладываю, пока, ввиду наличия в БП стандартного функционала.

2400 руб.

21.05.2021    4208    4    1    

Автоматизация труда программиста. Библиотека прикладных функций

Инструментарий разработчика Универсальные функции v8 Платформа 1C v8.2 Платформа 1С v8.1 1cv8.cf Платные (руб)

Программист - это человек, непрерывно принимающий решения. Написание кода не является процессом принятия решения - это всего лишь трансляция ваших желаний. Если вас периодически тяготит написание сотен строк кода ради решения задач, то прошу обратить внимание. Данный продукт позволит существенно сократить время на рутинные операции при разработке. За счет библиотечной реализации сокращается объём кода, а его читаемость повышается. К библиотеке прилагается документация API и шаблоны кода для наиболее популярных методов.

4200 руб.

16.04.2021    6303    0    2    

SALE! 30%

PowerTools Промо

Инструментарий разработчика v8 v8::УФ 1cv8.cf Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

2400 1680 руб.

14.01.2013    150400    864    0    

Универсальная печатная форма договора в Word/Writer (с использованием БСП). УТ 11

Инструментарий разработчика v8 УТ11 Россия Платные (руб)

Универсальная печатная форма по шаблону Word/Writer для печати из договора контрагента для конфигурации "Управление торговлей 11.4". Пользователь имеет возможность вставлять в текст договора любое количество произвольных параметров, а также любой параметр из дополнительных сведений договора.

5000 руб.

25.03.2021    4161    0    0    

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика v8 Платные (руб)

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

1500 руб.

24.09.2019    14594    8    11    

Автоматическое подтверждение легальности обновления базы или как обновить 100 типовых баз 1С за 5 часов

Инструментарий разработчика v8 1cv8.cf Платные (руб)

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

1200 руб.

08.05.2019    15672    42    24    

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

Инструментарий разработчика v8 v8::УФ 1cv8.cf Платные (руб)

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

5000 руб.

16.01.2015    52806    35    49    

Версионирование регистров сведений (необъектных данных) - история изменений по версиям записей регистров сведений - ВНОД

Инструментарий разработчика v8 v8::УФ 1cv8.cf Платные (руб)

ВНОД – отдельная (дополнительная) подсистема, которая построена на основе типовой подсистемы «Версионирование объектов». Предназначена для сохранения и анализа изменений независимых (периодических и непериодических) регистров сведений, с точностью до состава измерений, ресурсов и реквизитов записей.

2800 руб.

11.02.2019    20193    54    22    

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика v8 1cv8.cf Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    87065    212    82    

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика v8 1cv8.cf Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

1000 руб.

27.12.2017    22434    2    10    

Заполнение документа "Корректировка регистров" произвольными данными Промо

Закрытие периода Инструментарий разработчика v8 v8::СКД УНФ ERP2 УТ11 УУ Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

1000 руб.

13.07.2015    40023    147    16    

Сжатие таблиц SQL (УФ)

Инструментарий разработчика v8::УФ 1cv8.cf Платные (руб)

Обработка позволяет уменьшить размер базы данных SQL путем сжатия её таблиц. Разработана для работы в управляемых формах.

1000 руб.

14.04.2017    25851    10    4    

Подсистема "Конструктор правил заполнения объектов" на основе СКД (для обычного или управляемого приложения).

Инструментарий разработчика v8::УФ v8::СКД 1cv8.cf Платные (руб)

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

6000 руб.

29.03.2017    20764    6    16    

Версионирование объектов для Альфа-авто, ред 4 и 5.

Оптовая торговля Розничная торговля Инструментарий разработчика v8 1cv8.cf Автомобили, автосервисы УУ Платные (руб)

Подсистема версионирования объектов для конфигураций Рарус: Альфа-авто на базе типовой подсистемы от 1С. Позволяет хранить историю изменений документов и справочников, кто, что, когда и какие данные изменял, а так же вернуться к предыдущим версиям объекта.

4000 руб.

03.09.2016    36325    26    24    

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

Инструментарий разработчика v8 v8::УФ 1cv8.cf Платные (руб)

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

5000 руб.

14.01.2016    47457    13    21    

Система хранения присоединенных файлов в томах на диске

Инструментарий разработчика v8 КА1 УПП1 Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    53949    77    51    

Снегопат - расширение Конфигуратора 8.2/8.3 от orefkov

Инструментарий разработчика v8 1cv8.cf Россия Платные (руб)

Работать в Конфигураторе становится еще удобнее и производительнее. Усилий меньше - результат больше! Будь программистом, а не кодером.

16.12.2011    194710    0    orefkov    1096