Описание

Основной задачей Adapter 1C является предоставление доступа к системе 1С со сторонних систем. В своей работе я применил данный адаптер для: взаимодействия с IP телефонией (Oktell и Астериск), WEB сайтом и мобильным приложением. В планах есть еще и реализация взаимодействия с системой учета рабочего времени персонала (BioSmart). Взаимодействие простое : чтение и запись. 

 

Схема взаимодействия

Схема взаимодействия

Рис.1. Схема взаимодействия

Adapter 1C взаимодействует с системой 1С посредством COM объекта, отсюда и требование, чтобы на машине, на которой запущен адаптер, было предустановлено клиентское приложение 1С. Сторонние системы взаимодействуют с адаптером через сокеты (канал открытый и шифрование данных не ведется. безопасность необходимо обеспечить самостоятельно).

 

Интерфейс

В заголовке главного окна программы расположены ссылки для перехода между вкладками: Подключение, Логирование, Тест, Инфо и ссылка для закрытия приложения Выход.

Главное окно программы

Рис. 2. Интерфейс адаптера

Краткое описание основных вкладок:

Подключение - на этой вкладке необходимо задать данные для подключение к системе 1С (адрес, путь, учетные данные) и локальный адрес для адаптера (см. Рис. 2.).

Логирование - в этой вкладке ведутся логи работы адаптера (в основном необходимы для выявления проблем при работе адаптера)

Тест - в данной вкладке вы можете протестировать команды адаптера (выполнить запрос и вызвать процедуру записи) (без явного указания служебной команды)

 

Установка и первый запуск

1. Скачайте приложение Adapter1C по ссылке : https://yadi.sk/d/UAYm21rOi7Ehx

2. Ключевые файлы адаптера:

1Cadapter.exe-само приложение адаптера

reset.bat - скрипт перезапуска приложения в случае если возникла ошибка (необходимо отметить галочку Авто-перезапуск в главном окне)

 3. При первом запуске, адаптер попросит ввести ключ, его получить можно по ссылке:

gen btn

*Ключ генерируется абсолютно бесплатно. Система с ключом необходима для введения статистики.

4. После активации ключа задайте необходимые параметры для подключения к системе 1С:

  • Путь к базе - в случае с файловой базой, то необходимо указать полный путь к ней. Если же у вас сервере 1С, то указать адрес в следующем формате:<IP-adress>\<имя инф. базы> (пример: 192.168.10.10\torg)
  • Имя и пароль пользователя - авторизационные данные для подключения к базе 1С.
  • Выбрать тип базы Файловая или Серверная
  • Локальный IP-адрес машины с которого адаптер будет принимать запросы от сторонних систем.

5. Далее необходимо настроить систему 1С:

5.1. Необходимо создать новый документ ДокументВзаимодействия (регистры выставляйте на свое усмотрение).

5.2. Для предоставления доступа адаптеру Adapter 1C к базе 1С, желательно зарегистрировать отдельную учетную запись и назначить необходимые права.

5.3. В модуле объекта документа ДокументВзаимодействия пропишем экспортируемую процедуру AdapterImportData. Адаптер при получении команды на запись  будет вызывать данную процедуру и передавать ей данные.

//Код процедуры модуля
Процедура AdapterImportData (ВходныеДанные) экспорт
    AdapterModule.AdapterWrite(ВходныеДанные);
КонецПроцедуры

5.4. Вы наверно заметили, что процедура обращается некому модулю AdapterModule и вызывает у него  процедуру AdapterWrite. Это необходимо для того, что бы была возможность производить записи в документы. (с самого модуля объекта это сделать не получается) Создайте у себя общий модуль AdapterModule (для модуля укажите следующие свойства: Сервер, Вызов сервера). В теле модуля объявите экспортируемую процедуру AdapterWrite:

//Код общей экспортной процедуры регистрации записи
Процедура AdapterWrite (ВходныеДанные) экспорт
    стрТвоя = СтрЗаменить(ВходныеДанные,";", Символы.ПС);
    ТекНомер = СтрПолучитьСтроку(стрТвоя, 1);
    ТекФИО = СтрПолучитьСтроку(стрТвоя, 2);
    ТекТип = СтрПолучитьСтроку(стрТвоя, 3);
    ТекКомментарии = СтрПолучитьСтроку(стрТвоя, 4);
    doc = Документы.ДокументВзаимодействия.СоздатьДокумент();
    doc.Телефон = ТекНомер;
    doc.Дата=ТекущаяДата();
    doc.ФИО = ТекФИО;
    doc.Тип = ТекТип;
    doc.Комментарии = ТекКомментарии;
    doc.Записать();
КонецПроцедуры

*Вообще, в данной процедуре, можете прописать любую логику обработки команды записи. Я же для примера извлекаю данные из команды (номер, фио, тип и комментарии) и прописываю их в новом документе.

5.5. Настройка 1С завершена. 

6. Подключитесь к системе 1С из адапетра Adapter 1C и запустите службу.  Готово!

Описание команд

Команды делятся на две категории: Чтения и Записи.

Пример команды чтения:

Выбрать Фио как arg1V, Телефон как arg2v из Документ.ЖурналЗвонков;Прочитать

Как вы заметили, возвращаемые данные должны соблюдать строгий формат имен argNv (где N-число от 1 до 15), а в основном это обычный запрос к базе 1С. После знака ";" указываем служебную команду Прочитать

 

Пример команды записи:

Иванов Иван Иванович;Жалоба;Не доставили мебель;Создать

Последним параметром передаем служебное слово Создать и адапетр передаст команду 1С.

 

 

 

Ссылки

Скачать программу : https://yadi.sk/d/UAYm21rOi7Ehx

Генерировать ключ : http://gebekovas.ru:8980/licGen/