Обмен данными между учетной системой и КПК выполняется через внешнюю компоненту PocketServer.dll (начиная с версии 4.9 в имя компоненты добавлена цифра номера версии PocketServer49.dll). После получения запроса от КПК данные запроса передаются во внешний отчет, который в зависимости от типа запроса либо принимает данные в учетной системе либо подготавливает данные для выгрузки в КПК. Инициатором обмена всегда выступает КПК. Все запросы и ответы представляют собой текстовые строки, разделяемые символами CR/LF. Весь поток данных от сервера к КПК сжимается по алгоритму ZIP. Вся работа по сжатию выполняется PocketServer.dll.
Инициализация(<?>);
Синтаксис:
Инициализация(<Порт>)
Назначение:
Инициализация внешней компоненты, открытие порта и начало мониторинга по переданному порту.
Возвращаемое значение:
Число, 1 порт открыт, 0 ошибка инициализации.
Параметры:
<Порт> - число, порт по которому осуществляется связь.
Завершить();
Синтаксис:
Завершить()
Назначение:
Завершить процесс мониторинга порта.
ПослатьОтвет(<?>,,);
Синтаксис:
ПослатьОтвет(<Адрес>,<Ответ>,<ПоследняяСтрока>)
Назначение:
Передает строку текста внешней компоненте для последующей отправки на КПК.
Возвращаемое значение:
Число, 1 передано, 0 ошибка передачи.
Параметры:
<Адрес> - строка, уникальный идентификатор текущей сессии обмена.
<Ответ> - строка, передаваемая в КПК строка.
<ПоследняяСтрока> - число, если 1 то это последняя строка, 0 любая другая.
ЗапросОбработан();
Синтаксис:
ЗапросОбработан()
Назначение:
Завершить процесс отправки данных.
ПослатьФайл(<?>,);
Синтаксис:
ПослатьФайл(<Адрес>,<ПутьКФайлу>)
Назначение:
Передать указанный в ПутьКФайлу файл на КПК.
Возвращаемое значение:
Число, 1 передано, 0 ошибка передачи.
Параметры:
<Адрес> - строка, уникальный идентификатор текущей сессии обмена.
<ПутьКФайлу> - строка, полный путь к файлу.
ИсходящийТрафик();
Синтаксис:
ИсходящийТрафик()
Назначение:
Возвращает количество переданной информации с момента инициализации до завершения работы внешней компоненты.
Возвращаемое значение:
Число, передано информации в байтах.
ВходящийТрафик();
Синтаксис:
ВходящийТрафик()
Назначение:
Возвращает количество полученной информации с момента инициализации до завершения работы внешней компоненты.
Возвращаемое значение:
Число, получено информации в байтах.
ACos(<?>);
Синтаксис:
Acos(<Число>)
Назначение:
Рассчитывает арккосинус числа.
Возвращаемое значение:
Арккосинус переданного числа.
Параметры:
<Число> - число.
Sin(<?>);
Синтаксис:
Sin(<Число>)
Назначение:
Рассчитывает синус числа.
Возвращаемое значение:
Синус переданного числа.
Параметры:
<Число> - число.
Cos(<?>);
Синтаксис:
Cos(<Число>)
Назначение:
Рассчитывает косинус числа.
Возвращаемое значение:
Косинус переданного числа.
Параметры:
<Число> - число.
Версия();
Синтаксис:
Версия()
Назначение:
Возвращает текущую версию внешней компоненты.
Возвращаемое значение:
Строка, версия внешней компоненты.
ПерезапуститьКомпрессор(<?>);
Синтаксис:
ПерезапуститьКомпрессор(<Адрес>)
Назначение:
Перезапускает компрессор данных при резкой смене поступающих данных.
Возвращаемое значение:
Число, 0 ошибка выполнения.
Параметры:
<Адрес> - строка, уникальный идентификатор текущей сессии обмена.
ConvertUTCtoLocal(<?>);
Синтаксис:
ConvertUTCtoLocal(<ГлобальноеВремя>)
Назначение:
Конвертирует время из (Универсального координированного времени) UTC в локальное время Windows.
Возвращаемое значение:
Строка, локальное время.
Параметры:
<ГлобальноеВремя> - строка, содержит дату и время в UTC.
ЗарегистрироватьКПК(<?>,);
Синтаксис:
ЗарегистрироватьКПК(<КодКПК>,<Ключ>)
Назначение:
Передает во внешнюю компоненту код КПК и лицензионный ключ для регистрации.
Возвращаемое значение:
Строка, тип лицензии передаваемых регистрационных данных.
Параметры:
<КодКПК> - строка, код мобильного устройства (КПК или коммуникатор).
<Ключ> - строка, лицензионный ключ приобретенный для текущего КПК.
ОтправитьEMail(<?>,);
Синтаксис:
ОтправитьEMail(<Тема>,<Сообщение>,<Вложение>)
Назначение:
Отправляет емаил разработчику Моби-С.
Возвращаемое значение:
Число, если 0 письмо не отправлено, если 1 отправка прошла успешно.
Параметры:
<Тема> - Тема письма.
<Сообщение> - Содержимое письма.
<Вложение> - Список путей к файлам, которые необходимо вложить в письмо, отдельные файлы разделены запятыми.
ПолучитьСтатусСервера(<?>,);(на данный момент функция устарела и не используется)
Синтаксис:
ПолучитьСтатусСервера()
Назначение:
Возвращает список интерфейсов у которых удалось открыть порт и выводит сообщения(всплывающие) если порт открыть не удалось.
Возвращаемое значение:
Строка, список интерфейсов и результат открытия порта.
Пример возвращаемого значения:
Открыт порт 1234 на интерфейсе с IP-адресом 192.168.50.1
Открыт порт 1234 на интерфейсе с IP-адресом 192.168.0.24
ЗадатьПапкуАгента(<?>,);
Синтаксис:
ЗадатьПапкуАгента(<КодАгента>,<ТипФайла>,<ПутьКПапке>)
Назначение:
Выгружает в сервер пути к персональным папкам агента. Сейчас в них выгружаются фото сделанные на КПК.
Возвращаемое значение:
Число, если 0 произошла ошибка, если 1 операция прошла успешно.
Параметры:
<КодАгента> - Код агента.
<ТипФайла> - Тип файла. Сейчас предопределены с типа. Client - фото клиентов, Good - фото товаров
<ПутьКПапке> - Полный путь к папке.
ЗапуститьПриложение(<?>,);
Синтаксис:
ЗапуститьПриложение(<Путь>)
Назначение:
Запускает из Моби-С выбранное приложение.
Возвращаемое значение:
Число, операция выполнена успешно если значение более 0.
Параметры:
<Путь> - Полный путь к запускаемому приложению с коммандной строкой.
МетаданныеФото(<?>,);
Синтаксис:
МетаданныеФото(<ПутьКФото>)
Назначение:
Проверка цифровой подписи и получение дополнительных сведений о фотографии.
Возвращаемое значение:
Строка, если 1 строка то это сообщение об ошибке, если больше то структура с данными.
Содержимое структуры
ТипОбьекта(1 - контрагенты 4 - номенклатура)+Пробел+КодОбьекта\r\n
Дата(yyyy:mm:dd)+Пробел+Время(hh:mm:ss)\r\n
Широта\r\n
Долгота\r\n
СостояниеЦифровойПодписи\r\n
Комментарий\r\n
Ориентация
Параметры:
<ПутьКФото> - Полный путь к файлу с фотографией.
УстановитьФайлКлючей(<?>);
Синтаксис:
УстановитьФайлКлючей(<ПутьКФайлуКлючей>)
Назначение:
Выгружает в сервер путь к файлу с лицензионными ключами
Возвращаемое значение:
Строка, если 1 строка то это сообщение об ошибке, если больше то структура с данными.
Параметры:
<ПутьКФайлуКлючей> - Полный путь к файлу (lickeys.txt) с онлайн ключами.
УстановитьФайлЧерногоСписка(<?>);
Синтаксис:
УстановитьФайлЧерногоСписка(<ПутьКЧерномуСписку>)
Назначение:
Выгружает в сервер путь к файлу с черным списком лицензионных ключей.
Возвращаемое значение:
Строка, если пустая строка, значит возникли проблемы с загрузкой и проверкой черного списка.
Параметры:
<ПутьКЧерномуСписку> - Полный путь к файлу (blacklist.bin). Файл содержит данные по заблокированным ключам.
Пауза(<?>);
Синтаксис:
БазаДанныхОткрыть(<Пауза>)
Назначение:
Возможно задать задержку выполнения в процедуре..
Возвращаемое значение:
Параметры:
<Пауза> - Время задержки. 1 сек = 1000.
БазаДанныхОткрыть(<?>);
Синтаксис:
БазаДанныхОткрыть(<ПутьКБД>)
Назначение:
Открывает базу данных sqlite.
Возвращаемое значение:
Число, если 0 произошла ошибка, если 1 операция прошла успешно.
Параметры:
<ПутьКБД> - Полный путь к файлу базы данных sqlite.
БазаДанныхЗакрыть(<?>);
Синтаксис:
БазаДанныхОткрыть(<ПутьКБД>)
Назначение:
Закрывает открытую базу данных sqlite.
Возвращаемое значение:
Число, если 0 произошла ошибка, если 1 операция прошла успешно.
Параметры:
<ПутьКБД> - Полный путь к файлу базы данных sqlite.
Дополнительные функции для работы с открытой базой sqlite. Если вам нужна детальная информация по работе с этими функциями обращайтесь в техническую поддержку Моби-С.
БазаДанныхПодготовитьЗапрос(Соединение, ТекстЗапроса)
БазаДанныхСледующаяЗапись(ПодгЗапрос)
БазаДанныхЗакрытьПодготовленныйЗапрос(ПодгЗапрос)
БазаДанныхСбросПодготовленногоЗапроса(ПодгЗапрос)
БазаДанныхЗначениеВКолонке(ПодгЗапрос, ИндексКолонки)
БазаДанныхУстановитьПараметр(ПодгЗапрос, НомерПараметра, _Значение)
Серверная компонента "PocketServer55.dll" необходима для нормальной работы модуля интеграции Моби-С. Компонента интегрирована в модуль интеграции Моби-С и устанавливается на компьютер при запуске модуля. Может возникнуть ситуация, когда в необходимо обновить в текущем модуле интеграции серверную компоненту, а обработку оставить старой.
На вкладке Сервер обмена отображается дата сборки текущей подключенной библиотеки "PocketServer55.dll".
Библиотека PocketServer55.dll поставляется в 2х версиях, для 32 и 64 битной платформы 1С:Предприятие 8.
В более новых ОС Windows библиотека находится в самой обработке Моби-С и устанавливается и регистрируется при её запуске. Поэтому необходимо открыть вашу обработку в конфигураторе и заменить библиотеки на новые.
Внимание! Если дата сборки библиотеки осталась старая, проверьте и повторите все действия. Войдите в Windows под пользователем с правами Администратора и запустите 1С и обработку. Запустить 1С:Предприятие под Администратором можно выбрав в контекстном меню ярлыка 1С пункт "Запуск от имени администратора".
В Моби-С начиная до даты релиза 03.03.2020 добавился новый способ работы с облачным сервером - были адреса sky1.mobi-c.ru и sky2.mobi-c.ru, стал адрес sky.mobi-c.net.
Сервер.СоединениеСОблаком(Параметр.КодУчетнойСистемы, Параметр.ПарольУчетнойСистемы, ИмяКомпьютера()+"-"+ИмяПользователя());
Сервер.СоединениеСОблаком(Параметр.КодУчетнойСистемы, Параметр.ПарольУчетнойСистемы, ИмяКомпьютера()+"-"+ИмяПользователя(), "WebSocket");
В Моби-С начиная до даты релиза 2016.04.18 используется файл ключей "lickeys.txt" в кодировке Win-1251
В Моби-С начиная с даты релиза 2016.04.19 используется файл ключей "lickeys_utf8.txt" в кодировке UTF-8
1. МодульОбъекта, метод ОткрытьФайлOnLineКлючей
было
ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys.txt";
стало
ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys_utf8.txt";
было
ФайлКлючей.Прочитать(ПутьКФайлуКлючей);
стало
ФайлКлючей.Прочитать(ПутьКФайлуКлючей, КодировкаТекста.UTF8);
2. Форма Ключи
2.1 удалить метод ОткрытьФайлOnLineКлючей, будет использоваться метод МодульОбъекта.ОткрытьФайлOnLineКлючей
2.2 метод СохранитьOnLineКлючи
новая версия библиотеки работает с файлом ключей в кодировке UTF-8, старая версия обработки работала в Win-1251
было
ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys.txt";
зт = новый ЗаписьТекста(ПутьКФайлуКлючей, "windows-1251");
стало
ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys_utf8.txt";
зт = новый ЗаписьТекста(ПутьКФайлуКлючей, КодировкаТекста.UTF8);
3 форма ФормаОсновная
3.1 метод ПерезапускСервера
было
ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys.txt";
Ф=Новый Файл(ПутьКФайлуКлючей);
стало
ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys_utf8.txt";
Ф=Новый Файл(ПутьКФайлуКлючей);
Если не ф.Существует() Тогда
зт = новый ЗаписьТекста(ПутьКФайлуКлючей, КодировкаТекста.UTF8);
зт.Записать("# Редактирование этого файла вручную запрещено." + Символы.ПС);
зт.Закрыть();
КонецЕсли
;
3.2 метод ПриОткрытии
добавляем автоматическое преобразование файла ключей lickeys >> lickeys_utf8 при первом запуске
было
Если НЕ РежимРабочееМесто Тогда
Если НЕ АвтономныйРежим Тогда
стало
ПутьКФайлуКлючей = КаталогЛогФайлов + "\lickeys.txt";
ПутьКФайлуКлючейUTF8 = КаталогЛогФайлов + "\lickeys_utf8.txt";
Ф = Новый Файл(ПутьКФайлуКлючей);
фUTF = Новый Файл(ПутьКФайлуКлючейUTF8);
Если фUTF.Существует() Тогда
//ничего не делаем, ключи не объединяем
Иначе
Если ф.Существует() Тогда
//преобразуем в utf-8
файлКлючей = Новый ТекстовыйДокумент();
файлКлючей.Прочитать(ПутьКФайлуКлючей);
ФайлКлючей.Записать(ПутьКФайлуКлючейUTF8, КодировкаТекста.UTF8);
Иначе
ФайлКлючей = Новый ТекстовыйДокумент();
ФайлКлючей.УстановитьТекст("# Редактирование этого файла вручную запрещено.");
ФайлКлючей.Записать(ПутьКФайлуКлючейUTF8, КодировкаТекста.UTF8);
КонецЕсли;
КонецЕсли;
Если НЕ РежимРабочееМесто Тогда
Если НЕ АвтономныйРежим Тогда
было ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys.txt";
стало ПутьКФайлуКлючей=КаталогЛогФайлов+"\lickeys_utf8.txt"