Показаны сообщения с ярлыком COM-соединение. Показать все сообщения
Показаны сообщения с ярлыком COM-соединение. Показать все сообщения

4 окт. 2013 г.

Разработка своего коннектора 1С для QlikView на C#

На сайте QlikCommunity можно найти материалы по SDK (v.11, v.10) для разработки своего коннектора. Нужные файлы находятся в разделе QVX SDK Libraries and Examples (QvxSDK_2.0.zip). В архиве находятся примеры, необходимые файлы для разработки, и документация. Для разработки нам потребуется Visual Studio. Знание C# необязательно, документации, примеров и умения пользоваться поиском оказалось вполне достаточно для создания примитивного коннектора.
На видео можно посмотреть, что у меня получилось, работа с QlikView начинается c 04:35.


18 июл. 2013 г.

Excel Fast Massive Load


Какие бы ни были большие по объему импортируемые данные, всегда хочется, чтобы они грузились как можно быстрее. Иначе зачем нам тогда эти хх-ядерные компьютеры с уу-гигабайтами оперативы. Для Excel в качестве альтернативы классическому медленному последовательному обходу по ячейкам листа можно использовать считывание данных в память с последующей обработкой.
Сначала мы так же подключаемся через COM-соединение к необходимому файлу и получаем нужный лист с данными. Далее, обращаемся к свойству листа .UsedRange.Value. Это свойство содержит значение типа COMSafeArray, с котором 1С умеет работать и в котором как раз и находятся все необходимые нам данные. Через метод Выгрузить() получаем наши данные и обрабатываем их. В качестве примера приведу обработку и замеры по быстродействию.

8 апр. 2013 г.

Запись во внешний источник данных 1С

Начиная с платформы 8.2.14 в 1С появилась коллекция "Внешние источники данных". Использование объектов этой коллекции позволяет работать с внешними данными через ODBC. Стандартные механизмы платформы позволяют просматривать данные и использовать их в запросах. Тем не менее, на примере взаимодействия с SQL покажу возможность работы с внешними источниками на прямое добавление/изменение данных SQL из 1С.

10 янв. 2013 г.

Получение данных из таблицы QlikView

Продолжая изучать API QlikView, меня заинтересовала возможность получения данных из таблиц (объект TableBox) напрямую, по COM-соединению. Раз когда-то понадобилось получение данных из Excel, то и подобный вариант может кого-то заинтересовать. Покопавшись в документации, нашел два способа получения данных из этих объектов. Пример для управляемого приложения.

2 окт. 2012 г.

Выгрузка в QlikView из консоли запросов

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

1 окт. 2012 г.

QlikView + 1С, сохранение в QVD

Продолжаем изучать взаимодействие QlikView и 1С. Сегодня рассмотрим выгрузку данных в файл QVD. В дальнейшем, эти файлы можно подключать к другим проектам QlikView. Файлы QVD имеют меньший размер по сравнению с другими файлами данных, что несомненно является весомым аргументом для их использования при больших объемах данных. Для сравнения, .csv - больше примерно в два раза, .xls - три, .xml - 5-7 раз.

30 сент. 2012 г.

Добавление скрипта загрузки в QlikView из 1С


Продолжаю серию публикаций "QlikView + 1С без 1С коннектора". Как оказалось, API QlikView позволяет получить доступ к скрипту загрузки документа. Данную возможность можно использовать для генерации своего скрипта на стороне 1С, например, когда точное количество колонок таблицы результата будет известно после выполнения запроса.
Нижеприведенный код считывает из параметров документа QlikView скрипт загрузки, производит добавление строк и помещает скрипт обратно в документ:

9 сент. 2012 г.

QlikView + 1С без 1С коннектора II

В предыдущем посте мы подключались из QlikView к 1С по COM-соединению. Сейчас рассмотрим обратное взаимодействие, подключимся из 1С к QlikView и загрузим данные.
Для экспериментов используем демо-базу 1С:Управление торговлей 11. Создаем новый документ QlikView, включаем возможность динамического обновления, скрипт загрузки настраиваем так же, как в прошлом примере.

6 сент. 2012 г.

QlikView + 1С без 1С коннектора

Популярность QlikView на российском рынке BI-систем постепенно растет, многие компании используют это ПО для консолидации финансовых данных, сокращения трудозатрат, оперативного контроля и многих других задач. И вполне закономерно, возникла необходимость связки 1С с QlikView, желательно напрямую, без всяких промежуточных выгрузок из базы. Некоторые ИТ-компании уже разработали коммерческие решения, например,  БИТ:Коннектор QlikVIew к 1С или АТК QlikView-1C Коннектор, так или иначе облегчающие этот процесс. В качестве бесплатной альтернативы предлагаю простой способ получения информации из 1С через COM-соединение.

13 авг. 2012 г.

Прямые запросы к MS SQL серверу

На днях была реализована следующая задача: создание таблицы/загрузка данных в базу на MS SQL из 1С, считывание данных из MS SQL в 1С. Реализация сделана с использованием COM-соединения. Обновиться до 14й платформы и организовать все с помощью внешних источников данных по ряду причин было невозможно. А теперь обо всем по порядку.

1. Настройки для MS SQL.
Создаем новую DataBase (пусть будет testDB) через консоль SQL, дополнительные настройки настройки по желанию. Я не стал создавать из 1С через скрипт, потому что:
а) процедура разовая;
б) для этого пришлось бы хранить логин/пароль администратора SQL в 1С.
Создаем отдельного пользователя SQL с полными правами в нашей DataBase (допустим, имя пользователя com1c). Для этого в форме настроек пользователя на вкладке "Server Roles" оставляем все как есть, по умолчанию доступна роль "public" - только просмотр. На вкладке "User Mapping" находим нашу DataBase, добавляем роль db_owner. Пароль пользователя зависит от настроек политики безопасности сервера.