Агент: просмотр истории местоположений

В программе Агент предусмотрена запись координат устройства. Включение или выключение записи координат выполняет администратор учетной системы, с которой для текущего устройства настроен обмен данными. При первом запуске с включенной записью приложение отобразит запрос разрешения на использование системных служб определения местоположения. Если по каким-то причинам пользователь не даст разрешения, определение координат работать не будет.

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

Читать далее

REST сервис для 1С 7.7 продолжение

После нескольких недель работы с базой через http-сервис хочу поделиться несколькими замечаниями относительно особенностей работы с 1С – и самой по себе и как с COM-объектом.

Рабочий код текущей версии сервиса и пример модуля 1С можно посмотреть на GitHub: REST service for 1C77 application. Используемое Андроид-приложение: Помощник.

Напомню упрощенную схему взаимодействия:

Читать далее

Выполнение задач по расписанию в 1С 7.7

Один из больших недостатков платформы 7.7 – отсутствие планировщика заданий, штатными средствами невозможно настроить, например, запуск нужной процедуры в определенное время.

Частично решить эту проблему можно используя процедуру ОбработкаОжидания(). В ней указывается имя необходимой процедуры и таймер повторения, таким образом задание будет исполняться с нужным интервалом. Как вариант, можно перед запуском проверять текущее время и выполнять процедуру только в нужные часы-минуты.

Недостатки этого решения: должен быть запущен сеанс пользователя 1С. Выходит нужно либо держать открытым окно программы, запустив её от имени специально заведенного для выполнения задач по расписанию пользователя-робота, либо запускать такой “планировщик” у реального пользователя, но при этом запуск по расписанию будет блокировать его работу.

Читать далее

Mонитору активности не удается выполнить запросы к серверу

Для восстановления работоспособности монитора активности Microsoft SQL Server нужно в командной строке выполнить следующее:

lodctr /r

REST сервис для 1С 7.7

Обычно все современные приложения, так или иначе, способны общаться с внешним миром, а особо продвинутые могут общаться через веб-технологии. Как оказалось, даже такую, устаревшую по современным меркам платформу, как 1С:Предприятие 7.7 возможно научить работать с полноценными Http запросами. Здесь я приведу пример внедрения максимально простого варианта REST сервиса для того чтобы понять сам принцип его запуска и работы. В целом система состоит из следующих компонент:

  • сервер приложений Apache-Tomcat, он принимает http запрос и запускает сервлет
  • сервлет, написанный на Java, который при получении http запроса запускает 1С через COM-объект, получает выборку данных, форматирует ответ в формате JSON и отправляет назад
  • Java-библиотека для обращения сервлета к 1С – Jawin
  • 1С:Предприятие 7.7, в конфигурацию необходимо внести дополнения – функции, через которые сервлет будет получать данные и выполнять нужные операции

Постараюсь описать по шагам, как заставить всё это работать вместе.

Читать далее

Подключение MG-T707TS к 1С 7.7

Отличительной особенностью кассового аппарата MG-T707TS является его способность работать без использования специального OLE драйвера, как это обычно делается в 1С. Вместо драйвера можно использовать протокол Http – внутри кассового аппарата работает Web-сервер, к которому можно обращаться через локальную сеть с помощью Get и Post запросов. В 1С версий 8.х можно все операции провести встроенными средствами, а вот в “семерке” встроенных средств не хватает, но это легко обходится компонентами, доступными в Windows-среде.

Читать далее

Пример использования PUSH-сообщений

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

Читать далее

Отправка PUSH сообщений

Это заметка о том, как отправить PUSH сообщение из 1С на Андроид-устойство с использованием сервиса Firebase Cloud Messaging.

  • если нужно отправить сообщение на определенное устройство, понадобится его токен – он формируется сервисом FirebaseMessagingService, его нужно прочитать в приложении и передать на сервер для последующего использования
  • понадобится ключ API приложения, его можно найти в параметрах проекта в Firebase Console, на вкладке Cloud Messaging
  • используя токен и ключ нужно составить и отправить на сервер службы сообщений POST-запрос.
Читать далее

Язык платформы в Ubuntu

Чтобы запустить 1С с нужным языком интерфейса в Ubuntu можно отредактировать ярлык запуска: в папке пользователя ~/.local/share/applications/1cestart.desktop в строку Exec нужно добавить параметр “/L uk” или “/L ru” например.

Но! Стандарнтый ярлык запуска, с именем 1cestart.desktop переписывается после каждого запуска 1с, по этому лучше сделать копию ярлыка и в ней прописать нужный ключ языка.

Не найдено ни одного принтера

В Windows 2008 R2 при попытке подключения к сетевому принтеру выводится сообщение “Не найдено ни одного принтера”, хотя сетевые ресурсы и принтер в том числе видны в проводнике при обзоре сети. Если попытаться установить принтер через локальный порт, указав адрес вручную, выводится ошибка “Отказано в доступе”. Также примечательно, что другие компьютеры в сети подключаются и работают с этим принтером без проблем, т.е. источник проблемы – система, из которой происходит попытка подключения.

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers

Сообщение об ошибке на английском: “No printers were found”, код ошибки: 0x00000bc4.