Форум программистов, компьютерный форум, киберфорум
1С: Администрирование и интеграция
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/43: Рейтинг темы: голосов - 43, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 15
1
1C 8.x

Создание Native API компонента для 1C

04.09.2015, 12:08. Показов 8080. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача состоит в том чтобы сделать внешний компонент который сможет обрабатывать события типа входящий звонок, передавать и принимать элементарные данные. Сложность состоит в том что все это делается для интеграции с сервисом SDK для которого написано для среды .NET. То есть можно создать фоновый .NET клиент который будет общаться с сервисом и отправлять данные в внешний компонент ну и принимать из него данные и делать запросы в сервис. Пожалуйста предложите мне более разумные решения или помогите адекватно это реализовать.

PS: сталкиваюсь с 1С первый раз.

Добавлено через 20 часов 54 минуты
Продолжаю разбираться с этим. как я понимаю нужно сделать Native API компонент который будет обрабатывать события которые генерирует .NET клиент. Например событие входящий звонок передает переменную номер. в 1С должно появиться уведомление, при приеме звонка по номеру делается запрос и подтягиваются данные клиента который звонит.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.09.2015, 12:08
Ответы с готовыми решениями:

Как верно использовать JavaScript native Fetch API вместо jQuery для опроса данных из API
Я разбираюсь в js, и на данный момент понял что метод из js Fetch может сам отправлять запросы на...

Компонента (DLL) для работы с ASP, с использованием WinInet API
написал компоненту (DLL) для работы с ASP, с использованием WinInet API, в частности...

Утечка памяти при использовании Native API
Всем привет. Я использую внешнюю компоненту, написанную на С++. При вызове процедур и функций...

Создание компонента, при добавлении автоматически получить Parent фокусированного компонента
Привет всем, вот ни разу не писал еще компоненты, начал разбираться, все просто, понятно, доступно,...

6
Модератор
Эксперт 1С
3784 / 2964 / 589
Регистрация: 10.03.2011
Сообщений: 11,669
Записей в блоге: 1
05.09.2015, 01:52 2
[username], все уже написано до нас =)))

http://habrahabr.ru/post/191014/
0
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 15
07.09.2015, 11:34  [ТС] 3
я читал это, даже с автором общался. Да там довольно подробно написано как делать это на с++. Но суть проблемы в том что в SDK работаешь с шарпами. Автор той публикации посоветовал с помощью execl.
0
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 15
09.09.2015, 11:41  [ТС] 4
Решил сделать хоть что то на COM. Возник вопрос как сделать так чтоб когда я создаю форму, прохожу регистрацию чтоб форма сворачивалась и можно было работать с 1С. просто когда я запускаю форму то фокус переключается только на ее. И еще интересно что я теряю не используя Native API, кроме возможности работы без регистрации.
0
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 15
11.09.2015, 10:43  [ТС] 5
Продолжаю разбираться с 1С. У меня возник вопрос почему 1С обрабатывает только 1 событие.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public bool GetNum()
        {
            try
            {
                asyncEvent.ExternalEvent("AddIn", "country", "+38");
                asyncEvent.ExternalEvent("AddIn", "city", "044");
                asyncEvent.ExternalEvent("AddIn", "number", "1234567");
                return true;
            }
            catch (Exception e)
            {
                asyncEvent.ExternalEvent("AddIn", "error", e.ToString());
                return false;
            }
        }
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
перем Компонента;
перем кодСтраны;
перем кодГорода;
перем Номер; 
Процедура ПриНачалеРаботыСистемы()
    ПодключитьВнешнююКомпоненту("AddIn.MyComponent");
    Компонента = Новый("AddIn.MyComponent");
    Компонента.GetNum();       
КонецПроцедуры
 
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    Сообщить("произошло событие")   ;
    если Источник = "AddIn" тогда
        если Событие = "country" тогда
            кодСтраны = Данные;
            Сообщить("Код страны: " + кодСтраны);
        КонецЕсли;
            если Событие = "city" тогда
            кодГорода = Данные;
            Сообщить("Код города: " + кодГорода);  
        КонецЕсли;
        если Событие = "number" тогда
            номер = Данные;
             Сообщить("Номер: " + номер); 
        КонецЕсли; 
    конецесли;      
КонецПроцедуры
В результате в окне сообщений я получаю только одно событие - первое.
0
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 15
28.09.2015, 13:32  [ТС] 6
Снова здравствуйте, С компнентой на шарпах разобрался, начал копать натива апи, ДОбавить метод и свойство удалось но когда добавляю в метод строку
C++ (Qt)
1
pAsyncEvent->ExternalEvent(L"who", L"what", L"data");
у меня вылетает 1С. Можете дать некий подробный гайд по реализации внешних событий?
0
1 / 1 / 0
Регистрация: 08.01.2014
Сообщений: 17
16.05.2018, 11:33 7
Добрый день, а вы не могли бы скинуть пример в C#?
0
16.05.2018, 11:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2018, 11:33
Помогаю со студенческими работами здесь

Создание метода для несуществующего компонента
Есть TabSheet. На ней в процессе выполнения программы создается компонент Image. TTabSheet *pPage...

Создание своего компонента на основе компонента Timer
нужно создать свой компонент какбы который наследует компонент Таймер нужно хотя бы добавить...

Создание визуального компонента наследника базового компонента
Добрый день! В VS 2005 было возможно создать элемент Windows Forms control library на базе...

Создание компонента для вывода на печать документа
Здравствуйте! Нужно вывести документ на печать с предварительным просмотром. Документ имеет общую...

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru