А чё это вы здесь делаете, а?

Публикация № 723481

Разработка - Системная интеграция - Интеграция с WEB

обработка библиотека GA GoogleAnalytics lib sample статистика события формы

Разработчикам тиражных обработок близка и понятна проблема обратной связи с пользователем. Много важного и полезного можно почерпнуть, зная, что делает бухгалтер, который запустил обработку. В большом мире вэба сбор статистики на сайте дело привычное и даже обязательное. Эта статья покажет практику применения инструментов сбора статистики из мира веба для обработок на платформе 1С:Предприятие.

Что это?

Данная публикация на примере демонстрационной обработки показывает, как отправлять статистику на сайт analytics.google.com. После встраивания библиотеки для работы с Google Analytics ваша обработка сможет отправлять статистику о:

  • количестве пользователей
  • переходах по формам
  • событиях интерфейса пользователя
  • событиях бизнес-логики обработки
  • ошибках
  • и другой информации

Данная разработка результат совместной работы сотрудников нашей компании. Коллега заложил основы проекта. Я сделал демонстрационный пример и это описание.

Исходный код библиотеки и демонстрационной обработки находятся в репозитории на GitHub

Для тех, кто торопится

Как подключить и внедрить. Шесть простых шагов:

  1. Заведите аккаунт на сайте  analytics.google.com и получите идентификатор отслеживания
  2. Скопируйте в свою обработку форму "модGA" из демонстрационной обработки
  3. В основной форме вашей обработки инициализируйте модуль GA, так, как это сделано в примере
  4. Добавьте вызов метода отправки данных в GA во все контролируемые места вашей обработки
  5. Добавьте опцию отключения отправки данных в GA и текст дисклеймера на форме настройки вашей обработки
  6. Настройте отчеты на сайте  analytics.google.com

Что это за название у публикации?

Фраза из советского художественного фильма подошла как нельзя лучше:

 

Google Analytics для обработок. Что это дает?

Признаюсь, Google Analytics это целая вселенная. Понимать от и до, у меня пока не получается. Многое постигаю методом "тыка", а он как известно не очень эффективен. Про Google Analytics есть свежая книжка на русском, возможно она ответит на некоторые вопросы. Буду рад советам коллег, как этот инструмент использовать более полно. Вопросы у меня уже есть. Далее несколько примеров, как GA может помочь разработчику тиражных обработок.

Аудитория пользователей обработки

В GA доступна информация о количестве пользователей в том числе о новых и вернувшихся. Количество сеансов и их длительность тоже очень полезные знания особенно в динамике. Например вы выпустили новую версию обработки и продолжительность сеансов снизилось. Возможно это положительный эффект.

Важно! Для надежного подсчета количества пользователей необходимо правильно устанавливать поле библиотеки ИдКлиента

Обзор аудитории

Местоположение пользователей

Google Analytics дает информацию о местоположении пользователей и их активности. Если ваша обработка или конфигурация распространяется через региональных партнеров, то данная статистика поможет определиться с регионами, которые требуют помощи.

местоположение

Вовлечение пользователей

Информация о времени проведенном за вашей обработкой показывает наиболее популярный сценарий использования. Длительность сеанса и количество открытых форм укажет на полноту использования функционала вашей обработки. Например, вы можете снять хронометраж "образцового" использования вашей обработки и в дальнейшем сравнивать эти параметры со статистикой вовлечения.

вовлечение

Карта поведения

Совершенно очаровательный и совершенно непонятный "шайтан" отчет

карта поведения

Просмотр страниц

Информация о просмотре форм в обработке. На мой взгляд, интерес представляют наименее популярные формы. Почему пользователи редко их открывают? Нужно разобраться. Так же интересен анализ в динамике. После изменений в новой версии стали ли формы более популярными?

страницы

События

В Google Analytics события детализируются по категориям, событиям и деталям (ярлыкам). Я рекомендую категории и события прописать заранее в "перечислениях" библиотеки а вот ярлыки можно оформлять "живым текстом". Пример события:

Действие пользователя - щелчок на кнопке - B2BПолучитьДокумент 

Тут красный текст - категория события, зеленый текст - событие а синий текст - ярлык события.

И последнее, о событиях. В GA событие помимо трех вышеназванных параметров имеет четвертый количественный параметр "Количество". Его удобно использовать для подсчета событий бизнес логики. Например, пользователь отметил 5 документов и отправил в ЕГАИС, тогда в GA можно отправить сообщение о событии типа:

Событие бизнес-логики - отправка данных - справка "Б" - 5

события

Пример пользовательского отчета "Конфигурации"

пользовательский отчет

С чем я не разобрался

Measurement Protocol позволяет передавать на сервер GA много полезной информации однако не все что я отправляю на сервер смог увидеть в отчетах. Что не получилось:

  1. Посмотреть значения обязательных параметров, которые я передаю при каждом обращении в GA. Здесь "an", "av" и "cdx" параметры Measurement Protocol, через которые я передаю данные в обращении  Вопрос решен. Спасибо Крапивину Андрею.
    • an Наименование конфигурации
    • av Версия конфигурации
    • cd1 Версия платформы
    • cd2 Версия ОС
    • cd3 Наименование обработки
    • cd4 Версия обработки
  2. Посмотреть информацию обращения об ошибках в обработке. В данном обращении используется параметр "exd" Measurement Protocol
  3. Пакетный режим отправки обращений в GA

Google Analytics, начало работы с ресурсом

Регистрация

Для работы потребуется зарегистрироваться на сайте Google Analytics. Для регистрации в GA нужен аккаунт в gmail.com. Войдите под своим аккаунтом в Google и зарегистрируйтесь на сайте  analytics.google.com

Заполните параметры нового аккаунта. Обратите внимание на подчеркнутые поля. Далее необходимо нажать кнопку “Получить идентификатор отслеживания”, прочитать и согласиться с лицензионным соглашением.

Параметры аккаунта

В настройках аккаунта найдите "Идентификатор отслеживания". Он нам в дальнейшем понадобиться.

В приложенном примере обработки у идентификатора отслеживания сохранено рабочее значение. Это не является проблемой безопасности.

Идентификатор отслеживания

Google Analytics для сайтов

Тут все просто. В настройках аккаунта есть код для встраивания на страницы сайта. Он делает все что нужно но нас этот вариант не интересует.

Google Analytics для обработок

Компания Google разработала Measurement Protocol, который позволяет заливать данные в Google Analytics откуда угодно. Коротко о возможностях этого протокола:

  • Данные в Google Analytics отправляются с помощью POST запросов к ресурсу https://www.google-analytics.com/collect
  • Данные в Google Analytics передаются с помощью обращений, которые состоят из параметров. Список всех параметров
  • Из множества всех параметров, для обработок полезны, на мой взгляд, только некоторые. Используемые в библиотеке параметры.
  • Поддерживается специальный режим отладки для которого создан отдельный ресурс https://www.google-analytics.com/debug/collect
  • Рабочий режим всегда возвращает код ответа 200.
  • Протокол поддерживает пакетный режим отправки. Подробнее тут. Пакетный режим реализован в описываемой библиотеке, однако он у меня не работает. В Google Analytics попадает только первое обращение из пакета. Буду рад помощи коллег.

Возможности этого протокола были положены в основу этого решения

Настройка Google Analytics

В настройках GA необходимо сделать:

Создать новое представление с вариантом отслеживания данных "Мобильное приложение"

Настройка представления

Прописать пользовательские параметры в разделе "Ресурс" в соответствии с настройками библиотеки

Настройка специальных параметров

Индекс параметра в настройке на сайте должен соответствовать параметру в библиотеке

Специальные параметры

Библиотека для работы с Google Analytics через Measurement Protocol

Библиотека для отправки данных в Google Analytics реализована в виде управляемой формы обработки "модGA". Библиотека содержит публичный методы и публичные поля. Библиотеку необходимо встроить в собственную обработку и в контролируемых местах обработки вызывать методы отправки данных в GA.

Устройство библиотеки

Конструктор / деструктор

Для начала работы с библиотекой в основной форме обработки необходимо вызвать метод конструктора библиотеки. Данный метод удобно вызывать из метода "ПриОткрытии" основной формы обработки

НачатьРаботуС_GA(сИДПриложения, сИДКлиента)

где параметры:

сИДПриложения - Строка - (необязательно) Идентификатор отслеживания. Может быть ранее установлен методом УстановитьИдентификаторПриложения(сИдПриложения)
сИДКлиента - Строка - (необязательно) Идентификатор клиента. Может быть ранее установлен методом УстановитьИдентификаторКлиента(сИДКлиента) 
возвращаемое значение: Булево - флаг успешного выполнения

 

ЗакончитьРаботуС_GA()

Метод для корректного завершения работы с библиотекой. Данный метод удобно вызывать из метода "ПриЗакрытии" основной формы обработки.

 

Интерфейс библиотеки

Метод отправки обращений в Google Analytics

GA_ОтправитьСведения(мДанные)

где параметр:

мДанные - Массив - (обязательно) Массив с данными. Элемент массива -  структура с параметрами обращения в Google Analytics

Метод "GA_ОтправитьСведения" вызывается всегда, когда необходимо отправить подготовленное обращение. Если массив с данными содержит один элемент, то будет отправлен одиночный запрос. Если массив содержит несколько элементов, то будет отправлен пакетный запрос.

Данный метод проверяет состояние реквизита формы библиотеки "р_бРазрешено" и если состояние "Ложь", то отправка не происходит. Флаг "р_бРазрешено" устанавливается методом УстановитьРазрешениеОтправкиСтатистики(бРазрешено).

Так же метод проверяет состояние реквизита формы библиотеки "р_бРежимОтладки" и если состояние "Истина" то работает режим отладки.Флаг "р_бРежимОтладки" устанавливается методом УстановитьРежимОтладки(бРежимОтладки).

 

Методы подготовки данных обращений

GA_Сеанс(сСеансИнфо, мДанные)

где параметры:

сСеансИнфо - Строка - (обязательно) Значение "перечисления" SC

мДанные - Массив - (необязательно) Данные для GA, подготовленные ранее. Для пакетного режима

Возвращаемое значение: Массив - Данные для обращения в Google Analytics

Данный метод добавляет в массив мДанные элемент, который содержит параметры обращения о сеансе работы обработки. Этот метод удобно вызывать из методов "ПриОткрытии" и "ПриЗакрытии" основной формы обработки

 

GA_Форма_Страница(сОбработкаНаименование, сФормаНаименование, мДанные)

где параметры:

сОбработкаНаименование - Строка - (обязательно) наименование обработки. Для удобства доступен экспортный метод Обработка_Имя(), который возвращает наименование обработки в виде строки.

сФормаНаименование - Строка - (обязательно) наименование формы на которую совершен переход. Для удобства доступен экспортный метод Форма_Имя(оФорма), который возвращает имя формы в виде строки

мДанные - Массив - (необязательно) Данные для GA, подготовленные ранее. Для пакетного режима

Возвращаемое значение: Массив - Данные для обращения в Google Analytics

Данный метод добавляет в массив мДанные элемент, который содержит параметры обращения о переходе на форму обработки. Этот метод оставлен для совместимости. Рекомендуется использовать метод GA_Форма_Экран

 

GA_Форма_Экран(сФормаНаименование, мДанные)

где параметры:

сФормаНаименование - Строка - (обязательно) наименование формы на которую совершен переход. Для удобства доступен экспортный метод Форма_Имя(оФорма), который возвращает имя формы в виде строки

мДанные - Массив - (необязательно) Данные для GA, подготовленные ранее. Для пакетного режима

Возвращаемое значение: Массив - Данные для обращения в Google Analytics

Данный метод добавляет в массив мДанные элемент, который содержит параметры обращения о переходе на форму обработки. Рекомендуется использовать этот метод, так как он передает обращение с типом "Просмотр экрана".

Этот метод удобно вызывать из методов "ПриОткрытии" форм обработки а так же в методе описания оповещения о закрытии, для отслеживания возврата в родительскую форму из дочерней.

 

GA_Ошибка(сОшибкаОписание, бОшибкаФатальная, мДанные)

где параметры:

сОшибкаОписание - Строка - (обязательно) Значение "перечисления" EXD

бОшибкаФатальная - Булево - (обязательно) Признак фатальной ошибки.

мДанные - Массив - (необязательно) Данные для GA, подготовленные ранее. Для пакетного режима

Возвращаемое значение: Массив - Данные для обращения в Google Analytics

Данный метод добавляет в массив мДанные элемент, который содержит параметры обращения об ошибках в обработке. Этот метод удобно вызывать из операторных скобок "TRY - CATCH" или из кода проверок на ошибки.

 

GA_Событие(сСобытиеКатегория, сСобытиеНаименование, сЭлемент, чКоличество, мДанные)

где параметры:

сСобытиеКатегория - Строка - (обязательно) Категория события. Значение "перечисления" EC 

сСобытиеНаименование - Строка - (обязательно) Наименование события. Значение перечисления "перечисления" EA

сЭлемент - Строка - (необязательно) Наименование элемента формы или иное описание события

чКоличество - Число - (необязательно) Количественная характеристика события 

мДанные - Массив - (необязательно) Данные для GA, подготовленные ранее. Для пакетного режима

Возвращаемое значение: Массив - Данные для обращения в Google Analytics

Данный метод добавляет в массив мДанные элемент, который содержит параметры обращения о событиях в обработке. Этот метод, в зависимости от категории события, удобно вызывать из команд формы, из бизнес или сервисных методов обработки.

 

Методы установки параметров

УстановитьРазрешениеОтправкиСтатистики(бРазрешено)

где параметр:

бРазрешено - Булево - (обязательно) команда на разрешение отправки статистики в GA. Если "Истина", то отправка разрешена.

Данный метод устанавливает приватное поле библиотеки "р_бРазрешено", которое проверяется перед каждой отправкой обращения в GA. Если значение поля "Ложь", то отправка данных не производится.

 

УстановитьРежимОтладки(бРежимОтладки)

где параметр:

бРежимОтладки - Булево - (обязательно) команда на работу обработки в режиме отладки. Если "Истина" то режим отладки включен.

Данный метод устанавливает значение приватного поля библиотеки "р_бРежимОтладки", которое проверяется перед каждой отправкой в GA. Режим отладки длится до его выключения пользователем.

Немного о режиме отладки при работе с GoogleAnalytics

  • режим отладки это по сути отправка запросов на особый ресурс Google Analytics
  • информация отправленная в режиме отладки в статистике не учитывается
  • если режим отладки выключен, то GA всегда возвращает код ответа 200 (OK), даже если данные приняты с ошибкой
  • в режиме отладки GA возвращает в теле HTTP ответа строку в формате JSON, которая содержит диагностику
  • в данной библиотеке отладочная информация записывается в журнал регистрации

Пример записи в журнал:

 
УстановитьИдентификаторПриложения(сИдПриложения)

где параметр:

сИдПриложения - Строка - (обязательно) код отслеживания, полученный при регистрации в GoogleAnalytics. Код отслеживания, также может быть установлен в конструкторе и в таком случае вызов этого метода не требуется. Данный метод должен быть вызван до вызова метода конструктора.

 

УстановитьИдентификаторКлиента(сИдКлиента)

где параметр:

сИдКлиента - Строка | УникальныйИдентификатор - (обязательно) идентификатор УИД, который характеризует пользователя обработки. Идентификатор клиента, также может быть установлен в конструкторе и в таком случае вызов этого метода не требуется. Данный метод должен быть вызван до вызова метода конструктора.

Немного об идентификаторе клиента:

  • Google строго регламентирует способ формирования идентификатора. Главное, с помощью идентификатора не должно быть возможности идентифицировать личность пользователя.
  • По ИдКлиента GoogleAnalytics учитывает статистику об аудитории в разрезе пользователей
  • Источником для ИдКлиента, на мой взгляд, оправданно использовать УИД Организации или УИД Пользователя БД

Пример кода для получения идентификатора, который можно подать в параметр сИдКлиента 

&НаСервереБезКонтекста
Функция ПолучитьИдентификаторКлиента_Сервер()
	Перем рефОрганизация, ИдКлиента;
	
	рефОрганизация = БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");	
	
	Если ТипЗнч(рефОрганизация) = Тип("СправочникСсылка.Организации") И НЕ рефОрганизация.Пустая() Тогда
		ИдКлиента = рефОрганизация.УникальныйИдентификатор();
	Иначе
		ИдКлиента = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;
	КонецЕсли;
	
	Возврат ИдКлиента;
КонецФункции

 

Вспомогательные методы интерфейса

Форма_Имя(оФорма)

где параметр:

оФорма - УправляемаяФорма - (обязательно) объект управляемой формы, имя которого нужно получить

Возвращаемое значение: Строка - Имя формы

Данный метод удобно использовать в аргументе "сФормаНаименование" метода GA_Форма_Экран(сФормаНаименование, мДанные)

 

Обработка_Имя()

Возвращаемое значение: Строка - Имя обработки. Синоним, если доступно или имя объекта ВнешняяОбработка.

Данный метод удобно использовать в аргументе "сОбработкаНаименование" метода GA_Форма_Экран(сФормаНаименование, мДанные)

 

GA_ПолучитьТекстДисклеймера()

Данный метод возвращает строку - текст дисклеймера. При необходимости вы можете переопределить текст предупреждения. Данный текст желательно показывать пользователю на форме, где происходит настройка (разрешение) отправки данных в GA

 

ВерсияМодуляGA()

Данный метод возвращает номер версии библиотеки как строка.

 

Публичные реквизиты "Перечисления"

Для однообразия значений параметров отправляемых в Google Analytics в библиотеке присутствуют предопределенные "перечисления". Термин взят в кавычки, так как это реквизит формы с типом ФиксированнаяСтруктура, который имитирует работу с перечислениями. В библиотеке предопределены следующие структуры:

  • EC - категория события. Элементы структуры - литералы, обозначающие категории событий. Метод, отвечающий за построение перечисления: Перечисление_КатегорияСобытия_Создать()
  • EA - событие. Элементы структуры - литералы, обозначающие виды событий. Метод, отвечающий за построение перечисления: Перечисление_Событие_Создать()
  • EXD - ошибка. Элементы структуры - литералы, обозначающие виды ошибок в обработке. Метод, отвечающий за построение перечисления: Перечисление_Ошибка_Создать()
  • SC - сеанс. Элементы структуры - литералы, обозначающие начало и конец сеанса. Метод, отвечающий за построение перечисления: Перечисление_Сеанс_Создать()

Вы можете переопределить значения "перечислений", если этого требует задача. Для этого внесите изменения в методы, которые указаны выше.

Встраивание библиотеки в собственную обработку

Принцип встраивания библиотеки

Встраивание библиотеки в собственную обработку простая задача. Необходимо выполнить несколько условий.

  1. Интерфейс библиотеки реализован только клиентскими методами. Следовательно из серверных методов обработки статистику отправить не получится.
  2. На протяжении всего времени работы обработки в памяти должна существовать форма "модGA".
  3. Модуль основной формы обработки должен иметь экспортную переменную которой присвоена ссылка на форму "модGA" Эта переменная будет "точкой доступа" к методам библиотеки.
  4. Все формы обработки должны иметь удобный доступ к "точке доступа"

Пример встраивания

К публикации приложен пример обработки со встроенной библиотекой. Прокомментирую последовательность встраивания:

добавьте форму библиотеки в вашу обработку

в модуле основной формы, в моем примере это "ФормаГлавная", добавьте переменные модуля из области "Встраивание_GA_в_модуль_формы_ПЕРЕМЕННЫЕ". 

#Область Встраивание_GA_в_модуль_формы_ПЕРЕМЕННЫЕ

&НаКлиенте
Перем м_GA Экспорт; // Только для основной формы. 
// Переменная содержит ссылку на форму "модGA". Это точка доступа к методам библиотеки.

&НаКлиенте
Перем м_ОФ; // Требуется в каждой форме
// Переменная содержит ссылку на основную форму обработки

#КонецОбласти

в модуле основной формы добавьте методы встраивания из области "Встраивание_GA_в_модуль_формы_МЕТОДЫ"

Методы встраивания

в модуле основной формы в методе "ПриОткрытии" инициализируйте библиотеку, например так:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Перем сИдКлиента, мДанные;
	Перем ИДПРИЛОЖЕНИЯ;
	
	// КОНСТАНТА
	ИДПРИЛОЖЕНИЯ = "UA-111111111-1"; // Идентификатор отслеживания полученный в GoogleAnalytics
		
	// ПОДКЛЮЧЕНИЕ БИБЛИОТЕКИ модGA
	Если НЕ МодульGA_Подключить() Тогда
		СообщитьПользователю("Модуль GA не подключен. Подробнее, см. ЖР.");
	КонецЕсли;
	
	м_ОФ = ОсновнаяФорма_Получить(ЭтотОбъект);
	Если м_ОФ = Неопределено Тогда
		СообщитьПользователю("ОсновнаяФорма не определена. Модуль GA не подключен. Подробнее, см. ЖР.");
	КонецЕсли;
	
	// ИНИЦИАЛИЗАЦИЯ БИБЛИОТЕКИ И УСТАНОВКА ПАРАМЕТРОВ GA
	м_ОФ.м_GA.УстановитьИдентификаторПриложения(ИДПРИЛОЖЕНИЯ);
	сИдКлиента = ПолучитьИдентификаторКлиента();
	м_ОФ.м_GA.УстановитьИдентификаторКлиента(сИдКлиента);
	м_ОФ.м_GA.УстановитьРазрешениеОтправкиСтатистики(р_бОтправкаРазрешена);
	м_ОФ.м_GA.УстановитьРежимОтладки(р_бРежимОтладки);
	
	Если НЕ м_ОФ.м_GA.НачатьРаботуС_GA() Тогда
		СообщитьПользователю("Не удалось начать работу с GA. Подробнее, см. ЖР.");
	КонецЕсли;
		
КонецПроцедуры

Комментарий к коду:

  • Константа "ИДПРИЛОЖЕНИЯ" указана ненастоящая. Вам нужно получить свой код отслеживания
  • Переменные "р_бОтправкаРазрешена" и "р_бРежимОтладки" в демонстрационном примере это реквизиты основной формы, в которых храниться состояние флагов.
  • Вызов методов библиотеки производится через цепочку м_ОФ.м_GA . Это обозначает, что в контексте основной формы (м_ОФ) есть контекст формы модGA (м_GA), который в свою очередь предоставляет доступ к методам библиотеки

в модулях всех форм, кроме основной, добавьте код из областей "Встраивание_GA_в_модуль_формы_ПЕРЕМЕННЫЕ" и "Встраивание_GA_в_модуль_формы_МЕТОДЫ" взятый из приложенного примера обработки

встраивание библиотеки в прочие формы

в модулях всех форм, кроме основной в методе "ПриОткрытии" инициализируйте библиотеку, например так:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// ИНИЦИАЛИЗАЦИЯ БИБЛИОТЕКИ
    м_ОФ = ОсновнаяФорма_Получить(ЭтотОбъект);
	Если м_ОФ = Неопределено Тогда
		СообщитьПользователю("Модуль GA не подключен. Подробнее, см. ЖР.");
	КонецЕсли;
	
	// Отправка данных в GA о начале просмотра формы
	мДанные = м_ОФ.м_GA.GA_Форма(м_ОФ.м_GA.Обработка_Имя(), м_ОФ.м_GA.Форма_Имя(ЭтотОбъект));
	м_ОФ.м_GA.GA_ОтправитьСведения(мДанные);

КонецПроцедуры

в форме настройки обработки добавьте код позволяющий отключить передачу данных в GoogleAnalytics а так же код, который позволяет ознакомиться с содержанием текста дисклеймера

текст дисклеймера

и наконец, добавьте в контролируемые места обработки код отправки статистики в GA, например такой:

сИмяДокумента = "СЧФ";
чКоличествоДокументов = 4;
	
мДанные = м_ОФ.м_GA.GA_Событие(м_ОФ.м_GA.EC.UX, м_ОФ.м_GA.EA.UX_clic, Команда.Имя);
м_ОФ.м_GA.GA_ОтправитьСведения(мДанные);
мДанные = м_ОФ.м_GA.GA_Событие(м_ОФ.м_GA.EC.B2B, м_ОФ.м_GA.EA.B2B_send, сИмяДокумента, чКоличествоДокументов);
м_ОФ.м_GA.GA_ОтправитьСведения(мДанные);

Внешний вид демонстрационной обработки приведен на скриншоте ниже. Открытие форм и нажатие на кнопки отправляет данные в GA.

Демонстрационный пример

Дополнения

дополнение от 22.01.2018

проверил профайлером время, которое уходит на работу с GA. На мой взгляд не критично 0,16 - 0,2 с на один запрос к сервису.

дополнение от 27.01.2018

Спасибо уважаемому Андрею (Scorpion4eg) за толковые подсказки.

Решен вопрос использования параметров cd1 - cd4. Требуется настроить Google Analytics и создать пользовательский отчет

Решен вопрос использования параметров an и av. Требуется добавить представление в Google Analytics и отправлять обращения о просмотре форм используя метод GA_Форма_Экран

Уточнена таблица с параметрами обращения и добавлен новый метод GA_Форма_Экран

Выложена новая версия библиотеки 1-04

 

Приложения

Параметры обращения в Google Analytics

Параметр

Имя параметра

Тип параметра

Назначение параметра

Заголовок

v

ver

Ч

всегда “1”

tid

 

С:15

Идентификатор отслеживания. формат UA-XXXX-Y

cid

client id

С:36

GUID клиента (приложения)

uid

user id

С:36

GUID пользователя

t

type

 

Тип обращения {event; pageview; exception}

Обязательные

an

app name

C:50

Наименование обработки

av

app ver

C:50

Версия обработки

cd1

spec dim

С:70

Версия платформы

cd2

spec dim

С:70

Версия ОС

cd3

spec dim

С:70

Наименование конфигурации

cd4

spec dim

С:70

Версия конфигурации

Сеанс (t = event)

sc

seans count

{start; end}

Фиксация начала и конца работы с обработкой

Просмотр форм (t = pageview)

dh

host

C:50

Наименование обработки

dp

path

С:1000

Наименование формы

Ошибка (t = exception)

exd

description

С:70

Описание ошибки. Значение "перечисления"

exf

fatal

Б

признак фатальной ошибки

Событие (t = event)

ec

category

С:70

Категория события. Значение "перечисления"

ea

action

С:250

Событие. Значение "перечисления"

el

label

С:250

Наименование команды или прочая информация

ev

value

Ч

Количественная характеристика события

"Перечисления" категории и события

Категория EC

Событие EA

Комментарий

UX

  Действие пользователя
 

UX_clic

щелчок на кнопке

 

UX_select

выбор поля, табличного поля, строки табличного поля

 

UX_refresh

обновление табличного поля

 

UX_filter

отбор в табличном поле

 

UX_change

изменение данных

 

UX_delete

удаление данных

B2B

  Событие бизнес-логики
 

B2B_proc

бизнес - процедура прочее

 

B2B_send

бизнес - процедура отправки

 

B2B_receive

бизнес - процедура получения

SRV

 

Сервисное событие

 

SRV_sync

синхронизация

 

SRV_backup

резервное копирование

 

SRV_upgrade

обновление

 

SRV_seance

информация о сеансе

  SRV_setting настройка обработки

"Перечисление" ошибки

Ошибка Комментарий
US_inputerror
 
Ошибка пользователя. Ввод неверной информации.
US_invalidaction Ошибка пользователя. Недопустимое действие.
US_accesserror Ошибка пользователя. Нет прав на совершение операции.
B2B_diskerror Ошибка B2B. Чтение, запись на диск.
B2B_httperror Ошибка B2B. Чтение, запись через http.
B2B_dataselect Ошибка B2B. Получение данных из БД.
B2B_dataselect Ошибка B2B. Получение данных из БД.
B2B_datawrite Ошибка B2B. Запись данных в БД.
SRV_platform Ошибка SRV. Недопустимая версия платформы.
SRV_config Ошибка SRV. Недопустимая версия конфигурации.

"Перечисление" SC сеанс

Сеанс Комментарий
start start
end end

Конец.

Скачать файлы

Наименование Файл Версия Размер
А чё это вы здесь делаете, а?:
.epf 29,77Kb
21.01.18
31
.epf 1.04 29,77Kb 31 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. vano-ekt 728 21.01.18 21:27 Сейчас в теме
3. infosoft-v 456 21.01.18 21:43 Сейчас в теме
(1) Уточните вопрос, пожалуйста.
5. vano-ekt 728 22.01.18 08:25 Сейчас в теме
(3) первым делом сделаю в купленной разработке // или Возврат, чтоб в интернеты всякие не лезла
6. infosoft-v 456 22.01.18 09:27 Сейчас в теме
(5) Вы говорите с позиции заказчика, который опасается что данный функционал доставит неудобства пользователям.
Статья написана с позиции разработчика, который сможет развивать продукт прислушиваясь к пользователю.
Если найти компромис между этими сторонами, можно, я надеюсь, поднять качество продуктов с которыми пользователи работают каждый день.
9. vano-ekt 728 22.01.18 10:00 Сейчас в теме
(6)
Вы говорите с позиции заказчика, который опасается что данный функционал доставит неудобства пользователям.

я говорю с точки зрения безопасника, который не оценил сбор статистики действий в корпоративной информационной системе третьими лицами, через сервисы четвертых лиц
и с точки зрения администратора сети, которому не понравилось обращение сервера 1С к внешним сетевым ресурсам 100 раз в секунду
хотя, если по умолчанию подсистема отключена - то пусть будет
SirAlexIT; oninfostart; t.v.s.; Cерый; mad375; vovan_victory; kuzyara; BigBoss; c1nil; rpgshnik; +10 1 Ответить
37. DitriX 1804 24.03.18 18:47 Сейчас в теме
(9) не соглашусь. 1С и так делает кучу вызовов, спарки всякие, кладры и прочее. Вы тоже все это прикрываете? А скоро будет еще сервер взаимодействия и прочее.
Кроме этого - можно слать пакетами, раз в некий промежуток времени, так что тоже не засчитано.
А когда директор кричит что все тормозит и не дает возможности это анализировать, так как безопасник против - то что-то не так с безопасником, не находите?

Задача безопасника не прикрывать доступы, а обеспечивать их защиту. Что может быть надежнее защиты гугл сервисов? Если вы не доверяете уже им, то я даже не знаю, чесслово.

Кроме этого - гугл запрещает туда выгружать инфоррмацию, которая касается идентификации пользователей, и гугл забанит за это вас быстрее.

Или вы предпочтете, чтобы эти данные скапливались на серверах неких вообще левых мест?
Дмитрий74Чел; +1 Ответить
38. vano-ekt 728 24.03.18 21:03 Сейчас в теме
(37)
Или вы предпочтете, чтобы эти данные скапливались на серверах неких вообще левых мест?

скорее предпочту localhost, ну или по крайней мере не дальше 0/24
Вы тоже все это прикрываете?

вообще не заморачиваюсь, по умолчанию прикрыто всё, а потом уже исключения, которые админ сети добавляет по запросу
41. Eremkin 17.01.19 10:40 Сейчас в теме
(9)Сам когда-то был безопасником. Извечная "война". ИТ разрешает, безопасность все запрещает )
2. serega_new 21.01.18 21:32 Сейчас в теме
Классная тема, а Яндекс.Метрику рассматривали? Есть там подобный интерфейс?
infosoft-v; +1 Ответить
4. infosoft-v 456 21.01.18 21:44 Сейчас в теме
(2)нет, Яндекс не имеет подобного протокола. Яндекс метрика только для сайтов.
7. ekaruk 5036 22.01.18 09:30 Сейчас в теме
Очень интересная восзможность.
Насколько это отражается на скорости работы? Особенно при проблемах со связью.
Ну и не совсем уверена в корректности такого сбора данных с точки зрения пользователя.
SirAlexIT; A_Max; infosoft-v; CSiER; Evil Beaver; c1nil; rpgshnik; awk; +8 Ответить
10. Evil Beaver 6710 22.01.18 10:50 Сейчас в теме
(7) В целом, предупредить - это этично, но с другой стороны - там не собирается ничего такого, что бы не собирали все интернет-сайты безо всяких предупреждений.
12. gubanoff 47 22.01.18 11:13 Сейчас в теме
(7) Данные нужно хранить в промежуточном регистре, а в гугл отправлять уже по регламенту пакетом. Онлайн связь, конечно, не подходит. Это первое, что я доработаю у себя :) А так все очень красиво.
gc1c; KAV2; maxopik2; +3 Ответить
27. infosoft-v 456 22.01.18 21:05 Сейчас в теме
(12) для конфигураций это рабочая идея. Для обработок, к сожалению, так красиво не получится.
И еще одна мысль Отправляя пакетом по регламенту вы теряете информацию о динамике времени работы пользователей. Статистика будет периодической а не плавной.
34. KAV2 19.03.18 11:56 Сейчас в теме
(12) Или как вариант отправлять в фоновом задании без промежуточной записи в регистр.
15. infosoft-v 456 22.01.18 11:47 Сейчас в теме
(7)
Ну и не совсем уверена в корректности такого сбора данных с точки зрения пользователя.

Предоставьте пользователю возможность отключить этот режим и опубликуйте текст дисклеймера с подробностями о передаче данных. Особенно обратите внимание на полную обезличенность данных и отсутствие коммерческой информации в передаваемых данных.
Думаю, этого достаточно, что бы не создавать заказчику неудобств.
Все сайты, буквально все, отправляют данные в GA и Яндекс.Метрику даже не ставя в известность пользователя.
16. TODD22 19 22.01.18 11:52 Сейчас в теме
(15)
Все сайты, буквально все,

Сайты не учётные системы компании, не совсем правильно сравнивать.
18. infosoft-v 456 22.01.18 12:16 Сейчас в теме
(16) ну как сказать, есть такие сайты, которые для меня важнее учетной системы, например "сайт" ПланФикс в котором я веду учет задач, ошибок и т.д совершенно прекрасно все отправляет
Прикрепленные файлы:
19. TODD22 19 22.01.18 12:28 Сейчас в теме
(18)
ну как сказать, есть такие сайты, которые для меня важнее учетной системы

Каждый сам определяет что ему важнее.
например "сайт" ПланФикс в котором я веду учет задач, ошибок и т.д совершенно прекрасно все отправляет

Я не критикую ваше решение. Пусть отправляет. Это нужное дело и хорошее если на него получено согласие пользователя.

Я про то что не корректно сравнивать с "сайтами" и аргументировать тем что "все сайты отправляют". Учетная система не сайт. Ну и могут быть требования безопасности.
39. yarsort 23.10.18 08:35 Сейчас в теме
(18) А можно узнать софт, на котором у Вас задачи как на рисунке? Ищу нормальную систему за тикетов...
40. infosoft-v 456 23.10.18 10:05 Сейчас в теме
33. 🅵🅾️🆇 19.03.18 10:38 Сейчас в теме
(15) Обработку однозначно в избраное, чтоб потом оценить идею и покрасивше под себя переписать.

Все сайты, буквально все, отправляют данные в GA и Яндекс.Метрику даже не ставя в известность пользователя.

Для избавления от "жучков" на сайтах давным давно использую Ghostery, для меня это стало столь же обязательной вещью как "правильно" настроенный ролтер и AdBlock. Так что единственное, что могут использовать сайты, это либо в наглую настроенный JS или использовать статистику на основе ссессии бэкэнда, а это уже не "практически все", а "единицы".
24. infosoft-v 456 22.01.18 20:55 Сейчас в теме
(7) Евгения, проверил профайлером время отправки данных. Каждый запрос съедает 0,12 - 0,16 с. На мой взгляд приемлемо.
При проблемах со связью задержки нет. Библиотека корректно обрабатывает эту ситуацию и пишет информацию в ЖР.
Прикрепленные файлы:
8. awk 714 22.01.18 09:50 Сейчас в теме
Про GA знаю с 2009 года, но применять так... Идея определенно новая, по крайней мере для меня...
infosoft-v; +1 Ответить
11. Evil Beaver 6710 22.01.18 10:51 Сейчас в теме
Отличный пример концепции "1С+что-то" (термин от @lustin)
SirAlexIT; maxopik2; infosoft-v; +3 Ответить
13. gubanoff 47 22.01.18 11:14 Сейчас в теме
(0) Это новый тренд, без сомнения. Спасибо за идею!
maxopik2; infosoft-v; +2 Ответить
14. SunShinne 619 22.01.18 11:39 Сейчас в теме
Круто. Даже не так - КРУТО! + автору!
Sheff; maxopik2; infosoft-v; +3 Ответить
17. acsent 1149 22.01.18 11:58 Сейчас в теме
в безопасном режиме не взлетит
25. infosoft-v 456 22.01.18 21:00 Сейчас в теме
(17)
безопасном

не могли бы вы уточнить сценарий, при котором обработка не будет работать?
Я тестировал на свежей БУХ30 платформа 8.3.10. Все работает штатно.
30. acsent 1149 23.01.18 12:53 Сейчас в теме
(25) В безопасном режиме нет доступа к внешним ресурсам
20. kolya_tlt 22 22.01.18 13:29 Сейчас в теме
очень классная штука! но реализация должна быть следующая: нужно внедрить GA в сайт (интернет-магазин) и в 1С одновременно, чтобы отдел продаж не только видел аналитики и воронку продаж до оформления заказа, а до получения денег через оформление накладных. где разнесение выписок и оформление отгрузок - операции в 1С.
infosoft-v; +1 Ответить
22. infosoft-v 456 22.01.18 14:34 Сейчас в теме
(20) очень правильное замечание. Если передавать одинаковый ИдКлиента из конфигурации и из сайта, то статистика будет объединяться.
Потребуется задействовать другие параметры протокола, но это дело техники.

Отличная идея. Спасибо.
kolya_tlt; +1 Ответить
21. ifilll 22.01.18 14:11 Сейчас в теме
Мечтал встроить сбор статистики в свои доработки/обработки в том числе и для контроля распространения, а то бывало придешь к людям знакомится, садишься за конфу а там бац, и твои наработки.
23. Scorpion4eg 302 22.01.18 14:34 Сейчас в теме
Давно пользуюсь. Очень удобная штука по двум причинам. 1. Позволяет отследить как же все таки пользуются обработкой. 2. Счетчик в реальном времени мотивирует "Этой обработкой все таки пользуются!"
infosoft-v; +1 Ответить
26. Scorpion4eg 302 22.01.18 21:02 Сейчас в теме
Отвечу про параметры an и av.
Их можно видеть и использовать только для мобильного приложения. Вот как это сделать. Создается проект для сайта. Потом добавляется представление - Мобильное приложение. В этом случае надо менять отправку просмотра страниц на отправку просмотра экрана.
А так же представление мобильное приложение позволять отправлять замеры производительности.
Aletar; infosoft-v; +2 Ответить
28. infosoft-v 456 22.01.18 21:15 Сейчас в теме
(26) Андрей, спасибо.
Эти параметры очень важны. Через них я передаю наименование и версию конфигурации в которой работает обработка.
Можно сказать, что с желания видеть эту информацию начался данный проект.
ps. теперь понимаю, что в библиотеке придется переделывать кое что
29. Scorpion4eg 302 22.01.18 21:39 Сейчас в теме
(28) Аналогично) Именно с этих данных начался мой проект, а потом понеслось.
infosoft-v; +1 Ответить
31. a-novoselov 1106 31.01.18 16:49 Сейчас в теме
Может быть офф-топик, но все же спрошу.
А есть возможность в Конфигураторе 1С зогрузить обработку из xml файлов?
32. nixel 897 19.03.18 09:28 Сейчас в теме
(31) через файл - открыть. откроется обычное окно внешней обработки, из него можно будет пересохранить обработку в epf. Ну и пакетный режим запуска конфигуратора тоже никто не отменял.
35. Brawler 468 19.03.18 12:35 Сейчас в теме
В свете появления такого понятия как расширения конфигураций (ну чтобы не херить типовые) логичнее всего сваливать все сообщения для GA в регистр сведений, а уже оттуда регламентом собирать данные и отправлять в GA. Из плюсов основных, не нужен постоянный инет и сбор данных будет наиболее полным, так как даже при отключенном инете данные накапливаются.
36. infosoft-v 456 19.03.18 12:39 Сейчас в теме
42. ILM 238 08.10.19 19:51 Сейчас в теме
МО РФ на вас нет. Вас там быстро оштрафуют на 100 тыс. Не для всех это подойдет.
Оставьте свое сообщение

См. также

Внешняя компонента для работы по Web-socket протоколу Промо

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

5 стартмани

30.03.2018    21455    32    Ditron    68    

Выбираем российского провайдера для интеграции с WhatsApp

WEB Интеграция v8 Россия Абонемент ($m)

Собственно, почему выбираем именно провайдера и почему российского? WhatsApp, создавая свое API, преследовал две цели - делать деньги и минимизировать спам. И чтобы убить сразу двух зайцев, было принято решение предлагать API исключительно через партнеров. Ну а вопрос по поводу российского партнера скорее уже риторический. И не только из-за курса рубля, но и из-за таланта работать с российскими телефонными номерами, коим одарены далеко не все провайдеры. Между тем статья не претендует на всесторонний анализ всех возможностей всех провайдеров. Мы копнем лишь верхушку айсберга этого немаленького рынка.

1 стартмани

19.05.2020    1995    0    ripreal1    1    

Язык запросов 1C#

Интеграция WEB v8 Абонемент ($m)

В новой версии язык запросов 1C# поддерживает практический полный синтаксис SQL Server 2005-2016. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям 1C# реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    3072    6    zhichkin    14    

Telegram bot API - разбор документации с примерами

WEB v8 Абонемент ($m)

Перевод документации на язык 1С.

1 стартмани

06.04.2020    12731    24    leongl    27    

Работа с релизами 1С и договорами ИТС Промо

WEB БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Работа с релизами 1С и партнерским кабинетом.

2 стартмани

15.08.2019    10938    34    RocKeR_13    10    

Пример работы с Trello из 1С

WEB v8 1cv8.cf Россия УУ Абонемент ($m)

Небольшая конфигурация содержит примеры обмена с онлайн-сервисом Trello.

1 стартмани

15.02.2020    7868    31    terrorion    8    

Взаимодействие HTML (COM объект, WebKit) с 1С (обычные и управляемые формы)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Показан пример использования HTML (COM объект, WebKit) в 1С (8.3).

2 стартмани

18.01.2020    5515    19    Deniskinr83    0    

Часовой на страже логов

Практика программирования Инструментарий разработчика Бесплатно (free)

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    4892    0    Scorpion4eg    6    

Проверка VAT номеров Промо

WEB v8 1cv8.cf Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    9766    0    wtlz    1    

Google drive - менеджер файлов

WEB Внешние источники данных v8 1cv8.cf Россия Абонемент ($m)

Синхронизация с гугл диском легко и просто!

10 стартмани

05.12.2019    6651    21    zykov_vitaliy    22    

Автозаполнение адреса по КЛАДР в УПП при выгрузке контрагента с портала компании (API dadata)

WEB v8 1cv8.cf Абонемент ($m)

Заведение, согласование контрагентов организовано на портале компании. Далее по web-сервису контрагенты выгружаются в УПП (юр.адрес и факт.адрес выгружаются строкой). Задача автоматизировать заполнение адреса в УПП по КЛАДР.

1 стартмани

03.12.2019    4577    1    John_d    10    

Работа с Яндекс-картами в 1С (вывод меток, прокладка маршрута, отображение балуна, вывод меток в кластеры) (обычное и управляемое приложение)

WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Работа с Яндекс-картами в 1С (управляемое приложение). Обработка показывает, как можно найти адреса на карте Яндекс, проложить маршрут.

2 стартмани

20.11.2019    8977    86    Denr83    0    

Трекинг номеров РПО в Почте России Промо

WEB Оптовая торговля Оптовая торговля v8 Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Относительно недавно Почта России стандартизировала и описала сервисы получения информации о регистрируемом почтовом отправлении (РПО). Представляю вашему вниманию конфигурацию-обертку над сервисами Почты России. Она позволяет просто (http-запросы) и без изменений конфигурации подключить сервисы отслеживания к своим информационным системам.

2 стартмани

28.03.2016    23202    9    Smaylukk    3    

Пример взаимодействия HTML (COM объект, WebKit) с 1С (динамический отбор) (обычные и управляемые формы)

WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Показан пример использования WebKit в 1С (8.3).

2 стартмани

18.11.2019    6993    12    Denr83    0    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    11125    17    blackhole321    7    

Яндекс сервисы [Расширение]

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

Расширение для работы с Яндекс-сервисами (предиктор,переводчик,проверка орфографии)

1 стартмани

24.10.2019    8956    7    noprogrammer    7    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты Промо

WEB Рабочее место v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка для работы с картами в 1С. Получения изображения с публичной кадастровой карты России, построения тематических карт

5 стартмани

31.08.2017    14846    10    vipchep    0    

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. Авторизация

WEB v8 Абонемент ($m)

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью функционала Rest API предоставляемого платформой (CMS) WordPress (WooCommerce). Без дополнительных приложений на PHP/вставьте сюда любой другой язык программирования/.

1 стартмани

12.10.2019    17057    17    osivv    30    

Telegram бот на 1С

WEB v8 1cv8.cf Абонемент ($m)

Telegram бот на 1С в виде внешней обработки, встраиваемой в типовые 1С 8.3.

1 стартмани

24.09.2019    11129    28    budidich    19    

Выгрузка номенклатуры в социальную сеть Вконтакте

WEB Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 1cv8.cf Абонемент ($m)

Обработка для быстрой и легкой выгрузки товаров Вконтакт. Так просто еще не было)))

2 стартмани

14.08.2019    10327    40    kaliuzhnyi    43    

Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers) Промо

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

С каждым годом становится все очевидно, что использование онлайн-сервисов намного упрощает жизнь. К сожалению по картографическим сервисам условия пока жестковаты. Но, ориентируясь на будущее, я решил показать возможности API выше указанных сервисов: Инициализация карты Поиск адреса на карте с текстовым представлением Геокодинг Обратная поиск адреса по ее координатами Взаимодействие с картами - прием координат установленного на карте метки Построение маршрутов по указанным точками Кластеризация меток на карте при увеличении масштаба Теперь также поддержка тонкого и веб-клиента

1 стартмани

28.12.2012    98549    1134    Smaylukk    348    

Путеводитель по истории релизов

WEB v8 1cv8.cf Абонемент ($m)

Отчет по истории выпуска релизов и анализа информации по обновлениям.

5 стартмани

13.08.2019    10715    10    YPermitin    18    

Подключение к сайту и отправка или получение данных по API (POST, GET...) (с описанием кода)

WEB v8 1cv8.cf Абонемент ($m)

Простая обработка по отправке или получение данных с любого сервера главное знать ресурс (выполняемую функцию) и тело запроса.

1 стартмани

12.08.2019    9209    17    MaxPowerr    5    

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery с кэшированием

WEB v8 1cv8.cf Абонемент ($m)

В статье описан способ создания "фронтенда" на HTML/CSS/jQuery и скрипт кеширования AJAX запросов на PHP.

1 стартмани

06.08.2019    12131    15    Sedaiko    24    

Пример использования REST API Яндекс Диска Промо

WEB v8 1cv8.cf Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    20270    32    MKFreeUser    14    

Конфигурация для обмена данными (интеграционная шина)

Внешние источники данных WEB v8 1cv8.cf Абонемент ($m)

Система позволяет организовать обмен данными, как с базами 1С, так и любыми другими приложениями. Система представляет собой отдельную конфигурацию. Система позволяет организовать гибкие возможности по настройке обмена. В качестве брокера сообщений, для передачи данных, используется отдельная самостоятельная конфигурация на 1С. Комплект поставки содержит файл расширения для "клиентской" части шины, данное расширение позволяет без снятия "ключа" организовать гибкий механизм обмена данными.

4 стартмани

08.07.2019    8396    25    miha-28    16    

Шаблон http-сервиса для вашего проекта

Внешние источники данных WEB Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    15621    63    MarkoSokolov    47    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    27201    32    riposte    63    

Работа с публикациями "Инфостарт" Промо

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    17337    12    RocKeR_13    16    

1С и WebKit. Вариант взаимодействия

WEB v8 1cv8.cf Абонемент ($m)

В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменился с COMОбъект на ВнешнийОбъект. Также изменилась DOM модель документа, доступная через это свойство.

2 стартмани

23.02.2019    22836    69    mi1man    55    

Строим маршруты на картах в 1С с помощью OpenStreetMap, OSRM и Leaflet

WEB v8 1cv8.cf Транспорт, автопарки, такси Абонемент ($m)

Краткая статья о том как вывести на карту (в 1С) маршруты с помощью OpenStreetMap, OSRM и Leaflet. По данной системе очень мало примеров, но так как OpenStreetMap является бесплатным сервисом и не требует никаких ключей и регистраций, и является довольно мощным механизмом, решил написать небольшую статью "как это сделать?". В первую очередь скажу, все намного проще, если вы используете последнюю версию платформы (8.3.14), где есть поддержка практически всех браузеров (IE 11, EDGE, Mozilla), но что делать если у нас не самая свежая платформа, где поддержка только IE 9?

2 стартмани

12.02.2019    19966    82    Ditron    44    

Яндекс карта в документе "Заказ клиента" на закладке "Доставка". (Расширение) УТ 11.4

Обработка документов WEB Оптовая торговля Оптовая торговля v8 УТ11 Россия УУ Абонемент ($m)

Показ яндекс карты в документе "Заказ клиента" на закладке "Доставка" и печать карты для курьера с контактными данными. (Расширение)

3 стартмани

05.02.2019    8455    12    ret    6    

Конфигурация для просмотра публичных телеграм каналов Промо

WEB v8 Абонемент ($m)

Просмотр и каталогизация в более удобном виде публичных телеграм каналов, групп и чатов.

1 стартмани

02.06.2018    15353    10    DO_WHILE_LOOP    7    

Яндекс карты 2.1. Построение маршрута. Передача длины маршрута в реквизит формы

WEB v8 1cv8.cf Абонемент ($m)

Пригодится как пример использования Яндекс карты 2.1 для построения маршрута.

1 стартмани

24.01.2019    10687    62    John_d    32    

Веб-форма авторизации/регистрации/восстановления пароля для веб-клиента 1С с помощью HTML/CSS/PHP/HTTP-сервисов 1С

WEB v8 1cv8.cf Абонемент ($m)

Пришла в голову идея создать универсальную веб-форму входа в веб-клиент 1С на HTML/CSS/PHP/HTTP-сервисы 1С. Чтобы прямо как на нормальных сайтах. Заодно и для ознакомления с 1С с новой, для себя, стороны. Интересно было попробовать интеграцию PHP - 1С.

1 стартмани

08.11.2018    14055    23    Бэнни    16    

Загрузка чека онлайн-касс (загрузка товаров из чека)

Внешние источники данных WEB Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 1cv8.cf Абонемент ($m)

Обработка-пример, позволяет любому и из любой конфигурации загрузить информацию о товарах из чека(и не только) с сервера ФНС proverkacheka.nalog.ru

2 стартмани

08.10.2018    15775    28    echo77    38    

Обмен файловыми базами данных через Yandex диск Промо

WEB v8 Россия Абонемент ($m)

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    14672    5    slimper    1    

SOAP для чайников

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Немножко про SOAP сервис. И пример работы с подключением и получением данных по SOAP за 5 минут.

1 стартмани

05.09.2018    37780    34    dusha0020    18    

Класс-обработка “Работа с картами Яндекс”

Разработка внешних компонент WEB v8 Абонемент ($m)

Как показать точку или маршрут на карте Яндекс. Как получить координаты по строке адреса (геокодирование).

1 стартмани

01.08.2018    19923    175    RSConsulting    15    

HTTP Сервисы: Путь к своему сервису. Часть 1

Практика программирования WEB v8 1cv8.cf Абонемент ($m)

Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.

1 стартмани

15.07.2018    69150    23    dsdred    24    

Сервер push сообщений “Push0k“ 18.05 Промо

WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.12.2017    15340    12    PloAl    20    

Чтение сжатого gzip, deflate HTTP ответа сервера. Без ВК. Уменьши время загрузки и сократи трафик в 3 раза

WEB v8 1cv8.cf Абонемент ($m)

В платформе 1С:Предприятие не реализовано штатного механизма декодирования ответа веб серверов, в которых присутствует gzip сжатие. Некоторые использовали WinHttpRequest.5.1 , кто-то писал ВК. Друзья, хватит. Вот вам решение.

1 стартмани

08.06.2018    12860    66    Malfarion    16    

Интеграция между Atlassian Jira и 1С:Предприятие 8.3 используя Jira REST API (выборка, создание и изменение запросов, чтение, создание и удаление записей о работах, чтение комментариев и другие возможности)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка на управляемой форме для 1С:Предприятие 8.3 по интеграции с Atlassian Jira используя Jira REST API. Ключевые функции: выборка запросов с использованием JQL; добавление и изменение запросов; добавление, изменение и удаление записей о работах; чтение комментариев к запросам; сохранение всех ключевых параметров между сеансами работы. Тестирование проводилось на платформе 1С (8.3.11.2954) совместно с JIRA Server platform (7.3.7)

1 стартмани

24.04.2018    26468    153    Ko1t    70    

Простая и пошаговая интеграция Яндекс-Алисы и 1С

WEB v8 Абонемент ($m)

Интеграция Алисы и 1С через http сервис на платформе 8.3.9. Используем виртуальный сервер, сертификат от letsencrypt, и делаем простые запросы к базе из Алисы.

1 стартмани

09.04.2018    19807    18    kiv1c    34    

Построение маршрута доставки с расчётом расстояния для любой базы УФ Промо

Универсальные обработки WEB Оптовая торговля Оптовая торговля v8 v8::УФ 1cv8.cf Абонемент ($m)

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    31023    40    KorotkovRV    16    

Чтение и запись из таблиц гугл (google sheets) в табличный документ 1С (8.3, управляемые формы)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка на управляемой форме для 1С версии 8.3 для доступа к сервисам Google Sheets c использованием протокола авторизации OAuth 2.0. Выполняет получение списка листов таблицы гугл, чтение таблицы гугл в табличный документ 1С и запись из табличного документа 1С в таблицу гугл. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.11.2954).

1 стартмани

09.04.2018    32572    209    Ko1t    70    

2 в 1: Проверить действительность паспорта / Получить ИНН по паспорту

Обработка справочников WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::УФ ERP2 БП3.0 ЗУП3.x Россия БУ Абонемент ($m)

Представляю вашему вниманию внешнюю обработку заполнения элемента справочника "Физические лица". Обработка выполнена с использованием API (для работы необходим доступ в интернет), содержит полностью открытый код и 2 команды: Проверка документа, удостоверяющего личность, в списке недействительных паспортов и Заполнение ИНН по паспортным данным.

1 стартмани

27.02.2018    19882    134    VladimirElohov    35    

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    41131    52    sandybaev    23    

Проверка контрагентов по ИНН и КПП через веб-сервис ФНС (внешняя) Промо

Обработка справочников WEB v8 1cv8.cf Россия Абонемент ($m)

Обработка проверяет контрагентов по ИНН и КПП через веб-сервис ФНС на наличие регистрации в ЕГРН. Может выполняться в любых типовых конфигурациях, при наличии справочника "Контрагенты" и реквизитов "ИНН" и "КПП"

1 стартмани

25.12.2014    37062    129    Willforre    12    

Проверка орфографии средствами Yandex Speller

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

09.11.2017    19596    52    🅵🅾️🆇    40    

Автоматическое заполнение реквизитов контрагентов по ИНН для ERP 2.4, ERP 2.2, УТ 11.4, УТ 11.3, УТ 11.2, КА 2.4, КА 2.2 и БП 3.0 (расширение конфигурации)

Обработка справочников Внешние источники данных WEB Расширения v8 v8::БУ v8::ОУ v8::УФ УПП1 ERP2 БП3.0 УТ11 КА2 Россия Абонемент ($m)

Универсальное расширение конфигурации для автоматической загрузки реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0)

3 стартмани

08.11.2017    26845    211    AlexeyT1978    165    

Веб-сервисы 1С и PHP

WEB v8 1cv8.cf Украина Абонемент ($m)

Пример создания веб-сервиса на 1С, использование пагинации в запросах 1С, примеры кода на php - передача параметров, получение и разбор данных.

1 стартмани

20.10.2017    22508    48    serg1234    12    

Ведение локального каталога обработок с Инфостарт

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

Обработка наводит порядок в ваших скачанных и локально хранимых обработках с Инфостарта. Это особенно удобно тем коллегам, которые уже скачали немалый объем обработок и хотят получить удобный инструмент навигации по списку.

1 стартмани

06.10.2017    26486    56    rpgshnik    48