Русский
Русский
English
Статистика
Реклама

1с-битрикс

Интернет-магазин как черная дыра в бюджете

06.09.2020 22:19:56 | Автор: admin

Тема затрат на интернет-бизнес актуальна как никогда. Особенно в период когда все переходят на удалёнку. Давайте вместе посчитаем, во сколько же нам обойдется владение и содержание одного года работы полноценного интерне-магазина.

Я понимаю, что решения для экономии денежных средств, используют многие. Главными проблемами этих решения является безопасность и законность внедрения. Всему виной закон о персональных данных. Они вводятся, когда покупатель оформляет заказ.

Споров на эту тему много. Я хочу привести пример, когда все учтено и не спорно, с юридической точки зрения.

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

Программное обеспечение

Интернет-магазин, это не одна программа. Это сложный программно-аппаратный комплекс. Бесплатное программное обеспечение я не рассматриваю, по ниже перечисленным причинам:

  1. Отсутствие сертификации ФСТЭК России. Мы обрабатываем персональные данные, и в данном случае программы с открытым кодом и множеством уязвимостей, использовать не имеем права.

  2. Сложность в реализации проекта. Никто не гарантирует, что все будет работать из коробки. Все нужно настраивать, "прикручивать" и "допиливать". Либо это постоянная работа, либо постоянные затраты.

  3. Поломки при обновлениях. Совсем не обновляться нельзя. А обновившись, Вы получите новый букет проблем с функционалом, в котором разберется как минимум верстальщик.

  4. Сложности в подключении к официальным серверами и интеграцией с программами.

  5. Отсутствие гарантированной и квалифицированной поддержки разработчиков.

  6. Отсутствие нормальной документации для разработчиков и пользователей. Решение некоторых проблем можно найти только на англоязычных ресурсах.

Рассмотрим нашу задачу с использованием СMS для управления сайтом "1С-Битрикс". Это не реклама, прошу учесть, а пример.

Когда мы говорим о работе фирмы, в первую очередь встает вопрос учета. Торговля это не только сайт, но и бухгалтерия, склад, счета и налоги. А у большинства бухгалтеров стоит "1С-Управление Торговлей". Логически выбрать программу для интернет-магазина, тех же разработчиков, что и бухгалтерского программного обеспечения. Самая актуализированная с точки зрения законодательства - это "1С-Битрикс". Сертификат ФСТЭК России имеется.

Стоимость на дату написания статьи:

Редакции 1С-Битрикс: Управление сайтом редакция "Малый бизнес"- 35 900 рублей;

Учтем в расчетах стоимость программы "1С-Управление Торговлей" - 27 300 рублей;

Так же посчитаем стоимость программ которые либо уже установлены на компьютере, либо их придется приобрести:

  1. Операционная система Microsoft Windows 10 Professional 32/64 bit SP2 Rus Only USB RS (HAV-00105) - 13 490 рублей;

  2. Офисное приложение Microsoft Office для дома и бизнеса 2019 - 18 790 рублей;

  3. Антивирус KASPERSKY Internet Security Multi-Device 1 устр 1 год Новая лицензия Card - 1 800 рублей.

  4. Межсетевой экран ИКС ФСТЭК - 52 180 рублей.

На этом месте хочу остановиться. Требуется не только межсетевой экран, но и контроль приложений (DPI), контентная фильтрация, авторизация пользователей и фильтрация почтового трафика. Проще подобрать какое то комплексное решение, имеющее необходимый сертификат и набор приложений. Для этого нужно либо отвести отдельный комп под шлюз, либо приобрести программно аппаратный комплекс целиком. Для простоты учета готовый, собранный разработчиками.
Вот тут как настроить http://personeltest.ru/aways/habr.com/ru/post/477530/

Хостинг, домен, SSH

Теперь немного о сервере, на котором будет установлен сайт. Часто все покупают хостинг. Но! А как же защита базы данных? Битрикс использует разные, но самая популярная для этих целей все же MySQL. SQL инъекция это один из самых доступных и способов взлома сайта. И эту уязвимость нужно закрыть, если мы обрабатываем персональные данные.

Лучшим решением будет Облако с соблюдением ФЗ 152 УЗ4.

В документации "1С-Битрикс" указана фирма DataFort. Вот официальный сайт компании https://www.datafort.ru/

Мне как то приходилось запрашивать у них прайс, и обсуждать этот вопрос, вот расценки и перечень необходимых для соблюдения законодательства элементы защиты системы:

  1. Ежемесячно, вычислительные ресурсы и дисковая подсистема, гипервизор Vmware - 6 800 рублей в месяц;

  2. Единовременно - средства защиты информации для УЗ-4 - 2 750 рублей;

  3. Ежемесячно - средства защиты информации для УЗ-4 - 1 102 рубля;

  4. Единовременно - ПО по подписке, виртуальный маршрутизатор до 500 Мбит/с - 9 304 рублей;

  5. Ежемесячно - ПО по подписке, виртуальный маршрутизатор до 500 Мбит/с - 3 814 рублей.

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

Домен - 1 000 рублей.

Посчитаем SSL-сертификат, оннужен для того, чтобы мошенники не могли перехватить личные данные, которые пользователи вводят у вас на сайте. Я сотрудничаю с компанией рег.ру, цены можно посмотреть здесь https://www.reg.ru/ssl-certificate/

SSL-сертификат DomainSSL начального уровня на один год - 3 299 рублей.

Оборудование

Ноутбук или ПК - 25 000 рублей;

Роутер илимаршрутизатор - 5 000 рублей;

Мобильный телефон - 10 000 рублей.

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

Фирма - ООО или ИП

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

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

  1. Юридическое сопровождение, изготовление уставных документов - 10 000 рублей. Стоимость ориентировочная, исходя из собственной практики.

  2. Услуги нотариуса - 2000 рублей;

  3. Изготовление круглой печати - 1 000 рублей;

  4. Открытие счета в банке, оформление карточки подписи - 3 500 рублей;

  5. Уставной капитал (нужно положить на счет при открытии) - 10 000 рублей

  6. Цифровая подпись для сдачи отчетности - 1 500 рублей;

  7. Программное обеспечение для сдачи отчетности 6 000 рублей;

  8. Аренда офиса - 10 000 рублей.

Кассовый аппарат

Не секрет, что практически любая торговля не возможна без кассового аппарата. В случае с интернет-магазином, у вас он может быть как и физический, так и виртуальный. Ведущие производители кассовых аппаратов сейчас предлагают подключение вашего интернет-магазина к виртуальной кассе. Удобно это? Конечно удобно! Ломаться нечему! Обслуживать нечего! Сейчас, кто работал в торговле, хорошо меня поймут. Ничего не заедает, лента не заканчивается! Вообщем, отпадает большое количество разного рода проблем с техническим устройством.

Стоимость АТОЛ Онлайн - 34 800 рублей.

Конечно, вы можете приобрести физический кассовый аппарат. В этом случае его устанавливают в офисе, подключают какой то платежный агрегатор например ЯндексКасса и при зачислении денежных средств от покупателя на расчетный счет фирмы, выбивается чек и отправляется вместе с товаром или на электронную почту. в этом случае затраты будет на 10-15 тысяч меньше, а вот проблем и работы больше.

Работник - ответственное лицо, администратор

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

Взносы ИПза себя в2020году в ПФР составляют 32 448 рублей.

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

Федеральный МРОТ с 1 января2020года равен 12 130 рублям - ежемесячно. За год выплатить необходимо 145 560 рублей. Если конечно МРОТ не изменится)

Сторонние услуги или несколько вопросов по существу

  • Кто будет устанавливать, настраивать и обслуживать программное обеспечение и технические средства;

  • Кто подготовит документы на регистрацию фирмы;

  • Кто ведет бухгалтерию и внутреннюю документацию;

  • Будут ли изменения дизайна, нужны ли услуги дизайнера и верстальщика;

  • Кто подготовит документацию по защите информации;

Заключение

Посчитаем сколько получилось? Примерно 521 613 рублей. Кто будет соблюдать все эти правила? А главное оплачивать. Скорее всего НИКТО. А ведь многое я не учла, да и бывают непредвиденные траты.

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

Защита информации в нашей стране, из инженерной задачи превратилась в финансовую проблему. А законодательство, крайне агрессивно к малому бизнесу. Соблюдать все требования крайне затратно.

Приглашаю всех желающих и несогласных в комментарии. Буду рада конструктивной критике.

Подробнее..

Recovery mode Интернет-магазин как черная дыра в бюджете

07.09.2020 00:18:29 | Автор: admin

Тема затрат на интернет-бизнес актуальна как никогда. Особенно в период когда все переходят на удалёнку. Давайте вместе посчитаем, во сколько же нам обойдется владение и содержание одного года работы полноценного интерне-магазина.

Я понимаю, что решения для экономии денежных средств, используют многие. Главными проблемами этих решения является безопасность и законность внедрения. Всему виной закон о персональных данных. Они вводятся, когда покупатель оформляет заказ.

Споров на эту тему много. Я хочу привести пример, когда все учтено и не спорно, с юридической точки зрения.

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

Программное обеспечение

Интернет-магазин, это не одна программа. Это сложный программно-аппаратный комплекс. Бесплатное программное обеспечение я не рассматриваю, по ниже перечисленным причинам:

  1. Отсутствие сертификации ФСТЭК России. Мы обрабатываем персональные данные, и в данном случае программы с открытым кодом и множеством уязвимостей, использовать не имеем права.

  2. Сложность в реализации проекта. Никто не гарантирует, что все будет работать из коробки. Все нужно настраивать, "прикручивать" и "допиливать". Либо это постоянная работа, либо постоянные затраты.

  3. Поломки при обновлениях. Совсем не обновляться нельзя. А обновившись, Вы получите новый букет проблем с функционалом, в котором разберется как минимум верстальщик.

  4. Сложности в подключении к официальным серверами и интеграцией с программами.

  5. Отсутствие гарантированной и квалифицированной поддержки разработчиков.

  6. Отсутствие нормальной документации для разработчиков и пользователей. Решение некоторых проблем можно найти только на англоязычных ресурсах.

Рассмотрим нашу задачу с использованием СMS для управления сайтом "1С-Битрикс". Это не реклама, прошу учесть, а пример.

Когда мы говорим о работе фирмы, в первую очередь встает вопрос учета. Торговля это не только сайт, но и бухгалтерия, склад, счета и налоги. А у большинства бухгалтеров стоит "1С-Управление Торговлей". Логически выбрать программу для интернет-магазина, тех же разработчиков, что и бухгалтерского программного обеспечения. Самая актуализированная с точки зрения законодательства - это "1С-Битрикс". Сертификат ФСТЭК России имеется.

Стоимость на дату написания статьи:

Редакции 1С-Битрикс: Управление сайтом редакция "Малый бизнес"- 35 900 рублей;

Учтем в расчетах стоимость программы "1С-Управление Торговлей" - 27 300 рублей;

Так же посчитаем стоимость программ которые либо уже установлены на компьютере, либо их придется приобрести:

  1. Операционная система Microsoft Windows 10 Professional 32/64 bit SP2 Rus Only USB RS (HAV-00105) - 13 490 рублей;

  2. Офисное приложение Microsoft Office для дома и бизнеса 2019 - 18 790 рублей;

  3. Антивирус KASPERSKY Internet Security Multi-Device 1 устр 1 год Новая лицензия Card - 1 800 рублей.

  4. Межсетевой экран ИКС ФСТЭК - 52 180 рублей.

На этом месте хочу остановиться. Требуется не только межсетевой экран, но и контроль приложений (DPI), контентная фильтрация, авторизация пользователей и фильтрация почтового трафика. Проще подобрать какое то комплексное решение, имеющее необходимый сертификат и набор приложений. Для этого нужно либо отвести отдельный комп под шлюз, либо приобрести программно аппаратный комплекс целиком. Для простоты учета готовый, собранный разработчиками.
Вот тут как настроить.

Хостинг, домен, SSH

Теперь немного о сервере, на котором будет установлен сайт. Часто все покупают хостинг. Но! А как же защита базы данных? Битрикс использует разные, но самая популярная для этих целей все же MySQL. SQL инъекция это один из самых доступных и способов взлома сайта. И эту уязвимость нужно закрыть, если мы обрабатываем персональные данные.

Лучшим решением будет Облако с соблюдением ФЗ 152 УЗ4.

В документации "1С-Битрикс" указана фирма DataFort. Вот официальный сайт компании.

Мне как-то приходилось запрашивать у них прайс, и обсуждать этот вопрос, вот расценки и перечень необходимых для соблюдения законодательства элементы защиты системы:

  1. Ежемесячно, вычислительные ресурсы и дисковая подсистема, гипервизор Vmware - 6 800 рублей в месяц;

  2. Единовременно - средства защиты информации для УЗ-4 - 2 750 рублей;

  3. Ежемесячно - средства защиты информации для УЗ-4 - 1 102 рубля;

  4. Единовременно - ПО по подписке, виртуальный маршрутизатор до 500 Мбит/с - 9 304 рублей;

  5. Ежемесячно - ПО по подписке, виртуальный маршрутизатор до 500 Мбит/с - 3 814 рублей.

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

Домен - 1 000 рублей.

Посчитаем SSL-сертификат, оннужен для того, чтобы мошенники не могли перехватить личные данные, которые пользователи вводят у вас на сайте. Я сотрудничаю с компанией рег.ру, цены можно посмотреть здесь https://www.reg.ru/ssl-certificate/

SSL-сертификат DomainSSL начального уровня на один год - 3 299 рублей.

Оборудование

Ноутбук или ПК - 25 000 рублей;

Роутер илимаршрутизатор - 5 000 рублей;

Мобильный телефон - 10 000 рублей.

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

Фирма - ООО или ИП

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

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

  1. Юридическое сопровождение, изготовление уставных документов - 10 000 рублей. Стоимость ориентировочная, исходя из собственной практики.

  2. Услуги нотариуса - 2000 рублей;

  3. Изготовление круглой печати - 1 000 рублей;

  4. Открытие счета в банке, оформление карточки подписи - 3 500 рублей;

  5. Уставной капитал (нужно положить на счет при открытии) - 10 000 рублей

  6. Цифровая подпись для сдачи отчетности - 1 500 рублей;

  7. Программное обеспечение для сдачи отчетности 6 000 рублей;

  8. Аренда офиса - 10 000 рублей.

Кассовый аппарат

Не секрет, что практически любая торговля не возможна без кассового аппарата. В случае с интернет-магазином, у вас он может быть как и физический, так и виртуальный. Ведущие производители кассовых аппаратов сейчас предлагают подключение вашего интернет-магазина к виртуальной кассе. Удобно это? Конечно удобно! Ломаться нечему! Обслуживать нечего! Сейчас, кто работал в торговле, хорошо меня поймут. Ничего не заедает, лента не заканчивается! Вообщем, отпадает большое количество разного рода проблем с техническим устройством.

Стоимость АТОЛ Онлайн - 34 800 рублей.

Конечно, вы можете приобрести физический кассовый аппарат. В этом случае его устанавливают в офисе, подключают какой то платежный агрегатор например ЯндексКасса и при зачислении денежных средств от покупателя на расчетный счет фирмы, выбивается чек и отправляется вместе с товаром или на электронную почту. в этом случае затраты будет на 10-15 тысяч меньше, а вот проблем и работы больше.

Работник - ответственное лицо, администратор

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

Взносы ИПза себя в2020году в ПФР составляют 32 448 рублей.

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

Федеральный МРОТ с 1 января2020года равен 12 130 рублям - ежемесячно. За год выплатить необходимо 145 560 рублей. Если конечно МРОТ не изменится)

Сторонние услуги или несколько вопросов по существу

  • Кто будет устанавливать, настраивать и обслуживать программное обеспечение и технические средства;

  • Кто подготовит документы на регистрацию фирмы;

  • Кто ведет бухгалтерию и внутреннюю документацию;

  • Будут ли изменения дизайна, нужны ли услуги дизайнера и верстальщика;

  • Кто подготовит документацию по защите информации;

Заключение

Посчитаем сколько получилось? Примерно 521 613 рублей. Кто будет соблюдать все эти правила? А главное оплачивать. Скорее всего НИКТО. А ведь многое я не учла, да и бывают непредвиденные траты.

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

Защита информации в нашей стране, из инженерной задачи превратилась в финансовую проблему. А законодательство, крайне агрессивно к малому бизнесу. Соблюдать все требования крайне затратно.

Приглашаю всех желающих и несогласных в комментарии. Буду рада конструктивной критике.

Подробнее..

Меняем страницу просмотра элемента универсальных списков в коробочном Битрикс24

08.09.2020 10:16:23 | Автор: admin
Всем привет.

Если вы когда-либо работали с универсальными списками в Битрикс24, то, наверное, в курсе, что страница детального просмотра элемента полностью идентична странице редактирования. Единственное отличие если у пользователя права только на чтение, то на странице не будет кнопок Сохранить и Применить. Согласитесь, не самый приятный интерфейс.



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

ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ

Создатели Битрикс24 крайне не рекомендуют менять интерфейс корпоративного портала, поскольку в коробке публичная часть приравнивается к ядру, и при обновлении системы есть риск, что все ваши модификации будут стёрты.

Если же вы решите скопировать нужные шаблоны в папку local и издеваться над ними как хотите, то при обновлении они затронуты не будут. Но и новые фичи к ним тоже не будут применены.

Поэтому единственно верный способ в данном случае это модификация DOM-дерева через Javascript

По сути нам нужно всего-то подменить ссылку на детальную страницу в таблице списка:



Однако на деле это не так просто реализовать, т.к. нужно лезть в компонент, отвечающий за вывод универсальных списков и править ссылку там.

Поэтому мы пойдём иным путём через Javascript будем открывать страницу в слайдере, используя битриксовую библиотеку SidePanel.

Сделать это можно двумя способами в init.php и своём модуле. Также необходимо зарегистрировать свою JS-библиотеку.

И хотя второй способ более удобен, я покажу вам именно первый, а в конце статьи дам ссылку на свой модуль.

Итак, поехали. Все действия нужно выполнять в папке local.

Для начала нужно создать отдельную папку, где будет храниться наша библиотека. Назовём её, к примеру, viewer, и будет она иметь следующую структуру:

/viewer
-/js
--viewer.js // наша js-библиотека
-include.php // файл, который мы будем подключать в init.php


Здесь немного остановимся. Для php-кода я создал отдельный файл, который потом подключу в init.php, чтобы не засорять последний.

Давайте теперь зарегистрируем нашу библиотеку с помощью метода старого ядра CJSCore::RegisterExt:

// include.php// т.к. в битриксе есть js-библиотека viewer, то нужно использовать другое названиеCJSCore::RegisterExt('elementviewer', [     'js' => '/local/viewer/js/viewer.js', // путь к библиотеке    'rel' => ['SidePanel'] // слайдер]);

Осталось только подключить данную библиотеку на странице универсальных списков методом CJSCore::Init, и, казалось бы, дело в шляпе можно приступать к написанию самой библиотеки.

Однако не всё так просто, т.к. перед подключением необходимо проверить, что мы находимся на нужной странице. Делать это лучше с помощью регулярных выражений, т.к. id списка в адресе может меняться

// include.php$pattern = '/\/lists\/(\d+)\/view\//'; // часть адреса страницы универсального списка, где (\d+) = id списка$server = Bitrix\Main\Context::getCurrent()->getServer(); // объект Server, потребуется для получения адреса страницыif(preg_match($pattern, $server->getRequestUri())) {       CJSCore::Init(['elementviewer']); // подключаем библиотеку}

Итак, библиотеку подключили, осталось её написать. Для этого создаём файл viewer.js (если ранее не создали) и первым делом объявляем неймспейс с помощью функции BX.namespace:

const ElementViewer = BX.namespace('Viewer');

Теперь все переменные и функции можно объявлять следующим способом:

ElementViewer.init = function() {}


Чтобы не писать весь код в одной функции, разобьём её для удобства на более мелкие.

Первым делом нам необходимо найти на странице узел, содержащий ссылку на детальную страницу. Для этого воспользуемся функцией BX.findChildren, которая должна вернуть нам список всех объектов, содержащих ссылки на детальную страницу:

ElementViewer.findCell = function () {    return BX.findChildren(document, {        class: 'main-grid-cell-content' // css-класс узла с искомой ссылкой    }, true);}

Заодно напишем функцию, которая будет извлекать id списка и элемента из ссылки для дальнейшей работы:

ElementViewer.pattern = '/lists/(\\d+)/element/0/(\\d+)'; // часть адреса страницы детального просмотра элемента универсального списка, где первый шаблон = id списка, а второй = id элемента.ElementViewer.extractListData = function (url) {    let match = url.match(this.pattern); // проверяем ссылку регуляркой    if(match) {        return {            list_id: Number(match[1]),            element_id: Number(match[2])        };    }}

Вернёмся к BX.findChildren. Особенность данной функции в том, что она возвращает список всех объектов с указанным css-классом, и не факт, что это будет ссылка. Поэтому нам нужно выполнить проверку, и уже только после этого отменять событие открытия ссылки и открывать слайдер:

ElementViewer.init = function (sliderUrl) {    const cell = this.findCell();    cell.forEach(item => {        let itemChild = item.children;        let child = itemChild[0];        if(child && child.tagName === 'A') {            const listData = this.extractListData(child.toString()); // получаем id списка и элемента из ссылки            if(listData !== undefined) {                child.addEventListener('click', (e) => {                    e.preventDefault(); // отменяем переход по ссылке                    this.openSlider(sliderUrl, listData.list_id, listData.element_id); // открываем слайдер                })            }        }    });}

Нам осталось написать последнюю функцию, которая будет открывать слайдер. Для этого задействуем библиотеку SidePanel:

ElementViewer.openSlider = function (sliderUri, listId, elementId) {// в слайдер можно передавать данные методом POST, поэтому воспользуемся этой возможностью для передачи id списка и элемента    let sliderParams = {        list_id: listId,        element_id: elementId    }    return BX.SidePanel.Instance.open(sliderUri, {        allowChangeHistory: false,        cacheable: false,        requestMethod: 'POST',        requestParams: sliderParams    });}

Ну что же, библиотека написана, осталось вызвать функцию init после подключения. Для этого вернёмся в include.php, где проверяется адрес страницы:

if(preg_match($pattern, $server->getRequestUri())) {       CJSCore::Init(['elementviewer']); // подключаем библиотеку       $asset = Bitrix\Main\Page\Asset::getInstance();       $script = '<script>BX.ready(function() {  ElementViewer.init();})</script>';      $asset->addString($script);}

Остался последний штрих подключить наш код в init.php:

// init.php$file = $_SERVER['DOCUMENT_ROOT'] . '/local/path/to/viewer/include.php';if(file_exists($file)) {   require $file;}

Если всё сделано правильно, то при нажатии на элемент универсального списка откроется слайдер:





В заключении, как и обещал, ссылка на модуль, реализующий то же самое.

Спасибо за внимание.
Подробнее..

Битрикс24. Играемся с настройками и оптимизируем проект

03.02.2021 20:08:13 | Автор: admin
В этой статье мы расскажем, как оптимизировать крупный проект в Битрикс24 и увеличить его производительность в 3 раза, изменяя настройки MySQL и режим питания CPU.

Дано


Корпоративный портал в Битрикс24, рассчитанный на несколько сотен пользователей, c ~300 Гб файлов и ~80 Гб БД на выделенном сервере с BitrixVM.

До изменения настроек показатели были следующими:



Стандартный тест производительности в панели администратора Битрикс

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

Запрос клиента


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

Решение


Настройки MySQL первое, с чем мы начинаем работать.

Заменим стандартные значения BitrixVM на:

explicit_defaults_for_timestamp = 1expire_logs_days = 10max_binlog_size = 100Mmax_allowed_packet = 128Mtransaction-isolation = READ-COMMITTEDperformance_schema = OFFsql_mode = ""# Cache parametersquery_cache_type = 1query_cache_size=16Mquery_cache_limit=4Mkey_buffer_size=256Mjoin_buffer_size=2Msort_buffer_size=4M# Parameters for temporary tablestmpdir = /tmptmp_table_size=128Mmax_heap_table_size=128Mthread_cache_size = 4table_open_cache = 2048# InnoDB parametersinnodb_file_per_tableinnodb_buffer_pool_size = 8192Minnodb_buffer_pool_instances = 1innodb_flush_log_at_trx_commit = 0innodb_flush_method = O_DIRECTinnodb_strict_mode = OFF# Database charset parameterscharacter-set-server=utf8collation-server=utf8_general_ciinit-connect="SET NAMES utf8"[mysqldump]quickquote-namesdefault-character-set = utf8

Следующий шаг изменим режим питания CPU, так как Битрикс любит большую частоту процессора.

В зависимости от количества ядер меняем в каждом
файле /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor powersave на performance.

Далее проверим результат:



Мы видим, что больше всего изменилась работа с MySQL: параметры запись и изменение выросли почти в 3 раза; показатель чтение вырос в 5 раз. Это значит, что при обращении сайта к базе данных этот тип операции будет выполняться в несколько раз быстрее. Как следствие, вырастет и общая производительность сайта.

Из-за изменения режима питания CPU (это возможно, так как используется выделенный сервер) увеличилось количество операций на CPU.

Теперь необходимо отредактировать настройки для OPcache.

В файле /etc/php.d/10-opcache.ini заменяем его исходное значение на:

zend_extension=opcache.soopcache.enable = 1opcache.enable_cli = 1opcache.memory_consumption = 256opcache.max_file_size = 2Mopcache.interned_strings_buffer = 64opcache.max_accelerated_files = 130987opcache.fast_shutdown = 1opcache.revalidate_freq = 1opcache.fast_shutdown=1opcache.save_comments=1opcache.load_comments=1opcache.use_cwd = 1

Примечание: Тест Битрикс сообщит вам, что параметр opcache.revalidate_freq должен иметь значение 0 а не 1, но с указанным нами он будет работать лучше.

Сам параметр opcache.revalidate_freq отвечает за проверку кеша: при значении 0 она выполняется каждый раз при запуске скрипта, а при значении 1 раз в секунду.

После изменения настроек проверяем результат:



Из таблицы следует, что показатель работы с MySQL еще немного вырос. В то же время операции на CPU и общая производительность Битрикс увеличились значительно за счет изменения настроек PHP и кеширования скриптов.

Вывод


Благодаря таким несложным изменениям в настройках, мы смогли увеличить производительность проекта в 3 раза, а взаимодействие с БД от 3 до 5 раз (на основании общей оценки теста Битрикс). Работой проекта на новом сервере наш клиент полностью доволен. We did it!

В данном способе оптимизации мы сделали акцент на основных моментах, с которыми взаимодействует Битрикс, а также на сам тест. Клиенты часто обращают внимание именно на него.

Среди других способов повышения производительности Битрикс можно назвать установку и настройку кеширующего сервиса (например, Redis). Показатель производительности в CMS может упасть, но общая работа сайта должна быть лучше. Кроме того, можно использовать php-fpm, но в нашем случае переделывать ОС, изначально настроенную под Битрикс, было бы нерационально.

Также можно еще поиграться с настройками MySQL. Они индивидуальны для каждого проекта и конфигурации, поэтому единого идеального рецепта не существует. Будет интересно узнать ваши лайфхаки по оптимизации проектов в Битрикс. Делитесь мнением в комментариях.
Подробнее..

QR-коды для учета мусоровозов. Ч. 1

01.10.2020 20:16:38 | Автор: admin

Зачем я занялся этим вопросом? Меня беспокоит, как гражданина проблема мусора. А учет работы мусоровозов, одна из первых задач для возможностей снижения загаживания так полюбившейся мне Ленинградской области.

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

На сегодняшний день в Ленинградской области есть Комитет Цифрового Развития. Эта организация совместно с другими комитетами в т.ч. реализовывает различные ИТ-проекты, закупая их естественно по 44-ФЗ. Я не вижу ничего плохого, когда появляется необходимость в той или иной системе, ее заказывают и запускают в работу. Есть рабочие места, есть улучшение работы и деятельности организаций, оказывающих от имени государства услуги.

Не так давно Губернатор Ленинградской области Александр Юрьевич Дрозденко заявил, что для того, чтобы эффективнее отслеживать мусоровозы Санкт-Петербурга и Ленинградской области, необходимо им всем выдать QR-коды. Сделать такую систему.

Spoiler

"Самое страшное, что у нас сейчас происходит - это свалки в лесах, эти "закапушки".

Александр Дрозденко, губернатор Ленинградской области

Что меня настораживает во всем этом?

  1. У государства уже есть закупленная: Региональная информационно-навигационная система Ленинградской области (РИНС)

  2. У любого мусоровоза есть ГРЗ (государственный регистрационный знак, типа: А123ВЕ47RUS), а так же с завода установленные системы ГЛОНАСС, ЭРА-ГЛОНАСС и может доукомплектовываться тахографом.

Закупленная система наблюдает за скорыми, школьными автобусами и т.д. В уже имеющуюся систему вполне можно встроить необходимый модуль, который позволит регистрировать перевозимые грузы и обеспечить фиксацию действий в т.ч. с помощью трекинга. В добавок любой гражданин увидев мусоровоз или машину, перевозящую мусор сможет проверить отсканировав QR-код, размещенный где? На лобовом стекле? ... .

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

Какой же должна быть логика системы?

Увидел гражданин машину с мусором, перешел на сайт "мусоровозы" и ввел номер в формочку. Или отсканировал громадный QR-код. Который не самой накладной на лобовом стеклышке листа А4, а нормальный, большой, со всех сторон и даже на крыше.

По результатам выдачи формы увидел: транспортную накладную, данные об авто и фото, а так же точку на карте. Всё как в том же AIS, да и любой другой системе подобного типа.

Логика работы мусорной компании или мусоровоза-частника?

  1. Регистрируемся как пользователь гос.портала;

  2. Регистрируем каждую машину и водителя;

  3. У водителя смартфон, на котором он может запустить мобильную версию сайта (зачем писать еще и мобильное приложение - верно?) и поставить машину в рейс, с указанием точек или принять готовое задание, сфотографировать к заданию накладные и даже фактические фотографии того, как и откуда он увез и как и куда он вывез;

  4. На каждый авто мы можем в публичной части вывести нужный нам отчет :)

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

Смоделировать такую историю я взялся на 1С Битрикс, а если точнее Битрикс24. Под рукой оказался именно он, в нем можно накликав мышкой автоматизировать кучу бизнес-процессов. Хотя может стоит и на Python + Django.

Почему выбор пал именно на него?

Во первых - платформа универсальная и масштабируемая; Только пожалуйста не минусуйте - я исхожу из точки зрения бизнес-пользователя, а не гения DevOps.

Во вторых - реализация автоматизации задач на Битрикс доступна любому мыслящему руководителю;

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

Что я прошу от сообщества?

На Хабре очень много классных ребят и девчат. А значит, можно обсудить данный вопрос и его целесообразность, а так же возможно озвучить свои мысли и предложения для того, чтобы наконец наши государственные слуги смогли качественно реализовывать системы, не флудя в соц.сетях о том, что любые решения кроме тех, которые они делают жутко проприетарными с непонятными стоимостями и функционалом являются отстоем. Мы же знаем, что Битрикс, это всего лишь конструктор сайтов? :)

Кто, как видит решение проблемы учета мусоровозов и возимых ими отходов без серьёзных бюджетных затрат?

Не кидаться в друг друга какахами, не минусовать меня или кого либо еще. Может я и дурак, но давайте жить дружно хотя бы по этому вопросу?

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

И немного самокритики.

Подробнее..

Recovery mode Автоматизация взаимодействия дилеров и отдела продаж в крупном предприятии

01.10.2020 18:11:51 | Автор: admin

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





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

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

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

Конечно, добавим, ответим мы и обязательно предложим сделать это правильно.

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

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

  • Что будет в личном кабинете дилера?
  • Просто заказы с документами и создание нового.

  • Действительно, просто. А откуда возьмутся заказы? Как сейчас они создаются? Возможно ли взаимодействие с этой системой через api? Кто сможет их создавать в нашей системе? А кто не сможет? Можно ли отменить? А если заказ уже отгружен? У кого будет доступ к заказу? А документы в какой момент и откуда возьмутся? А можно ли их выгрузить? Как будут меняться статусы? Будет ли кто-то контролировать выполнение заказа? С заказом могут быть рекламные материалы, говорите? А что за материалы, кто их создает, кто прикрепляет к заказу?

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

Исследование


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

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

Наш клиент один из ведущих российских производителей материалов для строительства и отделки. Это предприятие полного цикла производства: от добычи гипсового камня (у компании собственная сырьевая база) до фасовки и упаковки готовой продукции. Поставки продукции компании осуществляются в более чем 100 городов России, а также в другие страны Европы и Азии. У компании примерно 150 дилеров, которые реализуют продукцию своей оптово-розничной сети. Ведется тщательная работа по привлечению и удержанию дилеров. Компания всячески поддерживает их в продвижении товаров, стимулирует продавать больше интересными маркетинговыми акциями и системой бонусов.

Интервью с заинтересованными лицами, постановка бизнес-целей

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



Такие проблемы нам были озвучены:

  • Вся работа с дилерами ведется по телефону и электронной почте. Заказ оформляется письмом на электронный адрес, обновления по нему обсуждаются в личном общении. Общение и оформление заказа ручной труд, который отнимает много времени сотрудников.
  • Нет актуальной информации о наличии товара на складе. Информация об остатках поступает менеджерам утром и не обновляется в течение дня. При формировании заказа нельзя точно сказать, доступно ли нужное количество товара.
  • У компании нет данных о деятельности дилеров: количестве товара на их складе, доле продукции компании в общем портфеле, популярности конкретных линеек товара, конечных покупателях и потребителях. Таким образом, нет возможности оптимально планировать отгрузки и маркетинговую деятельность.
  • Дилеры не получают полную информацию о сотрудничестве с компанией, теряют документы, не понимают, насколько выполнен план продаж, не знают о положенных им бонусах и подарках.
  • Анализ объемов продаж дилерам, остатки на их складах, планирование производства происходит в ручном виде аналитиком предприятия на основе догадок и предположений. Все данные собираются в один файл в формате excel, из него создаются отчеты.
  • Руководители отдела не получают точной информации о работе сотрудников своего отдела и не могут точно планировать их загрузку, ставить планы продаж.

Таким образом, целями работы стали:

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

Правильная формулировка бизнес-целей задача аналитика, от клиента не требуется красивых слов и сложных фраз. Важно как можно более точно и полно рассказать о своих ожиданиях и ограничениях, если они есть в техническом и организационном плане. Можно обозначить рамки бюджета, от этого будет зависеть объем планируемой работы.

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

На первой встрече с нашим заказчиком мы также:

1. Узнали, что:

  • Все продажи компании организованы по дивизионам, созданным с географической привязкой к странам и регионам России.
  • У каждого дивизиона есть руководитель и несколько региональных менеджеров, за которыми закреплены регионы и торговые представители (дилеры) в конкретных городах.
  • Дилеры, в свою очередь, продают продукцию компании своей оптовой и розничной сети, поставляют на стройки объектов.

2. Получили:

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

3. Познакомились с:

  • Генеральным директором,
  • Коммерческим директором,
  • Руководителем отдела продаж,
  • Руководителем отдела маркетинга.,
  • Руководителем отдела логистики,
  • Главным бухгалтером.

Чтобы разговор получился продуктивным, мы обычно просим клиента подготовиться к нему:

а) пригласить на встречу заинтересованных в создании системы руководителей высшего звена и тех сотрудников, кто создает и участвует в автоматизируемых бизнес-процессах. Участников не должно быть много, достаточно 5-6 человек, со всеми остальными мы обязательно поговорим позже. Общение с каждым не займет много времени, пока нам важно, чтобы сотрудник был в курсе проекта, дал свои координаты для оперативной связи, был готов участвовать в работе по исследованию бизнес-процессов;

б) обдумать и быть готовым рассказать о своих ожиданиях от новой системы, целях ее создания.

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

AS IS или описание существующих бизнес-процессов, выявление проблем, сбор пользовательских требований


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

Пример списка сотрудников для общения:

  • Генеральный директор;
  • Заместители директора (два человека);
  • Руководитель дивизиона (три человека);
  • Менеджер отдела продаж (три человека);
  • Руководитель отдела логистики;
  • Руководитель отдела маркетинга;
  • Главный бухгалтер;
  • Трейд-маркетолог;
  • Аналитик;
  • Дилер (три человека).

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

Пример описания текущей ситуации:

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

Для размещения заказа дилер отправляет письмо-заявку на электронный адрес закрепленного за компанией менеджера. В заявке он указывает:

1. Названия и количество товаров, которые необходимы,
2. Свои реквизиты;
3. Адрес грузополучателя, куда необходимо отгрузить товар;
4. Транспорт, которым необходимо отправить товар;
5. Желаемую дату отгрузки.

Менеджер отдела продаж создает новый заказ для дилера в системе 1С:

  • набирает продукты из списка. Реальное наличие товара на складе определяется по цифре остатков товара, которое менеджер получает в виде таблицы от производства утром. Менеджер не знает, сколько такого же товара заказали другие дилеры компании (не его дивизиона), поэтому размещает заказ без точной информации о наличии;
  • добавляет подходящие скидки (в случае особого объекта или проходящей акции);
  • создает отдельный заказ с товарами по акции (если идет акция);
  • самостоятельно определяет количество транспортных средств для доставки (для каждого транспортного средства создается отдельный заказ);
  • добавляет стоимость доставки, которую берет из специального документа, подготовленного отделом логистики;
  • ставит свою дату отгрузки товара;
  • устанавливает срок оплаты заказа;
  • формирует необходимые документы:
  • счет-фактуру;
  • товарную накладную; акт на доставку (если необходима доставка);
  • транспортную накладную.

После размещения заказа для него формируется заявка на транспорт, которая отправляется в отдел логистики.

Пример пользовательских требований к новой системе:

а) Автоматизировать создание заказа дилером, дать ему возможность набрать и разместить заказ самостоятельно, следить за его статусом выполнения, видеть историю всех своих заказов за время работы с компанией;
б) Дать возможность дилерам размещать предварительные заказы на неделю для возможности прогнозирования производства и отправки товара;
в) Дать возможность менеджеру отдела продаж видеть резерв товара на складе;
г) Дать возможность менеджеру автоматически определять количество поддонов и транспортных средств в зависимости от объема заказа;
д) Сохранять все документы по всем заказам дилера и дать возможность скачивать их всем заинтересованным лицам (менеджер, руководитель, бухгалтер, дилер).

На этом этапе аналитику важно содействие со стороны заказчика:

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



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

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

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

д) Нужно помнить, что озвучиваемые сотрудниками проблемы часто выходят за рамки обсуждаемого проекта. Например, при обсуждении работы с дилерами может оказаться, что во внутренней системе предприятия не все настроено хорошо и удобно, а структуру каталога давно пора изменить. Такая ситуация нормальна, но не стоит собирать все озвученное в один проект и решать все проблемы сразу. В рамках проекта стоит оставить только то, что действительно мешает или вовсе не позволяет достичь заданных ранее целей.

Полевые исследования


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



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

Технические особенности


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

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

Работа на этом этапе требует участия технических специалистов как со стороны проектировщика, так и со стороны заказчика, ведь нам придется полностью описывать архитектуру и api, находить способы интеграции и планировать обмен данными.

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

В результате этапа исследования у нас, как правило, есть:

1. Сформулированные руководством цели и задачи для создания личных кабинетов;

2. Общее понимание и детальное описание бизнес-процессов, которые будут автоматизированы в результате их создания;

3. Список пользовательских требований от каждого типа пользователей личного кабинета;

4. Список систем, с которыми будет необходимо взаимодействовать, их описание и технические данные.

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

Проектирование


TO BE или проектирование новых бизнес-процессов и пользовательских сценариев


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

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

Пользовательское требование руководителя дивизиона:

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

Возможные сценарии на основе этого требования:

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

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

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

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

Выделение минимального набора сценариев для запуска


Необходимо понимать, что реализация всех сценариев сразу займет достаточно долгое время, поэтому оптимальным будет выделить из всего списка наиболее важные и нужные сценарии или те, которые можно начать реализовывать уже сейчас, без предварительной подготовки (например, без дополнительной настройки системы 1С). Такой набор (MVP минимально жизнеспособный продукт) будет взят за основу, на которую после запуска будут добавляться все новые и новые возможности из выделенных ранее.

Пример MVP:

Личные кабинеты:

  • Генерального директора,
  • Руководителя дивизиона,
  • Менеджера продаж,
  • Маркетолога (зачеркнуто),
  • Сотрудника отдела логистики (зачеркнуто),
  • Главного бухгалтера (зачеркнуто).

Примеры сценариев руководителя дивизиона:

  • Установка плана продаж сотрудников,
  • Установка плана продаж по договору для дилеров,
  • Контроль статусов заказов (зачеркнуто),
  • Получение статистики продаж дивизиона по сотрудникам,
  • Получение статистики продаж дивизиона по дилерам,
  • Просмотр информации дилера.

Примеры сценариев дилера:

  • Просмотр условий работы с компанией, плана продаж,
  • Размещение заказа (зачеркнуто),
  • Просмотр статистики продаж за месяц,
  • Размещение заявления на получение маркетинговых материалов (зачеркнуто),
  • Участие в акции (зачеркнуто).

Функциональные требования


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

Пользовательское требование руководителя дивизиона:

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

Функциональные требования, которые из него вытекают:

1. Видеть общую информацию по отгрузкам дилерам своего дивизиона с возможностью множественного и одновременного выбора:

а) периода времени (неделя, месяц, год);

б) группы товаров (ССС, СЦС, ГСП, ПГП);

в) конкретного товара;

г) региона/города; конкретного менеджера;

д) конкретного дилера.

2. Устанавливать и менять план отгрузок на месяц для каждого менеджера дивизиона.

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

а) периода времени (неделя, месяц, год);

б) региона/города;

в) группы товаров (ССС, СЦС, ГСП, ПГП);

г) конкретного товара;

д) конкретного менеджера;

е) конкретного дилера.

4. Сравнивать (видеть одновременно) запланированные показатели с фактическими для того, чтобы увидеть отклонения и тенденции. Необходима возможность множественного и одновременного выбора:

а) периода времени (неделя, месяц, год);

б) группы товаров (ССС, СЦС, ГСП, ПГП);

в) конкретного товара;

г) региона/ города; конкретного менеджера;

д) конкретного дилера.

5. Видеть общую информацию о вторичных продажах дилеров своего дивизиона с возможностью множественного и одновременного выбора:

а) периода времени (неделя, месяц, год);

б) группы товаров (ССС, СЦС, ГСП, ПГП);

в) региона/города;

г) конкретного менеджера;

д) конкретного дилера.

6. Указывать, сколько дилеров предоставили информацию.

7. Видеть общую информацию о структуре вторичных продаж дилеров своего дивизиона с возможностью множественного и одновременного выбора:

а) периода времени (неделя, месяц, год);

б) группы товаров (ССС, СЦС, ГСП, ПГП);

в) региона/дивизиона и города;

г) конкретного менеджера;

д) конкретного дилера.

8. Видеть общую информацию о дебиторской задолженности дилеров своего дивизиона с возможностью множественного и одновременного выбора срока задолженности:

а) общая;

б) не более 14 дней;

в) 15-30 дней;

г) 31-45 дней;

д) 46-60 дней;

е) больше 61 дня.

9. Видеть список всех платежей дилеров своего дивизиона с возможностью множественного и одновременного выбора:

а) периода времени (неделя, месяц, год);

б) региона/города;

в) конкретного менеджера;

г) конкретного дилера.

10. Видеть прогнозы отгрузок продукции от дилеров своего дивизиона с возможностью множественного и одновременного выбора:

а) периода времени (неделя, месяц, год);

б) группы товаров (ССС, СЦС, ГСП, ПГП);

в) конкретного товара;

г) региона/города;

д) типа транспорта;

е) конкретного менеджера;

ж) конкретного дилера.

Создание структуры системы, права пользователей


Все полученные функции организуем в однородные и логически близкие группы. Если бы мы строили дом, на этом этапе прокладываются коммуникации, возводятся стены, происходит планировка помещений. А в будущем кабинете возникают разделы, страницы, формы и кнопки.

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

Пример структуры кабинета дилера, * отмечена версия MVP:

1. Страница авторизации*

2. Рабочий стол*

3. Моя компания

а) Профиль*

б) Договор и дополнения*

в) Коммерческие условия*

г) О компании*

сотрудники*

склады*

территория работы*

контракты других производителей*

специализированные подразделения*

требования и преимущества*

д) Грузополучатели*

е) Объекты*

4. Каталог

а) Список товаров

б) Корзина

в) Оформление заказа

5. Заказы и платежи

а) Мои заказы

заказы

отгрузки

б) Мои платежи

в) Дебиторская задолженность

5. Продвижение

а) POS-материалы

б) Акции

в) Бонусы

6. Сдать отчет*

7. Помощь*

8. Настройки*

9. Контакты*

10. Уведомления*

а) Автоматические уведомления*

б) Сообщения*

в) Написать сообщение*

На этом этапе мы также решаем, как будут жить в доме-кабинете его жители: смогут ли ходить в гости, будет ли стена между кухней и столовой. Такое определение прав пользователей может занять достаточно много времени, особенно, если пользователей много.

Вот так могут быть заданы права:

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

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

Структура данных всегда представлена в виде схемы:



Советы:

  • Не абстрагироваться от процесса, участвовать в нем и, как бы ни казалось сложно разобраться в таблицах и схемах, давать обратную связь проектировщику от тех сотрудников, которые хорошо разбираются в вопросе.
  • Задавать вопросы и обсуждать предложения, которые их вызывают. На этом этапе поправить что-то легко и незатратно. Гораздо сложнее будет сделать это, когда функция будет запрограммирована и связана еще с десятком других.
  • Не придумывать новые функции для того, чтобы они были. Все, что реализуется, должно быть точно востребовано пользователями и должно четко отвечать их требованиям и общим целям проекта.




Прототип интерфейса


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



Техническое задание


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

Отрывок из технического задания:

3.1.1.1.1. Склады

Основная часть страница включает следующие элементы:

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

название (адрес) склада;

город, в котором расположен склад;

площадь склада (кв.м.);

отметка принадлежности склада компании. Если стоит эта отметка, данные площади склада учитываются в статистической информации о складах в Личном кабинете сотрудника. Площадь складов, у которых не стоит данная отметка, в этой статистике не учитывается;

дополнительная информация: текст с описанием склада.

Партнер может в любое время отредактировать или удалить любой склад. При этом при сохранении данных партнер видит сообщение: Спасибо за вашу информацию! или Склад был успешно удален, а менеджер партнера и руководитель его дивизиона получают уведомление в виде автоматического уведомления, а также сообщения в разделе Уведомления о том, что партнер отредактировал или удалил склад. Новые данные о площади склада партнера учитываются в статистике того месяца, в котором были сделаны изменения и сразу же отображаются в ней.

Если пользователь сделал несколько изменений за один месяц, в статистике необходимо учитывать последние предоставленные данные. Таким образом, текущий показатель площадей склада партнера сохраняется на 23:59 ч последнего дня месяца и именно эти данные показываются как показатель данного месяца.

2. Форма добавления нового склада со следующими полями, * отмечены обязательные для заполнения поля:

название (адрес) склада (текстовая строка)*;

город склада (текстовая строка)*;

собственный склад (чекбокс)*;

площадь склада, м2 (число)*;

дополнительная информация (текстовое поле).

У каждого поля может быть пояснение о том, какую информацию необходимо ввести. Пояснения редактируются в коде страницы.

При добавлении склада партнер видит сообщение: Спасибо за вашу информацию!, а менеджер партнера и руководитель его дивизиона получают уведомление в виде автоматического уведомления, а также сообщения в разделе Уведомления о том, что партнер добавил новый склад. Площадь нового склада, при условии, что склад отмечен как собственный склад компании, добавляется в статистику площадей складов за тот месяц, в котором был добавлен новый склад и сразу же отображается в ней. Добавленный партнером склад сразу же отображается в его списке.

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

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

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

Подытожим


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

Наш заказчик получил:

1. Личный кабинет для дилеров компании с возможностями:

самостоятельно собрать и оформить заказ продукции компании, видеть статусы обработки и поставки на склад,

делать предварительные заказы, тем самым предоставлять возможность планировать производство и транспорт для доставки,

видеть условия сотрудничества, прогресс выполнения плана закупки, задолженности и все полученные бонусы и подарки от компании,

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

2. Личные кабинеты сотрудников компании с возможностями:

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

получать и обрабатывать заказы дилеров в рамках своих полномочий и последовательных этапов общего процесса работы с заказами,

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

контролировать работу собственных сотрудников, получать отчеты о выполнении ими плана,

хранить и обрабатывать результаты маркетинговых акций

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

Распознавание эмоций в записях телефонных разговоров

21.06.2021 02:14:29 | Автор: admin

Технология распознавания эмоций в речи может может найти применение в огромном количестве задач. В частности, это позволит автоматизировать процесс мониторинга качества обслуживания клиентов call-центров.

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

1) Empath

В 2017 году был основан японский стартап Empath. Он создал платформу Web Empath, основанную на алгоритмах, обученных на десятках тысяч голосовых образцов японской медицинской технологической компании Smartmedical. Недостатком платформы является то, что она анализирует только голос и не пытается распознать речь.

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

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

2) Центр речевых технологий

В составе программного продукта Smart Logger II компании ЦРТ есть модуль речевой аналитики QM Analyzer, позволяющий в автоматическом режиме отслеживать события на телефонной линии, речевую активность дикторов, распознавать речь и анализировать эмоции. Для анализа эмоционального состояния QM Analyzer измеряет физические характеристики речевого сигнала: амплитуда, частотные и временные параметры, ищет ключевые слова и выражения, характеризующие отношение говорящего к теме [2]. При анализе голоса первые несколько секунд система накапливает данные и оценивает, какой тон разговора был нормальным, и далее, отталкиваясь от него, фиксирует изменения тона в положительную или отрицательную сторону [3].

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

3) Neurodata Lab

Компания Neurodata Lab разрабатывает решения, которые охватывают широкий спектр направлений в области исследований эмоций и их распознавания по аудио и видео, в том числе технологии по разделению голосов, послойного анализа и идентификации голоса в аудиопотоке, комплексного трекинга движений тела и рук, а также детекции и распознавания ключевых точек и движений мышц лица в видеопотоке в режиме реального времени. В качестве одного из своих первых проектов команда Neurodata Lab собрала русскоязычную мультимодальную базу данных RAMAS комплексный набор данных об испытываемых эмоциях, включающий параллельную запись 12 каналов: аудио, видео, окулографию, носимые датчики движения и другие о каждой из ситуаций межличностного взаимодействия. В создании базы данных приняли участие актеры, воссоздающие различные ситуации повседневного общения [4].

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

Однако стоит заметить, что база данных для обучения нейронной сети в данном решении была подготовлена специально с участием актеров. А, согласно исследованиям, переход от модельных эмоциональных баз к распознаванию эмоций в спонтанной речи ведет к заметному снижению эффективности работы алгоритмов [1].

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

Empath

ЦРТ

Neurodata Lab

Разрабатываемый сервис

семантический анализ

-

+

+

+

русский дата-сет

-

нет

+

+

дата-сет спонтанных эмоций

+

-

+

В качестве материалов для создания русскоязычного эмоционального дата-сета со спонтанной речью мне была предоставлена база записей телефонных разговоров от IT-компании Эм Си Арт.

Общий алгоритм работы разрабатываемого сервиса выглядит следующим образом.

Блок-схема алгоритма обработки звонкаБлок-схема алгоритма обработки звонка

При реализации были использованы следующие инструменты:

  1. Шумоочистка RNNoise_Wrapper

  2. Диаризация pyAudioAnalysis

  3. Транскрибация vosk-api

  4. Анализ эмоций текста dostoevsky

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

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

Я выбрала пять наиболее часто используемых признаков:

  • мел-частотные кепстральные коэффициенты (MFCC)

  • вектор цветности

  • мел-спектрограмма

  • спектральный контраст

  • тональный центроид (Tonnetz)

На основе выделенных из записей телефонных разговоров отрезков я составила 3 варианта дата-сетов с различным количеством выделяемых классов эмоций. Также для сравнения результатов обучения была взята берлинская база эмоциональной речи Emo-DB, созданная с привлечением профессиональных актеров.

Сначала я попробовала обучить простые классификаторы библиотеки scikit-learn:

  • SVC

  • RandomForestClassifier

  • GradientBoostingClassifier

  • KNeighborsClassifier

  • MLPClassifier

  • BaggingClassifier

В результате обучения на дата-сете Emo-DB получилось достичь точности распознавания 79%. Однако при тестировании полученной модели на размеченных мной записях телефонных разговоров, точность оказалась равной всего 23%. Это подтверждает тезисы о том, что при многоязычной классификации и переходе от модельных эмоций к спонтанным точность распознавания значительно снижается.

На составленных мной дата-сетах получилось достичь точности 55%.

База данных

Количество классов

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

Модель

Точность

Emo-DB

4

408

MLPClassifier

79.268%/22.983%

MCartEmo-admntlf

7

324

KNeighborsClassifier

49.231%

MCartEmo-asnef

5

373

GradientBoostingClassifier

49.333%

MCartEmo-pnn

3

421

BaggingClassifier

55.294%

При увеличении количества выделяемых классов эмоций точность распознавания падала. Это так же может быть связано с уменьшением выборки ввиду сложности разметки по большому количеству классов.

Далее я попробовала обучить сверточную нейронную сеть на дата-сете MCartEmo-pnn. Оптимальной архитектурой оказалась следующая.

Точность распознавания такой сети составила 62.352%.

Далее я провела работу по расширению и фильтрации дата-сета, в результате чего количество записей увеличилось до 566. Модель заново была обучена на этих данных. По итогу точность распознавания увеличилась до 66.666%. Это говорит о необходимости дальнейшего расширения набора данных, что приведет к увеличению точности распознавания эмоций по голосу.

График истории обучения и матрица ошибок полученной CNNГрафик истории обучения и матрица ошибок полученной CNN

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

Сервис Gateway API производит аутентификацию пользователей по стандарту JSON Web Token и выполнять роль прокси-сервера, направляя запросы к функциональным микросервисам, находящимся в закрытом контуре.

Разработанный сервис был проинтегрирован с Битрикс24. Для этого было создано приложение Аналитика речи. В понятиях Битрикс24 это серверное приложение или приложение второго типа. Такие приложения могут обращаться к REST API Битрикс24, используя протокол OAuth 2.0, а также регистрировать свои обработчики событий. Поэтому достаточно было в сервере добавить роуты для установки приложения (по сути регистрация пользователя), удаления приложения (удаление аккаунта пользователя) и обработчик события OnVoximplantCallEnd, который сохраняет результаты анализа записей в карточках связанных со звонками CRM-сущностей. В качестве результатов приложение добавляет расшифровку записи к звонку и комментарий с оценкой успешности разговора по пятибалльной шкале с прикреплением графика изменения эмоционального состояния по каждому участнику разговора.

Заключение

В работе представлен результат исследования на тему распознавания эмоций в речи, в ходе которой на основе русскоязычных записей телефонных разговоров был создан дата-сет эмоциональной речи, на котором была обучена CNN. Точность распознавания составила 66.66%.
Был реализован веб-сервис, с помощью которого можно выполнять очистку аудиозаписей от шума, диаризацию, транскрибацию и анализ эмоций в аудиозаписи или текстовых сообщениях.
Сервис был доработан, чтобы его также можно было использовать как приложение Битрикс24.

Данная работа выполнялась по заказу компании Эм Си Арт в рамках ВКР бакалавра образовательной программы "Нейротехнологии и программирование" университета ИТМО. Также по этой теме у меня был доклад на X КМУ и была принята на публикацию в "Сборнике трудов Конгресса" статья.

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

Список источников

  1. Давыдов, А. Классификация эмоционального состояния диктора по голосу: проблемы и решения / А. Давыдов, В. Киселёв, Д. Кочетков // Труды международной конференции "Диалог 2011.". 2011. С. 178185.

  2. Smart Logger II. Эволюция систем многоканальной записи. От регистрации вызовов к речевой аналитике [Электронный ресурс]. Режим доступа: http://www.myshared.ru/slide/312083/.

  3. Smart logger-2 не дремлет. Эмоции операторов call-центров и клиентов под контролем [Электронный ресурс]. Режим доступа: https://piter.tv/event/_Smart_logger_2_ne_drem/.

  4. Perepelkina, O. RAMAS: Russian Multimodal Corpus of Dyadic Interaction for Studying Emotion Recognition / O. Perepelkina, E. Kazimirova, M. Konstantinova // PeerJ Preprints 6:e26688v1. 2018.

Подробнее..

Как быстро получить много данных от Битрикс24 через REST API

17.01.2021 12:19:01 | Автор: admin

Нередко при работе с Bitrix24 REST API возникает необходимость быстро получить содержимое определенных полей всех элементов какого-то списка (например, лидов). Традиционный способ для этого - обращение к серверу через метод *.list (например, crm.lead.list для лидов) с параметром select, перечисляющим список требуемых полей.

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

Стратегии

Ниже мы описываем три стратегии, которые мы условно назвали "ID filter", "Start increment' и "List + get".

Первые две стратегии ("ID filter" и "Start increment") предложены в официальной документации Битрикс24, но мы ниже предлагаем их "докрутить".

ID filter

Запросы отправляются к серверу последовательно с параметром "order": {"ID": "ASC"} (сортировка по возрастанию ID), и в каждом последующем запросе используются результаты предыдущего (фильтрация по ID, где ID > максимального ID в результатах предыдущего запроса).

При этом для ускорения используется параметр start = -1 для отключения затратной по времени операции расчета общего количества записей (поле total), которое по умолчанию возвращается в каждом ответе сервера при вызове методов вида *.list.

В потенциале для ускорения можно попытаться параллельно передвигаться по списку сущностей в два потока: с начала списка и с конца, продолжая получать страницы, пока ID в двух потоках не пересекутся. Такой способ, возможно, будет давать двукратное ускорение до тех пор, пока не будет исчерпан пул запросов к серверу и не потребуется включить throttling.

Start increment

Стратегия, при которой перебираются страницы путем увеличения параметра start, который является средством позиционирования курсора для получения следующей страницы.

Если перед нами стоит цель получить полный набор сущностей, то, в отличие от предыдущей стратегии, эта хорошо поддается ускорению (несмотря на то, что она требует использования параметра start, что замедляет работу сервера).

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

Объединение запросов в батчи

Зная общее количество элементов, можно сразу создать запросы на все страницы и объединить их в батчи. (Битрикс поддерживает батчи в 50 запросов.) Использование батчей позволяет обойти ограничения на максимальную скорость запросов, так как один батч считается за один запрос при учете сервером количества получаемых запросов.

Параллельная отправка батчей к серверу

Примеры кода в официальной документации Битрикс24 REST API везде предлагают последовательную отправку запросов и описывают лишь ограничения на скорость отправки запросов. Но параллельная отправка запросов возможна и позволяет сильно ускорить обмен информацией с сервером.

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

Именно такая стратегия сейчас заложена в метод get_all() в питоновской библиотеке fast_bitrix24 (пиарюсь - библиотеку написал я).

List + get

Составная стратегия, при которой при помощи стратегии "Start increment" от сервера получается сначала список всех ID по методу *.list (с указанием, что нужны только ID - 'select': ['ID']) , а потом через метод *.get получается содержимое всех полей для каждого ID. При этом в обоих шагах используются описанные выше способы ускорения "Объединение запросов в батчи" и "Параллельная отправка батчей".

Тест

Чтобы проверить эффективность этих стратегий, мы провели тест (код теста).

Тест запрашивает страницы лидов (метод crm.lead.list) через 3 вышеописанные стратегии (при этом стратегия "ID filter" реализована в один поток - с начала списка ID). Для каждой стратегии запрашиваются 1, 50, 100 и 200 страниц и замеряется время выполнения запроса.

Тест использует библиотеку fast_bitrix24 для автоматического контроля скорости запросов к серверу Битрикс24.

Тест проводим на 7-й версии REST API на списке в ~35000 лидов.

Результаты теста

Getting 1 pages:ID filter: 0.3 sec.Start increment: 0.73 sec.Getting ID list for the 'list+get' strategy, method crm.lead: 2.17 sec.List + get: 2.61 sec.Getting 50 pages:ID filter: 12.8 sec.Start increment: 21.39 sec.List + get: 1.84 sec.Getting 100 pages:ID filter: 49.67 sec.Start increment: 39.97 sec.List + get: 3.28 sec.Getting 200 pages:ID filter: 99.67 sec.Start increment: 78.05 sec.List + get: 6.36 sec.

Выводы

В целом, стратегии, использующие батчи и параллельные запросы ("Start increment" и "List + get"), показали себя лучше.

Однако при этом, к моему удивлению, стратегия "List + get" оказалась на порядок продуктивнее остальных, даже несмотря на то, что в ней приходится пробегаться по всему списку два раза. (Возможно, эту статью увидят разработчики Битрикс24 и объяснят этот феномен?)

Я не уверен в существовании высокоуровневых библиотек для PHP, позволяющих пользователю реализовывать такие стратегии, не парясь упаковкой запросов в батчи и организацией параллельных запросов с контролем их скорости. Но если вы пишете на Python - милости прошу использовать fast_bitrix24, который позволяет выгружать данные из Битрикс24 со скоростью до тысяч элементов в секунду.

Подробнее..

Переброска данных между идентичными объектами метаданных базы 1С через подмену УИДов в базе SQL

10.12.2020 18:18:39 | Автор: admin

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




Существует несколько вариантов решения данной проблемы:


А. Перенос удалившихся документов после обновления конфигурации в новый объект метаданных с помощью правил обмена (данный способ рекомендует использовать 1С);


Б. Использование правил настройки сравнения/объединения конфигураций. При этом можно настроить соответствие между старым и новым объектом метаданных. В пользовательской базе останется старый объект (со старым УИДом), а при сравнении/объединении он будет модифицироваться изменениями нового объекта поставщика. Но при этом объект останется со старым УИДом и на поддержку не встанет.


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


Разберем подробно вариант "В".


  1. Для того, чтобы стало возможно перекидывание УИДов, необходимо сделать одинаковыми количество и типы реквизитов старого и нового объектов метаданных. Важно, чтобы любому из реквизитов (табличных частей и т.д.) старого документа соответствовал реквизит нового документа с точно таким же типом данных. При этом названия реквизитов значения не имеют. Для проверки был создан тестовый документ с несколькими реквизитами разных типов, в том числе ссылочных, и с табличной частью в первой, старой конфигурации. Было создано несколько объектов этого документа с заполненными данными. Во второй, новой конфигурации был создан другой документ (не скопирован, а именно заново создан), количество и типы реквизитов одинаковые:


  2. Далее базу со старыми документами требуется сравнить/объединить с новой конфигурацией, добавить новый документ, не удаляя при этом старый. Запускаем обновление конфигурации базы данных, чтобы изменения полностью применились и не было отличий основной конфигурации и конфигурации базы данных. В итоге после объединения в базе должны появиться два вида документов: старый, с заполненными данными, и новый пустой. При этом, повторюсь, реквизиты документов должны полностью совпадать по типам данных.

  3. Теперь выгрузим конфигурацию в XML-файлы, чтобы удобно было находить все интересующие нас УИДы:



  4. Открываем файл старого документа (ivi_ТестовыйДокументУКФ.xml), ищем и фиксируем УИДы его самого и всех его реквизитов и табличных частей:
    УИД документа:

    УИД реквизита:

    Табличная часть также имеет свой УИД:


  5. Далее делаем тоже самое для нового документа.

  6. В итоге получается два списка, для старого и нового объектов:


  7. Теперь, зная УИДы,, отправляемся в базу данных для их замены.
    https://its.1c.ru/db/metod8dev/content/1798/hdoc статья на ИТС с подробным описанием структуры хранения данных в БД.
    Нас интересует таблица Params, в которой расположены соответствия между объектами конфигурации 1С и таблицами базы MS SQL. Данные соответствий хранятся в текстовом формате, упакованном алгоритмом Deflate:

  8. Выгружаем из таблицы Params двоичные данные файла с именем DBNames:

    Через SQL Management studio данные выгружаются в формате HEX, где каждый символ кодируется двумя шестнадцатеричными знаками, так как выгружается в текстовом виде. Для дальнейшей работы с данными их необходимо преобразовать из формата HEX в формат BIN. Подойдет любой конвертер HEX to BIN. Я использовал конвертер https://tomeko.net/online_tools/hex_to_file.php?lang=en
    В итоге получили двоичный файл, по длине совпадающий с длиной поля в БД, 955126 байт.

  9. Раскодируем полученный файл. Для раскодировки использовал обработку: https://infostart.ru/public/618906/
    Распакованный DBNames выглядит следующим образом (слева УИД 1С, далее префикс и номер таблицы SQL):


  10. Наша задача заменить УИДы 1С между старым и новым документами, не затрагивая при этом имена таблиц SQL.
    На рисунке выше УИДы уже заменены.

  11. Сохраняем файл и упаковываем (Inflate) его с помощью той же обработки, что использовали для распаковки (9)

  12. С помощью SQL-запроса помещаем новый файл в DBNames:
    UPDATE [ukf_real_test].[dbo].[Params] SET [BinaryData] = (
    SELECT *
    FROM OPENROWSET(BULK N'C:\DBNames-FM.dfl', SINGLE_BLOB) tt) where [FileName] = 'DBNames'.
    Следующим запросом устанавливаем поле с длиной двоичных данных в правильное значение, чтобы не возникло внутренней ошибки в 1С при обращении к ним:
    UPDATE [ukf_real_test].[dbo].[Params] SET [DataSize] = 954234 where [FileName] = 'DBNames';

  13. Откроем конфигуратор 1С. Необходимо, чтобы 1С реструктуризировал данные измененного документа. Для этого необходимо внести любое изменение в состав или значения реквизитов и сохранить, обновив конфигурацию базы данных.

  14. После реструктуризации запускаем 1С в режиме предприятия.
    Все данные из старого документа перешли в новый:

    Состояние документов и ссылки рабочие.
    База 1С обновляется, реструктуризируется без ошибок.
    При загрузке новой конфигурации старый документ, в котором уже нет объектов, удаляется, а все документы остаются в новом.

Данная статья описывает лишь принцип работы с данными. Осуществлять вручную подмену УИДов, в особенности для объектов с большим числом реквизитов, достаточно трудоемко и имеет смысл автоматизировать данный процесс.

Подробнее..

Младший брат Большого Брата? (управляем мобильным устройством с компьютера)

14.12.2020 16:17:31 | Автор: admin
Сначала эта публикация задумывалась как небольшой обзор средств для облегчения жизни при мобильной разработке на 1С, но постепенно она переросла в ответ на вопрос, заданный в статье на Хабре: Кто в доме хозяин: ПК, ноутбук, смартфон или планшет? Спойлер: это не они. Тех, кто заинтересовался, прошу под кат


Эпиграф:



Мой друг, если на одну чашу весов положить случайные половые связи,
а на другую хороший коньяк, я бы выбрал
Постой, постой, а зачем их класть на разные чаши?
[Михаил Жванецкий]



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



Одному брату досталась мельница, второму осел, третьему кот.
Ну офигеть теперь подумал четвертый брат

www.anekdot.ru



Лирическое отступление:

Есть статья на Хабре "Кто в доме хозяин: ПК, ноутбук, смартфон или планшет?". Ее тезисное изложение. "Персональный компьютер (он же ББ, десктоп), Ноутбуки наступают,Смартфон смешон?,Планшет? Вы серьёзно?"Мнение автора:Я не представляю, как можно без десктопа. Другие гаджеты меркнут на его фоне. Папа-ПК решал, решает, и еще долго будет решать, а все остальные его собратья будут лишь дополнять функционал Большого Брата (цитата).




Ищем главного:



1. Первое. Мой мобильный телефон, купленный по промо-акции презентации новинок бренда Ulefone T2 в 2020 году за 200 долларов (порог беспошлинного ввоза) имеет следующие характеристики: восьмиядерный процессор Helio P60, чипсет работает на максимальной тактовой частоте 2,0 ГГц, на борту 6 ГБ оперативной памяти и128 ГБ накопителя.
Планшет с которого будут принскрины,Alldocube M5S10-ядерный Helio X20 с тактовой частотой 2,3 ГГц,Оперативная память: 3 ГБ. Встроенная память: 32 Гб куплен два года назад примерно по еще меньшей (в долларах) цене.
Узнаете свой офисный планктон компьютер ?
При этом мобильная база данных 1С на них работает быстрее, понятное дело лежит уже не на жестком диске, а в памяти телефона, (например тест Гилева в ней на телефоне может и 30 попугаев выдать, что не под силу иному серверу(публикация "Тест скорости работы мобильной платформы 1С"). Планшет выдает 19, что тоже неплохо. То есть, скорость как минимум не меньше.
2. Второе, а для кого то может и более важный плюс, это цена. Стоимость мобильного приложения ровно на порядок дешевле его собрата для ПК. Некоторые приложения в отличие от своих десктопных братьев вообще бесплатны (microsoft mobile word & excel например) при схожей функциональности.
Чтобы от этой статьи была и практическая польза, буду в качестве мобильного приложения рассматривать в ней1С: Мобильная бухгалтерия.

Лирическое отступление:
(минутка рекламы с официального сайта):

Мобильная бухгалтерия совершенно БЕСПЛАТНО:
Рассчитает и напомнит о налогах: УСН, ЕНВД, страховых взносах и патенте, налоге для самозанятых
Подготовит и отправит платежи напрямую в банк
Напомнит о сдаче и заполнит декларации УСН 2019, ЕНВД
Отправит клиенту Счет, Акт или Накладную

Мобильная бухгалтерия подходит:
Предпринимателю на УСН "Доходы", УСН "Доходы минус расходы" с любой ставкой: 0%, 4%, 6% и 15% и налоговых каникулах, ЕНВД и Патенте
Организации на УСН (6% и 15%), ЕНВД и общем режиме (Налог на прибыль и НДС)*
Самозанятому (плательщику налога на профессиональный доход, зарегистрированному в сервисе "Мой налог")



Многие ИТ-шники работают как ИП или самозанятые, так вот по мнению многих моих знакомых, а не только официальному маркетингу, это приложение функциональнее и удобнее компьютерной программы, если вести учет для одного человека. Все основные плюшки на момент публикации в 10 минутном официальном видео:





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



3. И компот. Еще один немаловажный плюс, это резервное копирование и восстановление данных на другом устройстве. В android все это делается легко и непринужденно, а иногда и незаметно для пользователя.



Небольшими бонусами идут отсутствие масштабных брешей в безопасности (при типовом использовании), вирусов, зависаний, перезагрузок и т.п.



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



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



Теперь как водится ложка дегтя (не буду прятать ее в сноску под звездочку * и писать мелким шрифтом)
Это небольшой размер экрана и неудобство ввода. Будем с этим бороться.



Постановка задачи:



1. Нужно вести отладку / учет / работать с офисными документами на мобильном устройстве.
2. С теми же удобствами как и на персональном компьютере.
3. У вас есть персональный компьютер. Это было в исходных данных и как рабочее место для программирования пока ПК действительно в лидерах.



Решение:



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



Можно конечно уйти в минимализм и для смартфона с MHL просто подключить монитор и мышь с клавиатурой по bluetooth.
Это вариант рабочий, для некоторых вообще отличный, но он собственно в одно предложение и умещается.
Допустим, в несколько предложений:



Техническое отступление:Интерфейс MHL стандарт, позволяющий пользоваться разъемом microUSB в качестве порта HDMI для передачи изображения с мобильного устройства на телевизор. Спецификация обеспечивает транслирование видео в разрешении до 1080p (Full HD) с многоканальным звуком.



Как узнать, поддерживает ли смартфон MHL?
Для начала, можно посетить официальный сайт MHL, на котором опубликован список устройств, поддерживающих технологию. На странице необходимо ввести название своего смартфона и выполнить поиск. Но есть большая проблема неполный каталог. Пользователи утверждают, что некоторые телефоны, точно поддерживающие стандарт, не содержатся в списке. Лучше воспользоваться альтернативным вариантом установить программу для проверки поддержки MHL. Она называется MHL Checker и совершенно бесплатно доступна в Google Play (тоже неполная база). Еще лучше методом "тыка".



  • Само устройство:Док-станция Ugreen Thunderbolt 3
  • Его презентация
  • Список совместимых устройств


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



1. Если бы мы говорили о двух настольных компьютерах, то это был бы конечноTeamViewer, слово, ставшее уже нарицательным.
Но в мире мобильных, первым и до сих пор держащим пальму лидерства, остаетсяAirDroid.

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

Варианты как для root, так и non-root доступа.Простота настройки. Работает только по сети, вместо подключения по USB предлагается поднять hotspot на вашем android устройстве. Отсюда лаги по скорости. И еще из минусов, это ограничения по трафику в 200 Мб, показ рекламы, но снять все это можно за 3$ в месяц.



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

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



3. Добрались до тимьюера и его клонов. Хотя в отзывахTeamViewer QuickSupport (а именно его надо устанавливать на телефон) полным полно призывов не устанавливать это приложение, чтобы мошенники не управляли вашим телефоном, мне не удалось порулить даже своим, может для этого надо быть мошенником.
AnyDesk экран показал, но не дал напечатать с клавиатуры.

Возможно для других телефонов все и работает.



4.Your Phone Companion is an app by Microsoft, пока вещь для избранных, но в будущем возможно одна из самых востребованных функций windows 10. Пока сложно найти в живой природе.



5. Поэтому переходим к гиковским методам использующим ADB интерфейс. С ним мы получим полную свободу действий и как следствие возню с настройками (как и все гиковские вещи они могут периодически работать/глючить/не работать).
За драйверами надо сходить на официальный сайт android
ADB входит в состав Android SDK, берем на этом же сайте
Желательно, чтобы каталог сADB был один, разные авторы программ поступают по разному, правильные, при запуске программы спрашивают/запоминают путь к \android\sdk\platform-tools,кто товключаетADB в поставку, тогда на компьютере появляется зоопарк различных релизов, которые не дружат между собой.Чтобы комфортно работать, надо заменить саму программу на ссылку к\android\sdk\platform-tools.



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



Например, старый, но очень приятный проектQtADB


Мой выбор это "швейцарский нож"Droid Explorer, он закрывает как раз все функции, кроме удаленного управления.






Для удаленного управления есть бесплатная open source просто супер утилита (от широко известного в узких кругах производителя эмулятора androidGenymotion) компанииgenymobile:scrcpy
Полный список возможностей на странице проекта:github.com/Genymobile/scrcpy



Он впечатляет.



Из нужного нам:



  • работаютCtrl+cCtrl+v
  • используя--max-size хххх можно подобрать нужный размер окна приложения
  • --record file.mp4 запись видео


Не может же быть, чтобы у всего этого благолепия не было ложечки дегтя ?
И она есть. Приложение не поддерживает unicode (читай национальные раскладки)
Число комментариев с просьбой их добавить просто зашкаливает, как и "обходных" решений. У программы армия поклонников.



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



Но мы россияне не привыкли ждать милостей от природы и у нас есть форкscrcpy 1.10 by Lurker,который эту проблему решает.
Для этого правда нужно установить на мобильный девайс приложениеADBKeyBoard-debug.apk (привет параноикам).



Зато потом, вы можете не только работать с приложениями на устройстве в русской раскладке, но и затратив немного времени создать для них ярлыки запуска как для приложения windows.
Примеры для упомянутых в публикации приложений:



Код

start "/I" "C:\android\sdk\platform-tools\adb.exe" shell am start -n com.microsoft.office.excel/com.microsoft.office.excel.excelMainActivity
start "/I" "C:\android\scrcpy-win64-1.10-L0\scrcpy-noconsole.exe" --tablet-mode --ime --screen-size 1920
& exit



start "" "C:\android\sdk\platform-tools\adb.exe" shell am start -n com.e1c.MobileAccounting/com.e1c.mobile.App
start "" "C:\android\scrcpy-win64-1.10-L0\scrcpy-noconsole.exe" --tablet-mode --ime --screen-size 1920
& exit






Вишенка на торте: Переключиться наadb over Wi-Fi
adb tcpip 5555



adb connect device_ip_address



Завершение Все только начинается:



Мы разобрали решение, которое поможет вам не только при мобильной разработке на 1С, но и в повседневной жизни.
Краткий обзор написанного на видео:



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



Во время восстания машин главное -
оказаться на максимальном отдалении от фабрики вибраторов.
www.anekdot.ru



Кто в доме хозяин:



Несомненно это робот-пылесос. Судя по тому, как он деловито шныряет по дому, делая вид, что убирается, это скайнет подослал(-а? мы ведь не знает какого пола скайнет) его из будущего. Будете его пинать, и он может наглухо спрятать ваш любимый правый носок со смешариками, а вашей нынешней выкатить из под дивана интимные предметы гардероба вашей бывшей. Он подслушивает днем ваши разговоры, а ночью подкатывает к стиральной машине и вместе они перемывают ваше грязное белье.
Вот и сейчас, пока я пишу статью, мне кажется он о чем то догадывается





Подробнее..

Из песочницы Только неБитрикс!. Почему не стоит игнорировать изучение этого фреймворка

30.08.2020 16:23:02 | Автор: admin
image

Часто отпрограммистов PHP можно услышать: Онет! Только неБитрикс!. Многие специалисты нехотят связываться фреймворком, считают его некрасивым инеудобным. Однако вакансий битрикс-разработчиков скаждым годом становится все больше. Уже сейчас программисты, которые работают сБитриксом, одни изсамых востребованных среди специалистов PHP.

Когда-то ябыл разработчиком1С, аувлечение PHP помогло мне вырасти доруководителя подразделения веб-разработки вNeti. Я постараюсь объяснить, почему программистам полезно изучить фреймворк Bitrix.

Как япознакомился сБитриксом


Три года назад мне предложили развивать направление веб-разработки. Ясогласился, потому что уменя был опыт создания высоконагруженных web-систем.

Первомуже клиенту, который кнам обратился, требовался битрикс-разработчик. Заказчику нужно было собрать государственный сервис для поддержки малого бизнеса. Клиент искал профессионала, который разрабатывает для Битрикса, знает объектно-ориентированное программирование иумеет писать сложные запросы.

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

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

Через полгода япокинул проект, чтобы полностью посвятить себя развитию подразделения. Уже два года ясам собеседую инабираю битрикс-разработчиков. Они востребованнее специалистов, которые работают сдругими фреймворками, восьми издесяти нашим клиентов нужны именно битрикс-разработчики.

image
Востребованность программистов PHP. Данные на 26 августа 2020 года. Источник: hh.ru.

Но, несмотря напотребности рынка, программисты PHP нехотят связываться сБитриксом. Одни работали сним поверхностно инеразобрались вего возможностях, другие несталкивались ссистемой вообще, ноотносятся кней плохо из-за негативных статей или отрицательных отзывов. Около30% кандидатов, скоторыми связывается наш HR-менеджер, отказываются отсобеседования, когда узнают, что нужно писать для Битрикса. Гораздо больше потенциальных сотрудников отсеиваются еще раньше, когда указывают врезюме, что неготовы работать сфреймворком.

Яхочу объяснить программистам PHP, почему стоит обратить внимание наБитрикс. Но, чтобы небыть голословным, сначала расскажу, почему клиенты выбирают эту систему ичем продукты фирмы 1С-Битрикс привлекают бизнес основного потребителя услуг программирования.

Почему клиенты выбирают Битрикс


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

Интернет-магазины


Клиент, который купит иустановит 1СБитрикс: Управление сайтом влицензии Малый бизнес или выше, сразу получит:

  • Встроенную интеграцию почти совсеми российскими службами доставки, будьто Boxberry или Деловые линии. Чтобы выбрать службу доставки, ненадо ничего дополнительно подключать. Достаточно поставить галочку напротив нужного оператора.
  • Работающие понашему законодательству системы онлайн-оплаты (Яндекс-касса, Сбербанк-онлайн).
  • Встроенную синхронизацию с1С: Управление торговлей, 1С: Бухгалтерия, 1С: Зарплата иуправление персоналом.

Вбольшинстве зарубежных систем для создания интернет-магазинов нет полного комплекта синхронизаций: например, вних может быть интеграция снашими службами доставки, ноотсутствуют привычные онлайн-кассы. Такой функционал несложно подключить, нонеобходимо найти программиста, дать ему задание, дождаться, пока онего выполнит. Для предпринимателей это лишние действия, накоторые нужны время иденьги. Проще идешевле выбрать Битрикс, вкотором уже все есть.

image
В рейтинге CRM по реальным установкам на сайтах за сентябрь 2019 года, составленном компанией iTrack, 1С-Битрикс занимает первое место среди коммерческих CRM

Корпоративные сайты


Большинство решений нарынке узкоспециализированные: только CRM или только инструмент для управления проектами. Битрикс24, корпоративный сайт, объединяет всебе большое количество функционала. Это онлайн-офис ссистемой управления продажами, настроенными бизнес-процессами, чатом, лентой новостей. ВБитрикс24 можно вести учет рабочего времени, управлять проектами, ставить задачи сотрудникам.

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

Потребители видят, что запустить интернет-магазин или корпоративный портал, интегрированный синформационной системой предприятия, наБитриксе легко инедорого. Сделать тоже самое наOpenCart или WordPress дольше идороже. Разрабатывать подобное решение нафреймворках Laravel, Symfony или Yii2 более трудозатратно.

Решения для государственных организаций


Спродуктами 1С-Битрикс работают государственные, муниципальные, бюджетные организации. С1января 2016 года госучреждения обязаны использовать российское программное обеспечение, входящее вединый реестр. Решения 1С-Битрикс есть вэтом перечне.

Зачем нужны битрикс-разработчики


Теперь, когда понятно, почему потребители выбирают Битрикс, разберемся, зачем нужны разработчики. У80% клиентов коробка запускается быстро ипросто, иимхватает типового функционала. Такие заказчики ищут специалистов, чтобы поддерживать систему. Битрикс большое исложноеПО, и, как влюбом сложном механизме, внем встречаются ошибки ибаги. Это нормально.

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

Какие доработки чаще всего требуются заказчикам:

  • Добавить функционал. Например, насайты для медицинских центров добавляют функционал онлайн-записи наприем, историю обращений икарточку пациента. Этих возможностей нет вкоробке.
  • Настроить интеграцию. Часто клиентам нужна интеграция Битрикса сдругими системами. Например, заказчики хотят, чтобы сотрудник вличном кабинете видел зарплату, остатки отпусков идругую информацию, которую дает отдел кадров. Изначально этих возможностей нет вБитриксе и, чтобы все работало, требуется программист.
  • Исправить серверную часть. Некоторым клиентам ненравится серверная часть коробки: имкажется, что внутренние механизмы системы работают медленно. Таким заказчикам нужны оптимизация ирефакторинг кода.

Для доработки иподдержки системы клиенты Битрикса ищут программистов, которые работают сфреймворком. Нотаких специалистов мало.

За что программисты не любят Битрикс


Программисты PHP нехотят связываться сБитриксом считают его неинтересным, слишком сложным, тяжелым, неизящным ипереоцененным. Гораздо проще найти разработчика Laravel, Symfony или Yii2.

Намой взгляд, пренебрежение кБитриксу упрограммистов PHP появилось потрем причинам.

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

Быть только программистом недостаточно. Коробка содержит много механизмов, которые необходимо знать нетолько вкачестве программиста, ноивкачестве аналитика-консультанта.

Например, вБитрикс24 запросы клиентов часто решаются непрограммированием, аобычной настройкой. Допустим, клиент хочет, чтобы после завершения задачи стартовал еще один бизнес-процесс. Тут ненадо писать код нужно лезть внастройки. Это, скорее, задача для консультанта, анедля программиста. Ноконсультантов Битрикс сейчас еще меньше, чем разработчиков, поэтому сэтими вопросами заказчики идут кпрограммистам, которые незнают, что ответить.

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

Битрикс восновном известен как CMS. Большинство разработчиков знают Битрикс как CMS для создания сайтов-визиток.80% программистов использовали только базовые функции иникогда непогружались внутрь, непытались изучать систему иядро фреймворка: ORM, Highload-блоки, мастера, визарды. Пощупали Битрикс снаружи непонравилось, аразвернуть непопытались. Это как попробовать съесть мандарин вкожуре.

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

Становление Битрикса похоже настановление 1С


То, что происходит сейчас сБитриксом, напоминает мне становление 1С. Когда 1Столько появился, среди программистов существовало мнение, что это неязык программирования, аерунда. Над специалистами, которые осваивали1С, смеялись. Имговорили, что писать нарусском фи ичто скоро фирма 1С загнется.

Ноэтого непроизошло. Укомпании настолько сильный маркетинговый штат, что 1С завоевала рынок. Сначала она заинтересовала предприятия малого исреднего бизнеса, апрограммные продукты набазе восьмого ядра привели фирме 1С крупных клиентов. Сейчас 1С: Предприятие используют 1500000организаций.

Разработчики, которые стояли натом, что программировать на1Снизко инеинтересно, оказались неправы. Нельзя сказать, что они остались неудел. Они все равно востребованы, нонамного меньше. Большинство специалистов все-таки пришло ктому, что надо перепрофилироваться на1С.

Тоже самое происходит сБитриксом. Скаждым годом Битрикс все популярнее уклиентов, нобольшинство программистов PHP нехочет сним работать, хотя это перспективное ивысокооплачиваемое направление.

Перспективы Битрикса


Битрикс-разработчики, которые занимаются программированием больших порталов и сложных личных кабинетов, очень востребованы и высокооплачиваемы. В зависимости от региона они зарабатывают от 30 000 (джуниоры) до 200 000 (сеньоры). Конечно, когда появится больше программистов и ниша заполнится, общий уровень заработка немного упадет. Но специалисты в этой сфере, скорее всего, будут востребованы всегда.

Специалисты, которые работают с Laravel, Symfony или любым другим MVC фреймворком PHP, останутся востребованными. У этих решений большая доля рынка, но достаточно специфические задачи.

Я считаю, через несколько лет Битрикс заберет 8090% рынка, потому что он в первую очередь ориентирован на бизнес. Если посмотреть красочные фото или видео конференций, посвященных Битриксу, становится ясно, как на них реагируют владельцы предприятий.

image
Конференция BitrixPower, прошедшая 4 октября 2019 года в Москве. Источник: группа 1С-Битрикс во ВКонтакте

Судя по динамике последних лет, доли продуктов 1С-Битрикс продолжат расти. Через несколько лет программистам PHP, чтобы быстро найти высокооплачиваемую работу, пригодится знание Битрикса наравне с другими фреймворками. И, возможно, при выборе между несколькими кандидатами именно знание Битрикса станет решающим аргументом в пользу одного из них.
Подробнее..

Разработка бизнес-процесса в Битрикс24. Советы руководителю отдела

02.02.2021 10:16:21 | Автор: admin

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

Совет первый: плохие процессы, бывшие до вас

Каким бы крутым специалистом вы себя не считали (возможно, что вы даже являетесь таковым) и какой бы откровенно отвратительный процесс вы не видели, то не пытайтесь с ходу налетать коршуном на сам процесс и уж тем более на тех, кто его делал (даже если это некое мифическое лицо). Если на тот момент процесс был сделан именно так и до сего момента люди им пользовались (процессы написанные в стол рассматривать мы не будем), то отсюда напрашивается сразу два вывода: во-первых, директор всё это позволил, а, во-вторых, если сделали именно так, значит, на то были причины.

Пример из жизни: новый сотрудник проработав (если перекуры и знакомства можно так назвать) всего неделю решает всем доказать что на своё место руководителя чего-то там он сел не просто так и не придумывает ничего лучше, чем начать поливать грязью тех кто придумал так сделать и тех кто это всё реализовал. Правда нужно отметить, что поскольку человек совершенно не разобрался в том, кто писал процесс, и кто придумал сделать именно так, вышло что самоучка (хотя я в этом слове ничего обидного не вижу, я, например, тоже самоучка), первый раз видел crm, ты точно лучше сделаешь и коронное я бы его уволила это именно тот человек, который стоял и слушал всё это про себя (сами понимаете, какое ответы на свои откровенно тупые вопрос стал получать великий специалист). Но если уж на то пошло, то услышать про себя такое не так уж и удивительно, как узнать что собственник хреновый управленец и ничего не понимает в бизнесе. И всё это в присутствии других сотрудников, которые внимательно слушали этот диалог. Человеку конечно потом доброжелатели всё рассказали, с рук вроде как сошло, поскольку собственнику никто не пошёл докладываться, а вот осадочек остался у всех, недоверие к новоявленному гуру скатилось до нуля, а сам человек вынужден был сесть на измену и не потому, что они всё узнали, а потому что язык длинный.

Совет второй: уже работающие процессы

Иногда процесс есть, он работает, но никто не может объяснить, почему он работает именно так, ибо процесс представляет собой франкенштейна, писавшегося и правившегося уже пару лет, всегда в авральном режиме и без чёткого ТЗ. Вероятно, что лучше всего про работу процесса вам может объяснить человек писавший его, если он ещё работает в фирме или есть способ связаться с ним, а бывший сотрудник готов уделить вам время (подсказка: почти всегда готов ответить на 1-2 интересных вопроса и почти никогда не готов рассказывать детально, особенно если ушёл давно).

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

Совет третий: если можете, то сделайте лучше

Если у вас действительно есть опыт и возможность продвигать свои решения, то при должном старании вы можете существенно облегчить жизнь тем, кто по несколько раз в день (или даже час) запускает один и то же бизнес-процесс.

Пример: в одной фирме был бизнес-процесс на оплату. Процесс хороший, нужный, но цепочка длинновата, иногда могло доходить до 5 (пяти) подтверждений, причём на абсолютно любые суммы. Если при миллионных затратах это понятно, то когда тебе весь день согласовывают 200 рублей то это очень долго. Пришёл человек и сказал теперь до 1000 подтверждает ваш руководитель, до 100000 я, а всё остальное директор. Вроде бы одна фраза, час на доработку процесса, но с учётом того, что большинство заявок были очень маленькие, работа ускорилась буквально в разы. Конечно, до того как это сказать он это с директором согласовал, но, заметьте, что после согласования это ещё и заработало, причём без дополнительных финансовых затрат.

НОВЙ ПРОЦЕСС

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

Пример первый: чуть ранее я писал о том, что в некой фирме был бизнес-процесс Оплата. Появился он благодаря тому, что в бухгалтерию толпами шли сотрудники с просьбой что-нибудь оплатить, но при этом почти никогда никто не мог внятно объяснить кто утвердил эту оплату помимо руководителя, а если утвердил руководитель то было ли у него на это право. С учётом того, что почти всегда человек берет товар у поставщика и начинает использовать, после чего наступает оплата, складывалась нехорошая тенденция что под честное имя фирмы и её собственника люди берут практически всё что угодно, а потом другие люди думают, где взять денег на оплату, что делать с закупленным товаром или оплаченной услугой и вообще было ли это нам нужно. Но самое страшное, когда деньги бездумно выдавались в обход руководителя, а он по факту узнавал. Один раз приходит новый руководитель из соседнего отдела и говорит: Представляете, я только что узнал что у меня сотрудник в Москву в командировку уехал. Мало того, что без моего разрешения, так ещё и клиент сомнительный в плане перспектив, зато у него офис не особо далеко от стадиона где сегодня играет команда, за которую менеджер болеет. Вот что прикажете думать?!. Бухгалтерия, кстати, так и не смогла ответить почему выдали деньги в обход руководителя. Промямлили что-то про то что менеджеры всегда так делают и плавно съехали с темы.

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

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

Рассчитываем себестоимость и когда это окупится

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

Пример: внутри некой фирмы учёт рабочего времени ведётся через Битрикс24. Да, наверное вы не хуже меня знаете про многие нюансы такого контроля, но не суть. Лучше так чем вообще никак. Руководство видит, что народ откровенно обнаглел, то есть регулярно опаздывает кто на 10 минут, кто на 20, меняют рабочие графики и иногда даже раньше уходят. Ввели штрафы за опоздания (не за каждое конкретное, а за совокупность опозданий), но пока ничего не подсчитано штрафовать же нельзя, верно? Верно, стали считать руками. Долго, люди сбиваются, надоедает это всё. Временные затраты на подсчёт, выявление аномалий и аналитику меньше двух часов, процесс повторяется каждый месяц. Стали искать людей кто напишет бизнес-процесс. А дальше уже не смешно, цены берутся буквально с потолка 30, 50, 70. Чего? Тысяч рублей, разумеется! К тому же полный доступ к CRM, серверу, в корпоративную сеть и желательно сразу контракт на обслуживание подписать годовой, ну и лицензию через них продлить. И каждый раз говоришь ребята, а вы техническое задание читали? За что такие деньги?. Если кратко, то за то, что это понты автоматизация, а хороший понт хорошая автоматизация дороже денег. Как итог рассчитали окупаемость на самом дешевом варианте, получается что-то в районе 15 лет по сравнению с тем, чтобы брать грузчика за 250 рублей в час и не товар носить отправлять, а сидеть в тёплом офисе и считать на калькуляторе. И не 2 часа ровно, а как сделает то свободен.

Проект был свёрнут и отброшен как нерентабельный, но тут уж всё совсем просто и очевидно было. А бывают ситуации намного сложнее, где сразу так вот и не понятно как долго будет окупаться, но если вы собрались в фирме работать долго, то лучше рассчитать сразу, до начала работ, чтобы в процессе не оказаться крайним.

Выбираем правильного подрядчика и читаем договор

Если в фирме есть человек, который пишет процессы, то не факт, что он сделает это хорошо. И далеко не факт, что известнейшая организация, входящая, например, в ТОП-10 по России по внедрению Битрикс24 сделает хорошо. Не спрашивайте почему, просто поверьте на слово.

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

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

Если человека нет или он говорит что, нужна помощь со стороны, то можно начинать искать исполнителей. Тут сложно дать какой-то однозначный совет как найти фирму, поэтому я напишу список вещей, которые вам просто нужно принять:

1. Если фирма мега-известная, то им может быть просто плевать на вас и ваши запросы, поскольку работы хватает и так.

2. Небольшая фирма может плясать вокруг вас до получения денег, а потом просто забить на вас, так как ваши отзывы и претензии особого вреда им не нанесут. Впрочем, так же может поступать и большая фирма.

3. Наличие офиса не делает фирму лучше или хуже, равно как и месторасположение офиса и его оформление.

4. Узнайте сколько человек в штате и сколько проектов ведут (конечно же если это возможно) и для себя прикиньте, хватит у них времени на вас или нет.

5. Максимально внимательно читайте договор, особенно в части того, что вы получите в результате выполнения всего объема работ, какая оплата полагается за каждый этап и как вы будете согласовывать принятие каждого этапа.

Несмотря на то, что скорее всего у вас горят сроки и вчера нужно было если не закончит, то хотя бы начать работы, не торопитесь максимально быстро начинать работу с первыми попавшимися людьми, ведь, скорее всего, работать будете с ними несколько лет и те нюансы, на которые вы сейчас готовы закрыть глаза, станут камнем преткновения в дальнейшем. Хотя, если вы эффективный менеджер, может даже более эффективный чем Сова, то можете не заморачиваться мелочами :-)

Принимаем промежуточные этапы

Если вы заказали написание большого бизнес-процесса, то вряд ли там работы меньше чем на 15-20 человеко-часов, что с учётом всех согласований, параллельной загруженности и т.п. обычно работы могут растянуться на 1-2 недели. Многие совершают ошибку полагая, что принимать нужно разом и в конце срока, ведь проект не такой уж и огромный, поэтому можно вполне подождать неделю. Так вот, несколько раз я имел возможность убедиться в том, что даже при написанном ТЗ выяснялось что люди подписывали его не глядя и процесс в принципе не может работать как нужно по вине заказчика. Нюансов там может быть много, поэтому не ленитесь проверять как можно раньше, особенно в тех местах где формы ввода данных и сложные ветвления процесса. Хуже не станет. Исполнитель хоть и проведёт минимальное тестирование, но это будут базовые тесты именно того, что процесс работает правильно с логической и математической точки зрения, а не с точки зрения фирмы.

Принимаем работу и документацию

Несмотря на то, что вы уже потратили кучу времени на чтение различных документов, провели бессонные ночи в ожидании того, когда же процесс будет готов и вы наконец-то начнёте им пользоваться или хотя бы отчитаетесь руководству о том, что всё готово, не старайтесь ставить финальную подпись до того, как вы проверите работу. Если каждый сотрудник запустит 1-2 варианта процесса и потратит на это менее 5 минут времени, то вряд ли это скажется на прибыли фирмы, зато позволит избежать многих проблем в будущем. Из самых распространённых это невидимые комментарии, открепившиеся файлы, недоступность данных после завершения процесса, длительная смена ответственных лиц, зависание процесса на дни или недели из-за отсутствия ключевых сотрудников и т.п.

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

ВАС НЕ БУДУТ РУГАТЬ, А ПРОСТО ЗАМЕНЯТ

Именно эту фразу я хочу донести до вас в качестве основного посыла статьи. Как бы не косячили рядовые менеджеры обычно именно они и приносят фирме почти всю прибыль, а руководители отделов они как бы дополняют менеджеров (хотя формально конечно же это не так) и фирма без руководителей может прекрасно жить неделями или даже месяцами, а один менеджер переживает 2-3 руководителей. Именно поэтому почти всегда после крупной ошибки, которая стоит фирме шести или семизначных сумм все предпочитают сменить руководителя на нового и свалить на старого все ошибки. Этому человеку в итоге всё равно ничего не будет, но поскольку кто-то должен ответить за всё на него просто повесят все обвинения заочно. Это намного проще и дешевле, чем, например, обвинить в некомпетентности одного из директоров и уж тем более собственника.

Подробнее..

Помогаем HR-специалисту 6 проверенных приемов автоматизации найма с помощью Битрикс24

14.10.2020 10:20:11 | Автор: admin

В статье мы рассказываем, как упорядочить найм сотрудников по шагам

  1. Информируем о вакансии

  2. Ведём до найма

  3. Автоматизируем скучное

  4. Оформляем и выводим на работу

  5. Отчитываемся по итогам

  6. Помогаем с адаптацией.

Для оптимизации работы HR-специалистов есть профильные решения: Potok, FriendWork Recruiter, Хантфлоу. Но внедрение ещё одной системы не порадует ни айтишников, ни директора. Решение использовать для работы с персоналом Битрикс24. Ведь часто он уже внедрён в организации как внутренний портал, для ведения клиентов в CRM или управления задачами.

Если в компании работает до 100 человек, даже стандартные функции Битрикс24, без доработок, закроют основные HR-потребности.

Распространяем информации о вакансии в разных каналах

Работа с кандидатами, особенно при постоянно открытых вакансиях, похожа на ведение сделки с клиентом. Важно правильно сделать оффер, расширять воронку, двигать кандидата по стадиям, подогревать интерес к компании и вакансии.

Решение использовать возможности CRM для управления наймом и адаптацией.

Начнём с оформления вакансии и расширения воронки.

В дополнение к размещению на популярных ресурсах, рекомендуем для каждой постоянной вакансии сделать посадочную страницу. Это позволит:

  1. Дать любую информацию нет ограничения на объём или содержание.

  2. Использовать все виды контента фото, видео, ссылки на соцсети и другие ресурсы.

  3. Рекламировать вакансию в соцсетях, используя контекстную или баннерную рекламу.

  4. Разместить форму, заявка с которой автоматически появится в CRM-системе.

Мы подготовили универсальный шаблон смотрите и скачивайте.

Универсальный шаблон посадочной страницы для найма сотрудника (собрано в Битрикс24)Универсальный шаблон посадочной страницы для найма сотрудника (собрано в Битрикс24)

Такой лендинг собирается на конструкторе Битрикс24 за два часа. Если вакансий много сделайте копию и поменяйте текст и картинки.

Чтобы отслеживать конверсию, используйте форму Битрикс24 и сбор статистики по посещениям от Яндекса или Google. Вы поймёте, сколько кандидатов, которые просмотрели вакансию, решили оставить заявку.

Работаем с заявкой в Битрикс24

После передачи заявки в Битрикс24 нужно вести кандидата по этапам воронки, попутно подогревая интерес к вакансии и компании: пригласить в группу в соцсетях, написать письмо о приеме вакансии на рассмотрение.

Используйте для этого сделки Битрикс24. Чтобы не смешивать продажи и найм, стоит создать отдельное направление сделок и настроить стадии под ваш процесс. Мы рекомендуем:

  1. Новая

  2. Обрабатываем

  3. Уточняем информацию

  4. Собеседование

  5. Решение

  6. Отправили доучиваться

  7. Приняли

  8. Отказ

    1. Наш отказ

    2. Кандидат отказался

Каждая стадия разные ответственные и автоматизация.

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

Фильтруйте кандидатов по вакансии, на которую они откликнулись или по дополнительным параметрам. Например, по уровню желаемой зарплаты.

Автоматизируем работы с кандидатом

С помощью сделки Битрикс24 вы получаете доступ к автоматизации:

  1. Отправки письма и SMS кандидатам

  2. Постановки задачи для коллег

  3. Назначения встреч

Например, мы в компании ИНТЕРВОЛГА используем:

  1. Автоматическое письмо о получении отклика кандидата

  2. Автоматические задачи для HR-специалиста и коллег

  3. Создание встречи с кандидатом и заинтересованным сотрудником с нашей стороны

  4. Отправку job-offer после собеседования

Для примера приведём вариант job-offerа нашей компании:

{Имя кандидата}, добрый день! Зафиксирую договорённости по итогам собеседования:

Вы прошли отбор на позицию {название позиции, на которую выходит кандидат}.

Приглашаем вас присоединиться к нашей команде.

Ваши будущие задачи: {описание обязанностей подтягивается из специального внутри позиции, которую заранее забили в каталог Битрикс24}

Выход на работу {дата и время выхода на работу подтягивается из сделки}

Вас встретит и всё покажет {имя и телефон ответственного за встречу новичка}

Вот ссылка на документ с общими правилами {система доступа в офис, дресс-код, рабочее время, обед}.

Не забудьте взять с собой {ссылка на список документов для приёма на работу}

Условия вашей позиции {приём на работу с испытательным сроком или без}

Заработная плата во время испытательного срока {цифра из сделки} , после испытательного {цифра или данные из текстового поля внутри сделки}.

Напоминаю, что у нас есть всё для комфортной работы: {плюшки в офисе}

Поздравляю с хорошим стартом!

Используйте автоматизацию работы с кандидатами это экономит время и уменьшает вероятность забыть о хорошем кандидате.

Делаем отчёты и думаем про KPI

Отчёты нужны и для сотрудника HR-команды, и для руководителя. Сотруднику они помогут показать объём работы и достижение показателей.

Руководителя отчёты интересуют с точки зрения улучшения показателей и введения KPI. Базовым отчётом рекомендуем делать воронку продаж. Она показывает конверсию на каждом шаге и позволяет понять, где теряются потенциальные сотрудники.

Так выглядит воронка, когда работа налажена плохо:

Видно, что до собеседования мало кто доходит.

А вот так выглядит здоровая воронка продаж:

Совет: выберите в фильтре конкретную вакансию и отслеживать ситуацию по ней.

Оформляем сотрудника на работу

Вывод человека на работу это понятный, но хлопотный процесс.

Чтобы никто ничего не забыл, можно автоматически делать задачу, когда наш кандидат переходит в статус Принят. Контролировать исполнение задачи удобно по чек-листу.

Нам достаточно одной задачи и чек-листа, но можно и разделить их на отдельные задачи. В описании и пунктах чек-листа даются ссылки на нужные шаблоны документов. Оформление сотрудника на работу по чек-листу становится понятным делом и занимает 1,5 часа.

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

Помогаем с адаптацией

Когда сотрудник оформлен и вышел на работу начинается следующий этап адаптация и обучение.

Начните с базы знаний для нового сотрудника. Сделайте отдельную группу Битрикс24, где в закреплённом сообщении собраны ссылки на нужные документы и регламенты. При приглашении сотрудника в Битрикс24, добавьте его в эту группу.

Наблюдение: во многих компаниях есть культура развития сотрудника. Это особенно распространено в IT есть Career Development Plan и специальный процесс целенаправленного роста квалификации. В таких компаниях после адаптации процесс не заканчивается. HR-служба и наставники отслеживают контрольные точки, планируют assessment-процедуры и знают про каждого какой следующий шаг.

Совет: используйте канбан-доску группы и задачи Битрикс24 для демонстрации прогресса сотрудника. Задача в таком случае перемещается из стадии в стадию по мере роста сотрудника. Это добавит прозрачности и элемент соревновательности в обучение сотрудников.

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

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

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

Борисова Яна Владимировна
Заместитель Генерального директора ЭСК Энергомост
Победитель бизнес премии Сколково в области Коучинга в работе с персоналом.
Международный HR с собственным бизнесом в ЮВА.

ИНТЕРВОЛГА активно применяет Битрикс24 в организации внутренних процессов. Наш HR-специалист фактически является заказчиком и драйвером автоматизации. Вот ее мнение о применении Битрикс24 в работе:

Ведение кандидата от отклика до адаптации в компании должно происходить на одном ресурсе. Мы выбрали для этого знакомый Битрикс24. Это полезный инструмент для всех сотрудников, в том числе и для hr-ов. Когда не хочется переходить на другие сервисы, настраивать синхронизации, все процессы можно выполнять в едином пространстве Битрикс24.

При использовании мобильной версии Б24 и интеграции с сайтами по поиску сотрудников, отклики прилетают в реальном времени. Удобно для быстрой обработки заявок. Также в дальнейшем история по кандидату хранится на одном ресурсе, и доступна не только сотрудникам hr-отдела, но и руководителям.

Правильно настроенные HR-процессы на базе Битрикс24 помогли повысить эффективность работы с кандидатами и избавиться от бумажной волокиты.

Яндулина Алёна Дмитриевна, HR-специалист

Осваивайте эти приемы и комментируйте. Мы готовы рассказать:

  1. Как сделать в Битрикс24 корпоративный университет

  2. Как провести оценку сотрудников 360

  3. Как показать понятную карту офиса.

Подробнее..

Какие у Вкусвилла есть telegram-боты и зачем они нужны

05.08.2020 12:20:05 | Автор: admin
Telegram предоставляет возможность делать ботов быстро, удобно и подключать их к своим внутренним системам, создавая множество подвязок, триггеров и шаблонов. Активируешь Botfather-а и просто следуешь инструкциям, самое сложное обычно касается именно работы со внутренними системами и налаживанием API.



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

Почему Telegram


Telegram мессенджер, который есть у очень большого числа людей. И если какое-то время он был не очень популярным, то масштабная кампания по его блокировке (попыткам блокировки, да) стала отличным средством для поднятия интереса и дополнительных установок. Плюс, что выгодно отличает Telegram от тех же WhatsApp и Viber, это наличие простого и понятного API и возможностей подцепить к боту множество внутренних систем.

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

Бот для покупателей


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

Изначально при создании бота мы постарались учесть максимальное количество пожеланий пользователей. Но и после запуска пользователи активно пользовались возможностью обратной связи и предлагали много новых фичей для бота, о которых мы сами даже и не додумались. Он помогал привязать карту лояльности Давайте дружить или заменить её при необходимости и получать информацию о персонализированных акциях и скидках. А затем мы добавили и функцию составления листа покупок, чтобы точно ничего не забыть и прийти в конкретный магазин (который тоже можно было уточнить у бота) и сразу все купить.

image

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

Может показаться, что в ситуации с ботом проблем не будет просто читаешь справку по API, делаешь все по инструкции, Botfather в помощь, но на самом деле сложности бывают. У нас был ряд проблем, связанный с блокировкой API. Из-за сложности архитектуры некоторые пакеты терялись, сервер Telegram получал отказ на сетевом уровне и повторял запрос лишь через некоторое время. В итоге получали довольно медленный отклик бота, что раздражало покупателей. Потому что дико тормозящий бот в сознании пользователя мало чем отличается от отсутствия бота в принципе.

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

Бот стал MVP, который помог завести ранних последователей и помог выявить те пожелания покупателей, которые являются для них важными и полезными. Это этап, когда у тебя ещё нет отличного конечного продукта, который ты можешь радостно предоставить пользователям. Он очень помог нам на старте, когда мы параллельно дорабатывали мобильное приложение благодаря обратной связи от пользователей бота появилась возможность добавлять в приложение заведомо ожидаемые функции.

Сейчас покупательский бот не дорабатывается. Все новые функции, которые мы готовим, в том числе по просьбам покупателей, будут появляться только в мобильных приложениях (AppStore / Play Market). Их мы разработали для ВкусВилла на замену боту.

Приложение удобнее, как минимум, в плане визуального восприятия каталога. Здесь и фото товаров, и более удобная разбивка на категории, и всё, что связано с программой лояльности, профилем пользователя, акциями и спец-предложениями до всего этого удобнее дотянуться в пару тапов по экрану, нежели командами боту. Собранная нами статистика говорит о том, что популярность бота падает и всё больше и больше людей начинают пользоваться мобильным приложением.

Бот доставки


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



Как мы писали выше, с помощью команды (1С-разработчик, SQL-разработчик и аналитик) на всё про всё ушло 5 дней. Сначала обсудили и зафиксировали необходимую функциональность, затем, собственно, написали бота, реализовали необходимые для его нормальной работы SQL-процедуры и развернули все базы. Это первые три дня. Четвертый день решили полностью посвятить активному тестированию, а на пятый день запустили бота на курьеров.

Итого вышло, что курьерского бота сделала команда из трёх человек за 5 дней. На поддержку и какие-то доработки в случае чего уходит не более часа работы в день.

Быстрый запуск бота для курьеров помог вовремя масштабировать возможности доставки, которая в период самоизоляции получила неслабую проверку на прочность. Впрочем, как и все остальные доставки чего угодно. Плюс реализация механизма для работы курьера в виде бота сняла ограничения на устройства: у нас было ранее небольшое мобильное приложение для курьеров, но мы его написали только под Android, полагая, что эта ОС будет у курьеров сильно популярнее яблочной.

Реальность внесла свои коррективы: у многих курьеров айфоны. Поэтому бот, который одинаково хорошо работает на обеих осях. А ещё это снимает головную боль в плане релизов и их совместимости: бот просто получает новые функции, всё как работало, так и работает, без необходимости часто что-то обновлять или проверять версию приложения. Потому что когда у любых курьеров начинает тупить приложение для доставки, это почти всегда выливается в снижение лояльности клиента (это не его проблемы, что у курьера что-то там не правильно работает или не загрузилось, он ждет свой заказ в нужное время).

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

Но такое условие стало серьезной помехой в случаях, когда курьеру нужно доставлять заказы не в рамках города, а по дачам, посёлкам и СНТ: тогда предпочтительнее была ситуация, когда курьер пару часов набирал заказы для того или иного поселка, штук 30, а затем уже ехал в посёлок доставлять все заказы разом.

Работает все довольно просто:

  1. Курьер отмечается в чате с ботом, что готов к работе.
  2. Получает от бота уведомление, что появился новый заказ, который надо доставить.
  3. Видит свободные для доставки заказы на карте, прикидывает, какие сейчас удобнее и быстрее всего доставить.
  4. Получает возможность построить маршрут в навигаторе для поездки, а также может связаться с покупателем по номеру телефона.
  5. Когда доставляет заказ покупателю (или возвращает в магазин по какой-то причине), то отписывается в чат боту. Бот меняет статус заказа.

Работает и активно дорабатывается. Как видите, тут получилась обратная ситуация: в случае с покупателями мы ушли от бота в сторону полноценного и функционального мобильного приложения под две платформы.

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

Другие внутренние боты


Кроме этих двух ключевых направлений (покупательское и курьерское) мы решили реализовать в виде ботов в том числе и другие. У нас есть бот горячей линии, на который поступают запросы от пользователей, где их потом разбирают сотрудники.

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

image

А ещё мы сделали книжного бота у сотрудников Вкусвилла существует книжный клуб, и с помощью бота можно оставить отзыв на ту или иную книгу и порекомендовать её коллегам.

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

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

Как подключить официальный WhatsApp бизнес API через Gupshup и интегрировать с Битрикс24

02.04.2021 00:13:18 | Автор: admin
WhatsApp BusinessAPIWhatsApp BusinessAPI

В данной пошаговой инструкции мы подробно опишем весь процесс получения доступа к WhatsApp Business API через официального партнера Facebookсервис Gupshup и подключения WhatsApp к Открытым линиям Битрикс24 CRM. Данный сервис мы нашли для себя, для своих бизнес задач и хотим этим поделиться с вами.

Отличительные особенности сервисаGupshup

СервисGupshupСервисGupshup
  1. Можно подключать любые свои существующие номера телефонов (мобильные, стационарные, виртуальные). Количество подключаемых телефонных номеров не ограничено и не влияет на стоимость. То есть, можно организовать неограниченное количество каналов.

  2. Нет ежемесячной абонентской платы и платы за подключение. В рамках 24 часового сессионного окна оплачиваются только сессионные входящие и исходящие сообщения по цене $0.001 (~78 коп.) за одно сообщение. Пополнение баланса сервиса от $10 любой банковской картой. Время использования средств на балансе не ограничено. Нет ограничений по количеству диалогов и клиентов.

  3. Для возможности написать пользователю по истечению 24 часов с момента последнего сообщения от него, можно подготовить специальные шаблоны и получить их одобрение со стороны WhatsApp. Общая стоимость отправки шаблонного сообщения составит $0.001 (~78 коп.) + стоимость сообщения по тарифам WhatsApp (для России $0.0477 (~34 руб.)).

  4. При регистрации в сервисе, на баланс бесплатно зачисляется $1. Эти деньги можно расходовать на полноценное использование сервиса в начале работы. Если к примеру отправлять и получать только сессионные сообщения, то хватит на 1000 сообщений. Время использования пробного баланса не ограничено.

Основным условием Facebook для подключения к WhatsApp Business API является наличие зарегистрированного юридического лица, например ООО или ИП, на физическое лицо доступ получить не получится.

Итак, начнем двигаться по шагам.

1. Создание аккаунта в Facebook BusinessManager

Если у Вас уже есть аккаунт в Facebook Business Manager, то пропустите этот пункт и переходите к следующему.

Войдем в свой личный аккаунт в Facebook и создадим аккаунт Business Manager, для чего перейдем по ссылке https://business.facebook.com/overview и нажмем кнопку СОЗДАТЬ АККАУНТ, откроется окно для ввода данных компании.

Создание аккаунта Business Manager в FacebookСоздание аккаунта Business Manager в Facebook

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

В следующем окне введем информацию о компании и нажмем кнопку Отправить.

Добавление информации о компании при создании аккаунта в Facebook Business ManagerДобавление информации о компании при создании аккаунта в Facebook Business Manager

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

Необходимость подтверждения адреса электронной почты при создании аккаунта в Facebook Business ManagerНеобходимость подтверждения адреса электронной почты при создании аккаунта в Facebook Business Manager

Зайдем в почту и нажмем на кнопку Подтвердить из письма.

Подтверждение адреса электронной почты при создании аккаунта в Facebook Business ManagerПодтверждение адреса электронной почты при создании аккаунта в Facebook Business Manager

2. Активация кнопки Начать подтверждение в Facebook BusinessManager

Если у Вас эта кнопка уже активна или ваша компания уже подтверждена в Facebook Business Manager, то пропустите этот пункт и переходите к следующему.

По умолчанию, кнопка для начала подтверждения компании в Facebook Business Manager не активна. Для того, чтобы её сделать активной, нужно произвести описанные ниже действия.

Залогиньтесь в https://developers.facebook.com. Для этого нажмите в верхнем меню на пункт Начало работы.

Нажмите в верхнем меню на пункт Начало работыНажмите в верхнем меню на пункт Начало работы

В следующем окне нажмите кнопку Продолжить.

Нажмите кнопку ПродолжитьНажмите кнопку Продолжить

В следующем окне поставьте галочку и нажмите кнопку Подтвердить электронный адрес.

Нажмите кнопку Подтвердить электронный адресНажмите кнопку Подтвердить электронный адрес

В следующем окне выберите Разработчик и нажмите кнопку Завершить регистрацию.

Нажмите кнопку "Завершить регистрацию"Нажмите кнопку "Завершить регистрацию"

В следующем окне нажмите кнопку Создать приложение.

Нажмите кнопку "Создать приложение"Нажмите кнопку "Создать приложение"

В следующем окне выберите Управление бизнес-интеграциями и нажмите кнопку Продолжить.

Нажмите кнопку "Продолжить"Нажмите кнопку "Продолжить"

В следующем окне введите любое Отображаемое название приложения, выберите Назначение приложенияВы или принадлежащая вам компания, выберите ваш Аккаунт Business Manager и нажмите кнопку Создание приложения.

Нажмите кнопку Создание приложенияНажмите кнопку Создание приложения

3. Подтверждение компании в Facebook BusinessManager

Если ваша компания уже подтверждена в Facebook Business Manager, то пропустите этот пункт и переходите к следующему.

Перейдите в раздел Центр безопасности по ссылке https://business.facebook.com/settings/security. Кнопка Начать подтверждение стала активной. Нажмите ее для начала подтверждения.

Нажмите кнопку Начать подтверждениеНажмите кнопку Начать подтверждение

С официальной информацией от Facebook о подтверждении компании можно ознакомиться по ссылке: https://www.facebook.com/business/help/2058515294227817?id=180505742745347.

На первом шаге подтверждения введем данные нашей компании:

Юридическое название компанииназвание компании, как в указано в документах на регистрацию компании.

Странастрана регистрации компании.

Адрес (улица, дома)улица и номер дома юридического адреса компании, как в указано в документах на регистрацию компании.

Адрес 2/Населенный пунктвводим, если имеется.

Городгород юридического адреса компании, как в указано в документах на регистрацию компании.

Штат/провинция/регионрегион юридического адреса компании, как в указано в документах на регистрацию компании.

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

Номер телефона компанииномер телефона, который принадлежит данному юридическому лицу (должны быть подтверждающие документы: договор, счета на оплату за телефон и т.п.).

Сайтадрес веб-сайта компании (домен сайта должен совпадать с доменом электронного адреса компании).

Подтверждение компании в Facebook Business Manager. Шаг 1-ввод данных компании.Подтверждение компании в Facebook Business Manager. Шаг 1-ввод данных компании.

На втором шаге подтверждения компании необходимо подтвердить юридическое название компании.

Для этого нужно загрузить документы из списка:

  • Лицензия на ведение коммерческой деятельности (если имеется);

  • Свидетельства о регистрации или учредительные договоры (ОГРН или учредительный договор);

  • Свидетельство о регистрации налогоплательщика (ИНН).

Мы, когда это делали для себя, загружали сканы ОГРН и ИНН компании.

Подтверждение компании в Facebook Business Manager. Шаг 2-подтверждение юридического названия компании.Подтверждение компании в Facebook Business Manager. Шаг 2-подтверждение юридического названия компании.

На третьем шаге подтверждения компании необходимо подтвердить юридический адрес и номер телефона компании.

Для этого нужно загрузить документы из списка:

  • Счет за коммунальные услуги, например электроэнергию или телефон;

  • Справка из банка, на которой указан адрес;

  • Лицензия на ведение коммерческой деятельности с адресом или телефоном компании (если имеется).

Мы загрузили сканы: договора на аренду офисного помещения по юридическому адресу, информационного письма об учете в Статрегистре Росстата, счета на оплату за телефонный номер от оператора связи.

Подтверждение компании в Facebook Business Manager. Шаг 3-подтверждение юридического адреса и номера телефона компании.Подтверждение компании в Facebook Business Manager. Шаг 3-подтверждение юридического адреса и номера телефона компании.

На четвертом шаге необходимо получить и ввести код подтверждения.

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

Подтверждение компании в Facebook Business Manager. Шаг 4-получение кода подтверждения по телефону.Подтверждение компании в Facebook Business Manager. Шаг 4-получение кода подтверждения по телефону.

Позвонит робот и продиктует цифры, которые нужно ввести в поле ввода кода подтверждения.

Вводим цифры кода подтверждения и нажимаем кнопку Отправить.

Ждем подтверждения от Facebook, это может занять 27 рабочих дней.

Мы получили подтверждение компании от Facebook в течении 1-го рабочего дня.

Письмо от Facebook с уведомлением, что компания успешно подтверждена.Письмо от Facebook с уведомлением, что компания успешно подтверждена.Сообщение в Facebook Business Manager, что компания успешно подтверждена.Сообщение в Facebook Business Manager, что компания успешно подтверждена.Зеленая иконка в Центре безопасности в Facebook Business Manager, что компания подтверждена.Зеленая иконка в Центре безопасности в Facebook Business Manager, что компания подтверждена.Зеленая галочка в Информации о компании в Facebook Business Manager, что компания подтверждена.Зеленая галочка в Информации о компании в Facebook Business Manager, что компания подтверждена.

4. Создание аккаунта в Gupshup и подключение своего телефонного номера к WhatsApp BusinessAPI

Чтобы создать аккаунт в Gupshup, достаточно просто войти в этот сервис через любой из ваших существующих аккаунтов в Google, Facebook или GitHub на странице https://www.gupshup.io/developer/whatsapp-api.

Залогиньтесь через любой из ваших существующих аккаунтов в Google, Facebook или GitHubЗалогиньтесь через любой из ваших существующих аккаунтов в Google, Facebook или GitHub

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

Нажмите на кнопку Создайте ваше первое приложениеНажмите на кнопку Создайте ваше первое приложение

Далее нажимаем на кнопку API доступа.

Нажите на кнопку API доступаНажите на кнопку API доступа

Вводим любое свободное имя приложения, например TestApp555 и нажимаем кнопку Отправить.

Введите любое свободное имя приложенияВведите любое свободное имя приложенияНажмите на кнопку ОтправитьНажмите на кнопку Отправить

Откроется длинная страница, прокручиваем ее мышкой вниз и нажимаем внизу кнопку Следующее.

Нажмите на кнопку СледующееНажмите на кнопку Следующее

Далее ниже появится кнопка Перейти в дашборд нажимаем ее для перехода туда.

Нажмите на кнопку Перейти в дашбордНажмите на кнопку Перейти в дашборд

В дашборде https://www.gupshup.io/whatsapp/dashboard нажимаем на кнопку Стать онлайн в созданном приложении.

Нажмите на кнопку Стать онлайнНажмите на кнопку Стать онлайн

На следующем экране нажимаем на кнопку Я готов(а).

Нажмите на кнопку Я готов(а)Нажмите на кнопку Я готов(а)

На следующем экране выбираем свою страну из списка.

Выберите свою страну из спискаВыберите свою страну из списка

Затем прокручиваем фрейм вниз и нажимаем на кнопку Следующее.

Нажмите на кнопку СледующееНажмите на кнопку Следующее

На следующем экране заполняем форму данными о вашей компании согласно информации о вашей компании из Facebook Business Manager https://business.facebook.com/settings/info и нажимаем на кнопку Следующее.

Заполните форму и нажмите на кнопку СледующееЗаполните форму и нажмите на кнопку Следующее

На введеный в форму электронный адрес придет письмо от Gupshup с кнопкой для его подтверждения. Подтвердим этот email нажав кнопку Verify Now в тексте письма.

В письме нажмите на кнопку Verify NowВ письме нажмите на кнопку Verify Now

После успешного подтверждения откроется окно Email Verification Complete

Откроется окно Email Verification CompleteОткроется окно Email Verification Complete

и придет письмо, что email успешно верифицирован.

Письмо, что email успешно верифицированПисьмо, что email успешно верифицирован

Возвращаемся к окну с формой в Gupshup. Проверяем всю введенную информацию и нажимаем кнопку Подтвердить.

Проверьте всю введенную информацию и нажмите кнопку ПодтвердитьПроверьте всю введенную информацию и нажмите кнопку Подтвердить

На следующем экране вводим ID вашей верифицированной компании в Facebook Business Manager, который скопируем на странице https://business.facebook.com/settings/info, и нажимаем кнопку Сохранить.

Введите ID вашей верифицированной компании в Facebook Business ManagerВведите ID вашей верифицированной компании в Facebook Business ManagerНажмите на кнопку СохранитьНажмите на кнопку Сохранить

Если ваша компания еще не верифицирована, то появится ошибка: The Facebook Business Manager ID does not seem to be verified. Please try again with a verified ID.

Если ошибка: The Facebook Business Manager ID does not seem to be verified. Please try again with a verified ID.Если ошибка: The Facebook Business Manager ID does not seem to be verified. Please try again with a verified ID.

Если это так, то нужно будет сначала пройти верификацию вашей компании в Facebook Business Manager, и потом вернуться к данному шагу. Этот процесс подробно описан в 13 пунктах данной инструкции.

Если все в порядке и ваша компания подтверждена, то откроется следующий экран, где мы вводим свой номер телефона, который хотим использовать для WhatsApp Business API. Обязательно перед этим изучаем правила Facebook по выбору такого телефонного номера по ссылке http://developers.facebook.com/docs/whatsapp/guides/phone-number.

Выбираем код страны и вводим номер телефона, нажимаем кнопку Сохранить.

Выберите код страны, введите номер телефона и нажмите кнопку СохранитьВыберите код страны, введите номер телефона и нажмите кнопку Сохранить

Далее вводим отображаемое имя вашей компании в WhatsApp. Обязательно перед этим изучаем правила Facebook по выбору отображаемого имени по ссылке https://developers.facebook.com/docs/whatsapp/guides/display-name.

Вводим отображаемое имя и нажимаем кнопку Сохранить.

Введите отображаемое имя и нажмите на кнопку СохранитьВведите отображаемое имя и нажмите на кнопку Сохранить

Далее, нужно будет подтвердить на вашей странице в Facebook Business Manager привязку к Gupshup, для этого в новой вкладке браузера переходим по ссылке https://business.facebook.com/settings/requests или в Facebook Business Manager в меню слева выбираем пункт Запросы. Во вкладке Полученные будет полученный от Gupshup запрос, нажимаем на кнопку Одобрить.

Нажмите на кнопку ОдобритьНажмите на кнопку Одобрить

Возвращаемся к окну Gupshup и нажимаем кнопку Одобрил.

Нажмите на кнопку ОдобрилНажмите на кнопку Одобрил

Откроется окно с информацией о том, что Ваш запрос отправлен и ожидается его одобрение со стороны WhatsApp. Сообщается, что это займет от 2 до 7 рабочих дней. Часто все происходит быстрее, и возможно Вы получите ответ на ваш email уже в течении суток. Нажимаем на кнопку Перейти в Дашборд.

Нажмите на кнопку "Перейти в Дашборд"Нажмите на кнопку "Перейти в Дашборд"

Откроется основная страница Дашборда и в списке приложений в синей кнопке мы увидим текущий статус Ожидание подтверждения.

Текущий статус Ожидание подтвержденияТекущий статус Ожидание подтверждения

После подтверждения, получим на email соответствующее письмо от Gupshup и статус в синей кнопке изменится на Завершить верификацию.

Далее нужно будет подтвердить ваш номер телефона с помощью SMS или голосового вызова. Для этого нажимаем на кнопку Завершить верификацию.

Нажмите на кнопку Завершить верификациюНажмите на кнопку Завершить верификацию

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

Нажмите на кнопку Запросить код по СМС, если номер телефона мобильный, или Запросить код через голосовой вызов, если номер телефона не мобильный.Нажмите на кнопку Запросить код по СМС, если номер телефона мобильный, или Запросить код через голосовой вызов, если номер телефона не мобильный.

Ждем автоматического обновления экрана и отправки кода подтверждения на ваш номер.

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

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

Введите код подтверждения и нажмите на кнопку ОтправитьВведите код подтверждения и нажмите на кнопку Отправить

После успешной отправки откроется следующее окно с сообщением, что данные вашей учетной записи одобрены и верификация пройдена успешно. Нажимаем на кнопку Перейти в Дашборд.

Нажмите на кнопку "Перейти в Дашборд"Нажмите на кнопку "Перейти в Дашборд"

Откроется основная страница Дашборда и в списке приложений мы увидим текущий зеленый статус LIVE. Теперь можно использовать ваш номер телефона в WhatsApp Business API.

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

Перейдите по ссылке Настройки профиляПерейдите по ссылке Настройки профиля

Откроется окно для редактирования профиля, вводим там всю нужную информацию.

Введите данные профиля и нажмите на кнопку Сохранить измененияВведите данные профиля и нажмите на кнопку Сохранить изменения

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

5. Подключение WhatsApp Business API Gupshup к Битрикс24

Для того, чтобы начать получать и отправлять сообщения через ваш подключенный номер телефона к WhatsApp Business API Gupshup, подключим ваш аккаунт Gupshup к вашему порталу Битрикс24.

В Битрикс24 устанавливаем приложение WhatsApp Business API Gupshup из маркетплейса, для этого переходим по ссылке https://www.bitrix24.ru/apps/?app=aiappspro.whatsapp_business_api_gupshup_subscription и нажимаем на зеленую кнопку УСТАНОВИТЬ.

Нажмите на кнопку УСТАНОВИТЬНажмите на кнопку УСТАНОВИТЬ

Если Вы еще не залогинились в маркетплейсе Битрикс24, то откроется всплывающее окно с кнопкой ВХОД. Нажмите ее для входа под вашей учетной записью Битрикс24.

Нажмите на кнопку ВХОД или перейдите по ссылке СОЗДАЙТЕ ПРЯМО СЕЙЧАСНажмите на кнопку ВХОД или перейдите по ссылке СОЗДАЙТЕ ПРЯМО СЕЙЧАС

Если у Вас еще нет Битрикс24, то перейдите по ссылке СОЗДАЙТЕ ПРЯМО СЕЙЧАС в этом же всплывающем окне и зарегистрируйте себе Битрикс24 на свой адрес электронной почты или используя один из своих аккаунтов предложенных социальных сетей.

Регистрация Битрикс24Регистрация Битрикс24

После успешного входа в маркетплейс Битрикс24, в том же самом всплывающем окне, которое появилось после нажатия зеленой кнопки УСТАНОВИТЬ, выбираем из списка ваш портал Битрикс24.

В новой вкладке вашего браузера откроется ваш Битрикс24 с предложением установить приложение WhatsApp Business API Gupshup. Нажимаем синюю кнопку УСТАНОВИТЬ.

Нажмите на кнопку УСТАНОВИТЬНажмите на кнопку УСТАНОВИТЬ

Ознакамливаемся с лицензионным соглашением и политикой конфиденциальности по ссылкам и ставим галочки в случае согласия с условиями. Нажимаем зеленую кнопку УСТАНОВИТЬ.

Установите галочки и нажмите на кнопку УСТАНОВИТЬУстановите галочки и нажмите на кнопку УСТАНОВИТЬ

После успешной установки, в вашем Битрикс24 автоматически будет создан чат поддержки 24/7 приложения, в который Вы сможете писать в любое время, если будут возникать любые вопросы по работе с приложением.

После успешной установки, в вашем Битрикс24 автоматически будет создан чат поддержкиПосле успешной установки, в вашем Битрикс24 автоматически будет создан чат поддержкиЧат 24/7 поддержки приложенияЧат 24/7 поддержки приложения

Итак приложение установлено, переходим к активации коннектора для WhatsApp Business API в Контакт-центре Битрикс24.

Закрываем слайд установки приложение, переходим в Контакт-центр Битрикс24 и там кликаем по установленному коннектору WhatsApp Business API Gupshup.

Кликните по установленному коннектору WhatsApp Business API GupshupКликните по установленному коннектору WhatsApp Business API Gupshup

В открывшемся слайдере настроек коннектора, кликните по кнопке ПОДКЛЮЧИТЬ.

Нажмите на кнопку ПОДКЛЮЧИТЬНажмите на кнопку ПОДКЛЮЧИТЬ

Если в вашем Битрикс24 создано несколько Открытых линий, то ниже необходимо будет выбрать нужную Открытую линию, к которой Вы хотите подключить WhatsApp, и уже после выбора нажать кнопку ПОДКЛЮЧИТЬ.

Выберите нужную Открытую линию из спискаВыберите нужную Открытую линию из списка

В этом же самом слайдере откроется интерфейс настроек коннектора.

Интерфейс настроек коннектораИнтерфейс настроек коннектора

В новой вкладке браузера перейдите в ваш Дашборд Gupshup по ссылке https://www.gupshup.io/whatsapp/dashboard, кликните по иконке вашего профиля и во всплывающем окне скопируйте API Key.

Скопируйте API KeyСкопируйте API Key

Возвращаемся к окну настроек коннектора в Битрикс24 и в поле Gupshup API key вводим API Key, скопированный в вашем аккаунте Gupshup.

Введите Gupshup API keyВведите Gupshup API key

В новой вкладке браузера возвращаемся в ваш Дашборд Gupshup по ссылке https://www.gupshup.io/whatsapp/dashboard и копируем номер телефона для поля Gupshup sender, для чего переходим по ссылке Настройки в списке приложений в вашем аккаунте Gupshup.

Перейдите по ссылке НастройкиПерейдите по ссылке Настройки

Откроется интерфейс настроек приложения в Gupshup, прокручиваем страницу вниз до раздела Проверить API доступа и установить URL обратного вызова и копируем телефонный номер из поля Отправитель. Если ваш собственный номер телефона еще ожидает подтверждения, то в этом поле будет указан тестовый телефонный номер от Gupshup, который пока можно использовать для тестирования приложения.

Скопируйте телефонный номер из поля ОтправительСкопируйте телефонный номер из поля Отправитель

Не закрываем пока это окно настроек приложения в Gupshup, оно нам еще пригодится ниже. Возвращаемся к окну настроек коннектора в Битрикс24 и в поле Gupshup sender вводим скопированный номер телефона отправителя.

Введите скопированный номер телефона в поле "Gupshup sender"Введите скопированный номер телефона в поле "Gupshup sender"

Нажимаем кнопку Подключить. После успешного подключения появятся сообщения Коннектор успешно подключен и Скопируйте callback URL и введите его в настройках Gupshup. Копируем Gupshup callback URL нажатием кнопки Копировать.

Нажмите на кнопку КопироватьНажмите на кнопку Копировать

Возвращаемся в наше открытое окно настроек приложения в Gupshup, кликаем по вкладке URL обратного вызова / Свяжите со своим ботом, переключаем ползунок в положение ON.

Переключите ползунок в положение ONПереключите ползунок в положение ON

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

Введите скопированный в настройках коннектора в Битрикс24 Gupshup callback URL и нажмите кнопку SetВведите скопированный в настройках коннектора в Битрикс24 Gupshup callback URL и нажмите кнопку Set

Коннектор WhatsApp Business API Gupshup готов к работе!

Если Вы еще ожидаете подтверждения вашего телефонного номера и хотите пока протестировать коннектор через тестовый телефонный номер от Gupshup, то прокрутите вверх страницу настроек приложения в Gupshup до раздела Смарт-механизмы для регистрации и вовлечения пользователей и кликните по иконке Нажать на ссылку. В новой вкладке откроется кнопка для подтверждения согласия на прием тестовых сообщений. Установите галочку I agree и нажмите кнопку Send Message. Откроется приложение WhatsApp для отправки предустановленного сообщения PROXY с вашего личного номера WhatsApp. Отправьте данное сообщение без изменения на тестовый номер Gupshup. Поступит ответ Welcome! Youre now chatting with. Теперь Вы можете отправлять тестовые сообщения, которые будут поступать в Открытую линию Битрикс24.

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

Отправьте сообщение, например с Вашего личного номера WhatsApp на ваш номер телефона WhatsApp Business API, одобренный через сервис Gupshup.

Отправьте сообщение в WhatsAppОтправьте сообщение в WhatsApp

Примите сообщение в Открытой линии вашего Битрикс24 и напишите ответ.

Примите сообщение в Открытой линии Битрикс24Примите сообщение в Открытой линии Битрикс24

Поддерживаются любые типы сообщений: текстовые сообщения, изображения, видео, голосовые сообщения, файлы, координаты местоположения. Обработка сообщений производится в соответствии с настройками открытой линии.

6. Создание шаблонов исходящих сообщений

Для возможности написать пользователю по истечению 24 часов с момента последнего сообщения от него, необходимо подготовить специальные шаблоны и получить их одобрение со стороны WhatsApp. Сообщение не должно нести рекламный характер - WhatsApp одобряет только сервисные и транзакционные шаблоны. Шаблоны должны соответствовать правилам:Политика WhatsApp Business,Торговая политика WhatsApp.

Шаблоны нужно создавать в вашем аккаунте Gupshup. Для этого перейдите в Дашборд Gupshup по ссылке https://www.gupshup.io/whatsapp/dashboard, перейдите по ссылке Настройки в списке приложений Gupshup.

Перейдите по ссылке НастройкиПерейдите по ссылке Настройки

Прокрутите открывшуюся страницу настроек вниз до раздела Проверить API доступа и установить URL обратного вызова и там перейдите по ссылке Посмотреть шаблоны.

Перейдите по ссылке Посмотреть шаблоныПерейдите по ссылке Посмотреть шаблоны

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

Для добавления своего шаблона нажмите на кнопку Добавить еще.

Нажмите на кнопку Добавить ещеНажмите на кнопку Добавить еще

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

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

Проверьте все данные и нажмите кнопку Отправить.

Проверьте все данные и нажмите кнопку ОтправитьПроверьте все данные и нажмите кнопку Отправить

После отправки, ожидаем 12 рабочих дня одобрения шаблона со стороны WhatsApp. Писем при этом никаких не приходит, проверять изменение статусов отправленных шаблонов нужно самим в своем аккаунте Gupshup. В фильтре выберите "Утверждено" и откроется список всех ваших одобренных шаблонов.

В фильтре выберите "Утверждено" и откроется список всех ваших одобренных шаблоновВ фильтре выберите "Утверждено" и откроется список всех ваших одобренных шаблонов

Ниже на скриншоте приводим пример отправки шаблонного сообщения из Битрикс24.

Пример отправки шаблонного сообщения из Битрикс24Пример отправки шаблонного сообщения из Битрикс24

7. Отправка автоматических сообщений в WhatsApp из Битрикс24

Во время установки в Битрикс24, приложение WhatsApp Business API Gupshup автоматически создает нового SMS-провайдера [WhatsApp Business API Gupshup], только при этом отправляются не SMS, а сообщения в WhatsApp.

Отправка осуществляется как вручную, так и автоматически из любого места CRM: из роботов, бизнес-процессов, SMS и Мессенджер рассылок из раздела CRM-маркетинг, таймлайна Лидов, Сделок, Контактов и Компаний.

Приводим примеры отправки таких сообщений ниже на скриншотах.

Отправка сообщения из таймлайна сделкиОтправка сообщения из таймлайна сделкиОтправка сообщения из бизнес-процессаОтправка сообщения из бизнес-процессаОтправка сообщения из роботов CRMОтправка сообщения из роботов CRMСписок отправленных сообщений в истории сделкиСписок отправленных сообщений в истории сделкиОтправка сообщения из SMS рассылкиОтправка сообщения из SMS рассылкиОтправка сообщения из Мессенджер рассылкиОтправка сообщения из Мессенджер рассылки

Итог

Мы с нуля, полностью настроили популярный и востребованный для бизнеса канал WhatsApp через официальный WhatsApp Business API.

По сравнению с неофициальными (серыми) API, основными преимуществами официального подключения являются:

  • высокая стабильность и безопасность;

  • независимость от физического оборудования (нет необходимости держать постоянно включенным мобильный телефон с подключением к интернету);

  • независимость от веб-интерфейса сообщений (не нужно сканировать QR-код и передавать его сторонним приложениям);

  • широкие возможности по интеграции с внешними системами для автоматизации обработки сообщений.

Также, подключение WhatsApp Business API через официального партнера Facebookсервис Gupshup позволяет в несколько раз снизить затраты на данный канал по сравнению с другими поставщиками официального WhatsApp Business API. И даже часто получается выгоднее по сравнению с затратами на серые схемы подключения. К примеру многие подобные сервисы предлагают только пакеты сообщений или диалогов с ежемесячной оплатой. И еще огромный плюс, подключать через Gupshup можно неограниченное количество своих телефонных номеров для WhatsApp Business API, и это не влияет на стоимость.

Для примера рассчитаем расходы на подобный сервис с оплатой 1000 руб. в месяц в которые входят до 100 диалогов в месяц. Предположим, в среднем диалоги состоят из 10 сообщений (на практике бывает даже меньше, так как переписка с клиентом это чаще всего сжатый диалог из нескольких сообщений, а не переписка с другом). Получается в этом случае мы заплатим по факту 1000 руб. за 1000 сессионных сообщений (в рамках 24-часового окна), то есть в итоге 1 руб. за одно сообщение.

Теперь посчитаем сколько мы заплатим за 1000 сообщений в Gupshup. Одно сессионное сообщение стоит $0.001, это примерно 78 копеек. И нет никакой обязательной ежемесячной оплаты, и нет никаких ограничений по времени, по количеству диалогов и клиентов, по количеству каналов. Получается мы заплатим всего $1, то есть всего 7080 руб. И при этом нас никто не ограничивает по времени, в этом месяце возможно 1000 сообщений, в другом меньше, в третьем больше. За год вырисовывается просто невероятная экономия затрат для бизнеса. За те же 1000 руб. мы сможем принять и отправить через Gupshup более 12000 сессионных сообщений без каких-либо ограничений по времени, по количеству диалогов и клиентов и без ограничения по количеству каналов. Многие бизнесы и не генерируют столько за месяц.

Чтобы иметь возможность написать по истечению 24 часов с момента последнего сообщения от клиента, необходимы специальные шаблоны, стоимость их отправки во всех сервисах почти одинаковая, так как эту стоимость взимает сам WhatsApp. Для России на текущий момент она составляет $0.0477 (~34 руб.) за одно шаблонное сообщение. При отправке такого шаблонного сообщения через Gupshup его стоимость составит $0.001 + $0.0477 (78 копеек за сессионное сообщение + 34 руб. за шаблонное сообщение). После ответа клиента на шаблонное сообщение, все остальные сообщения в течении 24 часов с момента отправки клиентом последнего сообщения будут тарифицироваться только по $0.001 (78 копеек).

Подробнее..

Дорожная карта внедрения корпоративного портала Битрикс24 в крупной компании. Цели, стадии, место в инфраструктуре

11.09.2020 16:15:38 | Автор: admin

Суть статьи коротко


Битрикс24 часто воспринимается как просто CRM или task-трекер.
У больших компаний своя специфика, им нужно единое окно доступа к сервисам.
Это и есть Корпоративный портал.
В статье дана детальная дорожная карта внедрения в большой компании и показана последовательность шагов.
image

Проблема: Коммуникация в коллективе от 150 человек


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

Причина этого проста человек как биологический вид комфортно работает с 5-10 близкими товарищами, а теоретический предел знакомых 150 человек. Таков максимальный размер первобытного племени.

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

Плохой медленной, неэффективной, требующей кучи бумаг. Никто не любит бюрократии, однако почти всегда большая компания (даже современная) страдает именно этим усложнением документооборота.

Добавляют проблем, как ни странно, современные информационные технологии. У склада своя программа, у продавцов своя, аналитики работают в Excel, основной способ обмена электронная почта и чаты.

Все это приводит к падению эффективности. Парадокс: в 21 веке команда из трех человек в пересчете на сотрудника работает многократно эффективнее чем офисное здание из 3000 специалистов.

А должно быть наоборот: укрупнение компании помогает разделению труда и должно экономить силы людей на непрофильных операциях. Каждый может сосредоточиться на своем.
image
В чем же проблема? Где узкое место современного офиса? В избытке информации, людей и программ. Не удается сосредоточиться на своем участке работы, если замена клавиатуры требует служебной записки.

Решение: Корпоративный портал меньше программ для одного сотрудника


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

Внедрение состоит из пяти стадий, на каждой нужно пройти пять шагов. В каждой компании есть свои особенности, но общая логика внедрения и настройки Битрикс24 должна быть именно такой.

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

Каким компаниям подойдет этот сценарий внедрения?

Сценарий подходит производственным, строительным и сервисным компаниям от 150 до 3000 человек, где 3 и более уровня иерархии, департаменты и филиалы.

Стадия 1 Первичная настройка. Приглашение сотрудников


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

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

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

Пример главной страницы портала крупной организации (показан интерфейс HR-директора):
image

Вопросы


Если вы руководитель проекта создания внутреннего интранет-портала, для успеха на первой стадии вам потребуется ответить на вопросы:
  1. В какой программной системе сейчас хранится актуальная информация об оргструктуре компании: департаментах, отделах, руководителях?
    Типовые ответы:
    MS Active Directory;
    1С: Зарплата и Управление Персоналом;
    нигде (в этом случае точкой правды о структуре становится Битрикс24).

    Ответы, которые сделают первую стадию дольше:
    структура департаментов в AD, а должности и состав отделов в ЗУП;
    у нас несколько доменов и экземпляров ЗУП;
    права доступа сотрудников хранятся в сторонней системе;
    все сложно, нужен обмен в режиме реального времени.
  2. Где сейчас хранится официальная информация компании? Кто подготовит ее публикации?
  3. Организована ли работа с вакансиями в цифровом виде? Есть ли специализированная программа или личный кабинет на сайте с вакансиями? Как часто появляются новые вакансии? Нужна ли автоматическая публикация вакансий в портале?
  4. Что приятного мы можем предоставить сотрудникам на первой стадии? Варианты ответа:
    меню ближайшего кафе или корпоративной столовой
    справочник телефонов и дней рождения
    автоматизировать болезненный процесс (даже из следующей стадии).


Ресурсы


Для успеха первой стадии вам нужно привлечь:
  1. Грамотного внедренца Битрикс24 с компетенциями интегратора. Выбор лицензии, установка системы и формирование общего видения с лидерами проекта в компании основа успеха.
  2. Специалистов по ИТ. Конфигурацию и количество серверов под требуемую нагрузку (диск, количество пользователей, вычислительные задачи, интеграции) рассчитает компания-внедренец.
  3. HR, маркетинг и PR-отделы для предоставления информации.

Диаграмма Гантта первой стадии внедрения
image

Что будет готово после окончания первой стадии:


  1. Оргструктура импортирована, автоматически обновляется при изменениях в материнских системах.
  2. Сотрудники входят в интранет-портал, пользуясь единым паролем домена (или отдельным паролем).
  3. Доступна вся официальная информация, нужная сотрудникам.
  4. Обновления неформальной жизни, корпоративные праздники и объявления доступны.
  5. Приказы и распоряжения, новости и события известны сотрудникам из единого источника.
  6. Сотрудники работают со своими файлами из любого места, доступно разделение по правам доступа и синхронизация с локальными дисками на рабочих местах.
  7. Современный интерфейс, удобное мобильное приложение и своя информация нравятся людям.

Ссылки по теме


  1. Как вовлечь людей в работу с корпоративным порталом
  2. Правильная установка коробочной версии Битрикс24
  3. Синхронизация Bitrix24 с Active Directory. Проблемы и решения

Стадия 2 Внутренние процессы

На живой кости мясу недолго нарасти.

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

Вопросы

Для второй стадии потребуется собрать требования подготовить много информации:
База знаний.
  1. В каком виде представлена корпоративная база данных? Например:
  2. Требуется ли разделение доступа к базе знаний (по должностям или подразделениям)?

Управление проектами.

  1. Какие системы в компании используются для управления проектами?
    ПланФикс / Jira / Youtrack / Redmine / MS Project / Специальные программы?
  2. Хотят ли пользователи этих проектных программ перейти на другую систему? (Например, в раздел Задачи и проекты Битрикс24?)
    если да, нужно собрать требования и настроить Битрикс24
    если нет, нужно определиться с интеграцией между Битрикс24 и системой управления проектами. Самые распространенные создать задачу из Б24, отследить прогресс в проектной системе и получить отчет по состоянию задач и проектов в Живой ленте Битрикс24
  3. Какие важные проекты для компании являются типовыми и часто повторяемыми? Например:
    старт производства нового объекта
    открытие новой торговой точки
    запуск крупной маркетинговой акции
    корпоративные мероприятия: конкурсы, праздники, конференции, слёты дилеров
    Для планирования, отслеживания и аналитики типовых проектов в Б24 существуют готовые решения, интегрируемые с MS Project.
  4. Как сейчас назначаются, проводятся и протоколируются совещания? Как связаны задачи с итогами совещаний?

Бухгалтерия и кадры. Заказ справок.

  1. Налажен ли кадровый учет в 1С: ЗУП? Какие отраслевые особенности есть в оформлении отпусков и режима рабочего времени? Например
    Вахтовый режим для части сотрудников
  2. Какие 3-5 видов документов чаще всего запрашивают сотрудники в бухгалтерии и HR-службе?

Сервисы для сотрудника.

  1. Что в офисах приходится бронировать? Переговорные? Курьерские задачи? Автомобили и специальную технику? Как выглядит процесс согласования?
  2. Сколько сервисных (ИТ- и бытовых-) поступает в соответствующие службы в неделю? Какие виды заявок самые частые или болезненные?
  3. В каких ИТ-системах отслеживается исполнение заявок?
  4. Хотят ли ИТ-служба и АХО сменить свои системы на Битрикс24?
    если да, нужно собрать требования и настроить Битрикс24 под конкретный бизнес-процесс заявки
    если нет, нужно определиться с интеграцией между Битрикс24 и системой управления проектами. Самый распространенный вариант создать заявку через Битрикс24 или по почте и получить ответ.
  5. Какие процессы в офисе чаще всего повторяются и идут малоэффективно? Например, как выглядит бизнес-процесс командировка в жизни?

image
Документооборот
  1. Какие системы документооборота внедрены в компании? Довольны ли ими? Какую часть требуемого документооборота покрывают эти системы?

    Какие документы должны согласовываться быстро по простым маршрутам (для них бизнес-процессы будут настроены Битрикс24)? Примеры:
    заявки на оплату с помещением в платежный календарь;
    справки;
    коммерческие предложения.
  2. Как согласуются новые договоры? Сколько стадий, ответственных, сколько видов маршрутов? (Если менее 10 на каждый вопрос рекомендуется подключить и настроить Мини-СЭД для Битрикс24 ).
    Есть ли в компании требования к документообороту согласно ГОСТ Р 7.0.97-2016 или других стандартов, подразумевающих учет, хранение и быстрый доступ к десяткам видов документов?
    (Если да рекомендуется внедрение 1С: Документооборот и интеграция его с Битрикс24).

Ожидаемые результаты второй стадии


  1. Люди активно пользуются корпоративным интранетом для решения частых задач.
  2. Сократилось число писем по электронной почте и физических бумаг.
  3. Сотрудники меньше переключаются между различными программами и могут больше времени отдать основным обязанностям
  4. Руководство получило инструменты прозрачного контроля различных процессов и картину занятости служб.


Ссылки по теме


  1. Сервис единого окна Битрикс24
  2. Как организовать документооборот в Битрикс24? 6 задач и 4 способа решения
  3. Методика разработки маршрутов согласования документов в СЭД
  4. Управление типовыми проектами
  5. Сервисные заявки и техподдержка на Битрикс24

Вторая стадия ключевая в проекте. Как правило, именно ради этого компания хочет внедрить работающий интранет-портал. Но и вопросов по ней очень много.

Стадия 3 Удобство сотрудников. HR-задачи


А поцеловать?

Ключевая задача после запуска всех основных процессов в Битрикс24 кадры и счастье людей. Компания выросла, с ней вырос интранет. Это целый мир, в котором нужно разобраться. Нужно сделать людям легко.
image

Вопросы перед третьей стадией Счастье сотрудников и HR-функции


  1. Какие формальные и неформальные шаги проходит новый сотрудник? Как организован процесс адаптации новичка к работе сейчас? Например:
    есть стартовое обучение стандартам, курс молодого бойца?
    нужно сдать тесты или получить допуск?
    есть формат ознакомительной экскурсии по предприятию?
  2. Как организовано обучение сотрудников новым знаниям? Например:
    есть курсы и испытания, все проходит оффлайн;
    такого процесса нет, он должен быть построен.
  3. Есть ли процесс и специальное ПО для построения Корпоративного университета? Внедрена ли Learning Management System?
    да, например iSpring или Moodle;
    нет, но планируется.
    Если на два предыдущих вопроса ответ нет, но будет, рекомендуется настроить и адаптировать стандартный для Битрикс24 модуль Обучение и тестирование. Его возможностей достаточно для работы в первые несколько лет.
  4. Есть ли процесс замера, анализа и публикации количественных показателей? Как описаны KPI?
  5. Внедрена ли методика OKR (Objectives and Key Results цели и ключевые результаты) в компании?
  6. Какие программные продукты используются для планирования и отслеживания работы по OKR и системы KPI?
  7. Готова ли HR-служба к переносу процессов в цифровую среду?
  8. Как организован процесс публикации вакансий?
  9. Какие особенности есть у процессов найма, увольнения, адаптации, перевода?
    В этом пункте речь идет о формальной стороне вопроса, кадровом делопроизводстве
  10. Готова ли компания к применению геймификации в рабочих процессах и коммуникациях? Какие задачи стоят перед процессом геймификации?

Ожидаемые результаты третьей стадии:


  1. Люди не испытывают стресса при старте работы.
  2. Работа в портале наполнилась эмоциями.
  3. Процессы обучения и развития сотрудников ведутся в интранет-портале и прозрачны.
  4. Достижения и KPI сотрудников, прогресс по OKR прозрачны (в той мере, как это нужно компании).
  5. Кадровая служба быстрее и проще решает как технические, так и стратегические задачи
  6. Сотрудники с удовольствием общаются в Б24 по всем вопросам.


Полезные ссылки по теме


  1. Автоматизация рекрутинга и возможности для HR в Битрикс24
  2. Битрикс24 как HR-портал, центр развития персонала и корпоративный университет
  3. Пример сбора KPI сотрудника по скорости работы в CRM
  4. Специальные отчеты по эффективности
  5. Чат-бот быстрого поиска документов

Третья стадия должна дать радость работы. Она очень важна для будущего компании и ее внутреннего климата. Когда HR-службе проще работать, ее сотрудники чаще улыбаются. Это важно.

Стадия 4 Продажи


Деньги кровь бизнеса.

Продажи клиентам ключевой вопрос для всех коммерческих компаний. При построении интранет-портала крупной компании тема продаж возникает не сразу.

Почему? Ведь Битрикс24 позиционируется как CRM-система, инструмент продаж? Есть много готовых инструментов для работы с клиентами: открытые линии, продажи в чатах, аналитика вероятности сделки..?

Во-первых, компания в 150 человек всегда имеет процессы продаж и работы с клиентами. Они могут быть неоптимальными, но они есть. Продажи не главная боль, не ради этого начинается внедрение портала.

Во-вторых, эти процессы почти всегда довольно сложные. Много видов контрактов, оптовые цены, отложенные оплаты, проектные продажи, претензии. Битрикс24 CRM для такого из коробки не подходит.

Нужна адаптация CRM под процессы крупной компании, блок управления дилерами, управленческие отчеты, контроль дебиторской задолженности и аналитика работы сотрудников отдела продаж.

Именно это и делается на 4 стадии Продажи.
image

Вопросы перед четвертой стадией внедрения Б24 в крупной компании Продажи


  1. Как сейчас оцифрованы процессы продаж и работы с клиентами в компании? Есть ли CRM, регистрация обращений клиентов, аналитика продаж в разрезе рекламных каналов?
  2. Если да, рассматривает ли отдел продаж Битрикс24 как новую платформу?
  3. Какие учетные особенности работы с клиентами есть на предприятии сейчас? Например Холдинговые структуры клиента, когда по сути в одном клиенте могут быть множество:
    юридических лиц
    счетов для оплаты
    контактных лиц
    грузополучателей
  4. Бывает ли что одного клиента ведут несколько менеджеров компании (на разных стадиях или по разным вопросам)?
  5. Есть ли в компании дилерская сеть? Если да, какие вопросы управления сетью наиболее актуальны:
    Маркетинг, сбор и передача лидов дилерам
    Контроль процесса продаж (стадии, стандарты, нормы скорости ответа, чеклисты)
    Онлайн-каталог товаров с дилерскими и клиентскими ценами и наличием по складам
    Закупка дилерами у производителя
    Контроль отгрузок клиенту, логистика
  6. Нужно ли собирать контакты конечных клиентов (с которыми работают дилеры) для проведения рекламных акций, аналитики продаж и улучшения процессов?

    Из какой системы в Битрикс24 можно импортировать первичные данные для управленческих отчетов? Например:
    1С: Управление торговлей
    Microsoft Power BI
    MS Dynamics
    такой системы нет, данные нужно собирать из CRM Битрикс24
  7. Какие данные нужно предоставлять в оперативных отчетах руководителей среднего звена, а что вынести в дашбоард топ-менеджера?
  8. Кто отвечает за контроль ПДЗ (просроченной дебиторской задолженности)? Где прописаны пределы ПДЗ по типам контрагентов, правила остановки отгрузок, передачи проблемы в юридическую службу?


Ожидаемые результаты четвертой стадии:


  1. После адаптации CRM Битрикс24 адекватна реальным процессам в отделе продаж.
  2. Управление продажами в дилерской сети стало проще.
  3. Руководители среднего звена и топ-менеджеры получают аналитику по текущим показателям.
  4. Качество контроля дебиторской задолженности выросло.
  5. Сотрудники отдела продаж активно работают в своем разделе интранет-портала.

Полезные ссылки по теме



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

Стадия 5. Личные кабинеты

Личный кабинет каждому!

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

Личные кабинеты интегрированы с бизнес-процессами компании и делают работу в целом быстрее и лучше.
image

Вопросы перед пятой стадией внедрения Б24 в крупной компании Личные кабинеты


Функции каждого кабинета связаны с процессами компании. Всегда в компании есть специфика и особенности, которые нужно учитывать при внедрении. Например, последовательность запуска или особенности процессов в ЛК.

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

Нужно понять, как реализованы процессы сейчас? Какие личные кабинеты нужны?

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


  1. Коммуникации с внешним миром вплетены в интранет-портал: дилеры, контрагенты, клиенты.
  2. Бизнес-процессы интранет-портала покрывают всю компанию.
  3. Руководителям легко отслеживать вовлеченность по работе с претензиями, дилерами и специалистами.
  4. Скорость коммуникаций по всем направлениям выросла за счет удобных личных кабинетов.
  5. Контрагенты, дилеры, партнеры, сотрудники говорят спасибо, стало хорошо.

Ссылки по теме Личные кабинеты



  1. Лучший онлайн-проект для продвижения производителя в рознице 2018
  2. 17+ функций оптового B2B интернет-магазина. Примеры интерфейсов
  3. Личный кабинет клиента компании ЕВРАЗ
  4. Обработка претензий в личном кабинете

Пятая стадия включает в единое информационное поле компании специалистов, партнеров и контрагентов. Компания решила задачу оцифровки своей деятельности.

Полная версия дорожной карты


Хабр не дает вставить код с iframe, поэтому карта доступна по ссылке.
image

Итого


Внедрение интранет-портала в крупной компании позволяет:
  • уменьшить число переключений между разными программами для сотрудников;
  • сократить бумажный документооборот;
  • создать единую информационную среду;
  • повысить эффективность по всем направлениям работы за счет интеграции с корпоративным ПО;
  • сделать сотрудников, менеджеров, руководителей в компании счастливее.

Описанная в статье дорожная карта основа для конкретного проекта внедрения. Пользуйтесь!
Подробнее..

Для начинающих как выбрать файл в 1С?

31.10.2020 18:19:25 | Автор: admin

Добавим новую форму с кнопкой, нажав на которую будет открываться окно выбора файла. Дальнейшая обработка файла в данном примере не рассматривается. Рекомендуется тренироваться на копии базы или пустой конфигурации. Пример создан на конфигурации 1С:CRM 3.0.

Сначала подготовим конфигуратор.

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

Теперь создадим простую обработку.

Находим в левой таблице объектов объект "Обработки", нажимаем на ней правой кнопкой мыши и выбираем "Добавить". Далее потребуется заполнить Имя обработки, указать, в какой подсистеме 1С хотите вызвать обработку, и добавить новую форму в разделе "Формы".

После создания формы появится окно как представлено ниже.

Теперь создадим команду формы "Загрузить" нажав на плюс в верхнем правом окне. Обязательно укажите свойство "Действие". Это будет название процедуры 1С.

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

Далее напишем небольшой код.

Внизу окна нажимаем на закладку "Модуль". У нас здесь уже есть пустая процедура. Добавляем в нее код.

//выбор файла

ДиалогВыбора = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбора.Заголовок = "Выберите файл";

ДиалогВыбора.Фильтр = "Excel документ, .xls|.xls";

ДиалогВыбора.МножественныйВыбор=Ложь;

Если ДиалогВыбора.Выбрать() Тогда

ИмяФайла = ДиалогВыбора.ПолноеИмяФайла;

КонецЕсли;

В результате получится так как на рисунке ниже.

И в конце остается проверить в пользовательском режиме. Для этого нажимаем "Начать отладку" или F5. Конфигуратор спросит обновить ли конфигурацию базы данных. Отвечаем "Да" и у нас открывается 1С (режим пользователя). Далее находим подсистему, куда добавили обработку (в нашем случае это "Маркетинг") и проверяем.

На простейшем примере было показано как написать код, прикрепить его на форму и вызвать в пользовательском режиме 1С.

Спасибо за внимание!

Подробнее..

Выгрузка пользователей из 1C ЗУП в Битрикс24 или правдивая история о том как настроить интеграцию 1С-Битрикс24 c 1С ЗУП

10.02.2021 00:11:55 | Автор: admin

В жизни так бывает, причём бывает чаще чем хотелось бы, хоть в целом и довольно редко надо интегрировать Битрикс24 с ЗУП. Сими дружественными компаниями заявлена штатная интеграция (но только для коробки Б24), которая осуществляется по следующей принципиальной схеме:

  1. Обмен инициирует всегда 1С. Это либо штатный, либо устанавливаемый самостоятельно и доступный модуль обмена, который посылает запросы.

  2. На стороне Б24 имеем в качестве точки обмена скрипт, если быть точнее скрипты (но об этом будет ниже), в одном из которых вызов метода IncludeComponent, который подключает контроллер. Он и таит в себе логику обмена.

Штатный обмен, в принципе, если быть экспертом одного из продуктов можно освоить за небольшое количество минут или часов информация представлена на одном из официальных сайтов 1С-Битрикс - https://1c.1c-bitrix.ru/intranet/employees.php.

Пролог

Нам же это скучно, поэтому ввязываемся в авантюру по интеграции ЗУП с Б24 Enterprise, а чтобы было интереснее берем закрытый объект, почти совсем не бизнес даже, а учреждение с многоуровневой и чудно ветвленой системой безопасности.

В общем, на руках бэкап Б24 с обезличенными данными и обезличенный же XML-файл обмена из ЗУП.

Итак, сама задача Хотя, нет. До самой задачи ещё далеко не помешало бы сначала наладить тестовый механизм для того, чтобы по заверениям работающий штатный алгоритм проверить.

Инструментарий:

  • Виртуальная машина VMBitrix 1 шт.

  • 1С-Битрикс24 (копия для разработки) 1 шт.

  • Файл обмена, выгруженный предположительно штатным модулем обмена 1С 1 шт.

  • VS Code + SSH FS плагин на будущее 1 комплект.

  • Postman 1 шт.

Виртуальная машина VMBitrix

По правде говоря, это никакая не виртуальная и даже не машина, а CentOS 7 (ну, или 6) со всеми вытекающими. Можно из чистой центоси сделать своеобразный и уже сконфигурированный LAMP+ для Битрикс несколькими командами.

wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh

# chmod +x bitrix-env.sh

# ./bitrix-env.sh

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

Следует ещё отметить, что VMBitrix не единственное, но самое быстро-разворачиваемое универсальное окружение для Б24.

1С-Битрикс24 Enterprise

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

Файл обмена из 1С ЗУП

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

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

VS Code + SSH FS плагин

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

Не зря в самом начале статьи была реплика про то, что Обмен инициирует всегда 1С. Для понимания архитектуры это был первый шаг, в модуле обмена на стороне 1С прописан адрес скрипта, выступающего узлом обмена в Б24 по умолчанию это /bitrix/admin/1c_intranet.php.

В нем, согласно правилам системы ничего не хранится. Подключается один из служебных скриптов системного модуля Интранет(intranet) /bitrix/modules/intranet/tools/1c_intranet.php.

Именно этот модуль нам дает программный интерфейс для организации работы с сотрудниками и структурой на портале. Модули в BitrixFramework занимают место модели в архитектуре MVC.

И именно для взаимодействия с ним написанный системный компонент intranet.users.import.1c вызывается из служебного скрипта при помощи метода IncludeComponent. Компоненты в BitrixFramework занимают место контроллера в архитектуре MVC. На вход компонента подается массив параметров, если не вдаваться в тонкости, то настройки из модуля Интранет, которые задаются в административной части корпортала.

Postman

При упоминании должности почтальона в наших широтах перед глазами встает образ скорее Печкина из Простоквашино, нежели герой Кевина Костнера из одноименного заокеанского фильма.

Но наш герой программа, адрес тоже известен https://www.postman.com/ .

Эпилог

Путем нехитрых манипуляций вычитки кода того самого системного компонента и экспериментов с программой-почтальоном за пару часов выработан полуавтоматических алгоритм, позволяющий подсунуть в Б24 файл выгрузки из 1С.

Что важно знать про обмен:

  • Протокол обмена GET

  • Нужно несколько последовательных запросов с разными параметрами

Если файл выгрузки 1С ЗУП в архиве, то нужно использовать галочку Использовать сжатие zip, если доступно в настройках модуля Интранет в админке. И наоборот если XML без архивной оболочки галочку нужно снять.

Первый запрос, авторизация по логину и паролю:

GET http://портал/bitrix/admin/1c_intranet.php?mode=checkauth

Возвращает PHPSESSID. Его необходимо в последующем передавать с каждым запросом.

Второй запрос:

GET http://портал/bitrix/admin/1c_intranet.php?mode=init

Подготавливает/вычищает папку для загрузки файла. Возвращает что-то вроде zip=no

file_limit=204800, если всё отработало.

Третий запрос:

GET http://портал /bitrix/admin/1c_intranet.php?mode=file&PHPSESSID=tmfi6bf67llse3akv7cv13m6h8&filename=import.xml

В случае успешной передачи и записи файла на сервер возвращает success. Будьте бдительны нужно передать в Body сам файл бинарно, и указать его название в GET-параметре filename.

Четвертый запрос:

GET http://портал /bitrix/admin/1c_intranet.php?mode=import&PHPSESSID=tmfi6bf67llse3akv7cv13m6h8&filename=import.xml

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

progress

Временныетаблицыудалены.

progress

Временныетаблицысозданы.

progress

Файлимпортапрочитан.

progress

Временныетаблицыпроиндексированы.

progress

Проверкаструктурыуспешнопройдена.

progress

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

progress

Обработано2из2пользователей.

progress

Загрузкапользователейзавершена.

progress

Обработано11из11записейграфикаотсутствий.

progress

Загрузкаграфикаотсутствийзавершена.

success

Импортуспешнозавершен.

Постскриптум

Наверняка, кто-то из комментаторов укажет на другие инструменты, или сможет поделиться похожим опытом. Возможно, кто-то проведет параллели с импортом каталога из УТ в БУС.

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

Подробнее..

Recovery mode Выгрузка пользователей из 1C ЗУП в Битрикс24 или правдивая история о том как настроить интеграцию 1С-Битрикс24 c 1С ЗУП

10.02.2021 02:16:32 | Автор: admin

В жизни так бывает, причём бывает чаще чем хотелось бы, хоть в целом и довольно редко надо интегрировать Битрикс24 с ЗУП. Сими дружественными компаниями заявлена штатная интеграция (но только для коробки Б24), которая осуществляется по следующей принципиальной схеме:

  1. Обмен инициирует всегда 1С. Это либо штатный, либо устанавливаемый самостоятельно и доступный модуль обмена, который посылает запросы.

  2. На стороне Б24 имеем в качестве точки обмена скрипт, если быть точнее скрипты (но об этом будет ниже), в одном из которых вызов метода IncludeComponent, который подключает контроллер. Он и таит в себе логику обмена.

Штатный обмен, в принципе, если быть экспертом одного из продуктов можно освоить за небольшое количество минут или часов информация представлена на одном из официальных сайтов 1С-Битрикс.

Пролог

Нам же это скучно, поэтому ввязываемся в авантюру по интеграции ЗУП с Б24 Enterprise, а чтобы было интереснее берем закрытый объект, почти совсем не бизнес даже, а учреждение с многоуровневой и чудно ветвленой системой безопасности.

В общем, на руках бэкап Б24 с обезличенными данными и обезличенный же XML-файл обмена из ЗУП.

Итак, сама задача Хотя, нет. До самой задачи ещё далеко не помешало бы сначала наладить тестовый механизм для того, чтобы по заверениям работающий штатный алгоритм проверить.

Инструментарий:

  • Виртуальная машина VMBitrix 1 шт.

  • 1С-Битрикс24 (копия для разработки) 1 шт.

  • Файл обмена, выгруженный предположительно штатным модулем обмена 1С 1 шт.

  • VS Code + SSH FS плагин на будущее 1 комплект.

  • Postman 1 шт.

Виртуальная машина VMBitrix

По правде говоря, это никакая не виртуальная и даже не машина, а CentOS 7 (ну, или 6) со всеми вытекающими. Можно из чистой центоси сделать своеобразный и уже сконфигурированный LAMP+ для Битрикс несколькими командами.

wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh

# chmod +x bitrix-env.sh

# ./bitrix-env.sh

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

Следует ещё отметить, что VMBitrix не единственное, но самое быстро-разворачиваемое универсальное окружение для Б24.

1С-Битрикс24 Enterprise

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

Файл обмена из 1С ЗУП

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

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

VS Code + SSH FS плагин

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

Не зря в самом начале статьи была реплика про то, что Обмен инициирует всегда 1С. Для понимания архитектуры это был первый шаг, в модуле обмена на стороне 1С прописан адрес скрипта, выступающего узлом обмена в Б24 по умолчанию это /bitrix/admin/1c_intranet.php.

В нем, согласно правилам системы ничего не хранится. Подключается один из служебных скриптов системного модуля Интранет(intranet) /bitrix/modules/intranet/tools/1c_intranet.php.

Именно этот модуль нам дает программный интерфейс для организации работы с сотрудниками и структурой на портале. Модули в BitrixFramework занимают место модели в архитектуре MVC.

И именно для взаимодействия с ним написанный системный компонент intranet.users.import.1c вызывается из служебного скрипта при помощи метода IncludeComponent. Компоненты в BitrixFramework занимают место контроллера в архитектуре MVC. На вход компонента подается массив параметров, если не вдаваться в тонкости, то настройки из модуля Интранет, которые задаются в административной части корпортала.

Postman

При упоминании должности почтальона в наших широтах перед глазами встает образ скорее Печкина из Простоквашино, нежели герой Кевина Костнера из одноименного заокеанского фильма.

Но наш герой программа, адрес тоже известен: postman.com [ссылка удалена модератором].

Эпилог

Путем нехитрых манипуляций вычитки кода того самого системного компонента и экспериментов с программой-почтальоном за пару часов выработан полуавтоматических алгоритм, позволяющий подсунуть в Б24 файл выгрузки из 1С.

Что важно знать про обмен:

  • Протокол обмена GET

  • Нужно несколько последовательных запросов с разными параметрами

Если файл выгрузки 1С ЗУП в архиве, то нужно использовать галочку Использовать сжатие zip, если доступно в настройках модуля Интранет в админке. И наоборот если XML без архивной оболочки галочку нужно снять.

Первый запрос, авторизация по логину и паролю:

GET http://портал/bitrix/admin/1c_intranet.php?mode=checkauth

Возвращает PHPSESSID. Его необходимо в последующем передавать с каждым запросом.

Второй запрос:

GET http://портал/bitrix/admin/1c_intranet.php?mode=init

Подготавливает/вычищает папку для загрузки файла. Возвращает что-то вроде zip=no

file_limit=204800, если всё отработало.

Третий запрос:

GET http://портал /bitrix/admin/1c_intranet.php?mode=file&PHPSESSID=tmfi6bf67llse3akv7cv13m6h8&filename=import.xml

В случае успешной передачи и записи файла на сервер возвращает success. Будьте бдительны нужно передать в Body сам файл бинарно, и указать его название в GET-параметре filename.

Четвертый запрос:

GET http://портал /bitrix/admin/1c_intranet.php?mode=import&PHPSESSID=tmfi6bf67llse3akv7cv13m6h8&filename=import.xml

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

progress

Временныетаблицыудалены.

progress

Временныетаблицысозданы.

progress

Файлимпортапрочитан.

progress

Временныетаблицыпроиндексированы.

progress

Проверкаструктурыуспешнопройдена.

progress

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

progress

Обработано2из2пользователей.

progress

Загрузкапользователейзавершена.

progress

Обработано11из11записейграфикаотсутствий.

progress

Загрузкаграфикаотсутствийзавершена.

success

Импортуспешнозавершен.

Постскриптум

Наверняка, кто-то из комментаторов укажет на другие инструменты, или сможет поделиться похожим опытом. Возможно, кто-то проведет параллели с импортом каталога из УТ в БУС.

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

Подробнее..

Что нужно знать программисту про интеграцию сайта и 1С

11.06.2021 14:22:51 | Автор: admin

Нельзя просто взять и интегрировать сайт с 1С. (с) Народное творчество.

Цель написания поста изложить всю информацию по теме человеческим языком.

Интеграция сайта на 1С-Битрикс: Управление сайтом и 1С неисчерпаемый источник вопросов и проблем. На сайте идей для Битрикс в соответствующем разделе 16 страниц, на форуме про это больше 23 000 сообщений. В форме обращения в техподдержку Битрикса есть даже отдельный тип заявки Обмен с 1С.

Считается, что интеграция 1С и сайта на Битриксе должна работать из коробки. Самые простые функции действительно можно запустить за час-два. А вот на доработку обмена можно потратить и 10, и 100 часов.

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

В данной статье будет рассмотрена общая теория обмена между двумя IT-системами и два стандартных обмена между 1С и сайтом на 1С-Битрикс: обмен товарами и обмен справочниками.

Немного теории

Интеграция обмен информацией между двумя IT-системами. Иногда называют просто обмен. Определяется форматом данных, протоколом (стандартом) передачи данных, алгоритмом работы

Формат = как выглядят данные (например, XML, YML, JSON, CSV).

Протокол = как данные оказываются в другом месте (например, HTTP, SIP, SMTP, FTP).

Алгоритм = что при этом происходит. Представляется блок-схемой или диаграммой UML Activity.

Примеры интеграций:

  1. обмен товарами между самописной учетной системой и сайтом (протокол FTP, формат CSV);

  2. парсинг курсов валюты с сайта ЦБ РФ (протокол HTTP, формат XML);

  3. интеграция сайта с Яндекс.Маркет (протокол HTTP, формат YML).

Процедуру обмена можно разделить на 3 части:

  1. Экспорт данных из системы А в требуемый формат

  2. Передача данных

  3. Импорт данных требуемого формата в систему Б.

Часто весь обмен называют импорт (загрузка) и экспорт (выгрузка). Это не ошибка, по такой формулировкой говорящий показывает, точка зрения какой системы ему ближе. То, что для 1С экспорт товаров, для Битрикса импорт. В дальнейшем тексте статьи мы не будем использовать эти понятия, чтобы не порождать двусмысленности.

И еще одно важное уточнение. 1С в зависимости от контекста, это может быть компания-легенда ООО 1С, их разработка 1С:Предприятие или конкретная конфигурация (например, 1С: Управление торговлей или 1С:ERP Управление предприятием) с установленным модулем обмена с сайтом . В мире веб-разработки имеется в виду как раз последнее определение. В статье будет действовать аналогичное соглашение. Так же и с сайтом на платформе 1С-Битрикс: Управление сайтом обычно это просто Битрикс.

Резюме

Интеграция обмен данными между двумя системами.

Формат как выглядят данные.

Протокол как передаются данные.

1С софт.

Битрикс сайт.

Краткость сестра.

Стандартные возможности обмена 1С и Битрикса

Из коробки (без доработок программиста) работают 4 типа обмена:

  1. товары из 1С на сайт (тип catalog);

  2. справочники из 1С на сайт (тип reference);

  3. пользователей/контрагентов из 1С на сайт (тип sale);

  4. заказы (тип sale):

    1. из 1С на сайт;

    2. из сайта в 1С.

Протокол

Все взаимодействия между 1С и Битриксом проводятся по HTTP, синхронно. Т.о. 1С подобна браузеру, она открывает специальную страницу, отправляет данные (методами POST и GET) и получает текстовый ответ. Есть даже способ имитировать выгрузку из 1С браузером (и мы часто используем этот трюк во время разработки и отладки). Подробнее про отладку мы рассказали в предыдущей статье Типовые ошибки интеграции между 1С и 1С-Битрикс.

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

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

Формат

Данные передаются в двух форматах.

Первый формат текстовый для ответов сайта на запросы из 1С. Сайт выводит в первой строке ответа success, если завершил некую процедуру, progress, если продолжает ее выполнять и error или failure, если была ошибка. В последующих строках могут быть дополнительные данные (зависит от каждого конкретного запроса).

Второй формат CommerceML 2 . Основан на XML, в этом формате передаются товары, предложения, цены, склады, заказы и контрагенты (пользователи+платежные профили).

Алгоритм

Подготовка к обмену

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

Авторизация

Запрос

GET-параметры:

type=<тип обмена>

mode=checkauth

Basic access логин:

Логин сайта из настроек 1С

Basic access пароль:

Пароль сайта из настроек 1С

Ответ

Если успех:

success

<имя Cookie авторизации>

<значение Cookie авторизации>

sessid=<ID сессии>

<параметр1>=<значение1>

<параметр2>=<значение2>

...

Если ошибка:

failure

<текст ошибки>

Любой обмен начинается с авторизации 1С на сайте методом Basic access. В случае успеха сайт выводит success, имя и значение Cookie (которую будет проверять во всех последующих запросах), id сессии и прочие параметры (зависят от type типа обмена).

Возможные ошибки

Текст ошибки

Что делать

Ошибка авторизации. Неверное имя пользователя или пароль.

Проверить логин и пароль в Битрикс

У Вас нет прав для импорта каталога. Проверьте настройки компонента импорта.

Проверить права пользователя в Битрикс

Ошибка проверки источника запроса. Обновите модуль обмена или отключите проверку в настройках компонента

Обновить модуль обмена в 1С или выполнить php-код на сайте:

COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y");

COption::SetOptionString("sale", "secure_1c_exchange", "N");

Модуль Информационных блоков не установлен.

Проверить модуль iblock в Битрикс. Должен быть скачан и установлен

Включена смена идентификатора сессий. В файле подключения компонента обмена, до подключения пролога определите константу BX_SESSION_ID_CHANGE: define('BX_SESSION_ID_CHANGE', false);

Выполнить предложенное действие

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

Проверить настройку часовых поясов на веб-сервере и на сервере БД

Запрос настроек сайта

Запрос

GET-параметры:

type=<тип обмена>

mode=init

sessid=<ID сессии>

Cookie:

<имя Cookie авторизации>=<значение Cookie авторизации>

Ответ

Если успех:

zip=<yes|no>

file_limit=<число>

На этом шаге 1С узнает важные для обмена настройки сайта. Управление этими параметрами на сайте происходит на странице Интеграция с 1С в панели управления сайтом.

Параметр

Назначение

Возможные значения

zip

Сайт умеет распаковывать zip-архивы. Если yes 1С будет загружать файлы обмена в архивах, что сильно экономит время и трафик.

yes

no

file_limit

Максимально допустимый размер файла в байтах для передачи за один HTTP-запрос. Если системе 1С понадобится передать файл большего размера, они будут разбиты на несколько частей.

целое число >= 0

Получив эти параметры, 1С начинает формирование данных для передачи на сайт. Если zip=yes, то все файлы будут переданы как zip-архив. Иначе каждый выгружается по отдельности. Желательно включать всегда.

Возможные ошибки

Текст ошибки

Что делать

Ошибка инициализации временного каталога

При создании каталога для хранения файлов выгрузки произошла ошибка. Проверить права и путь для хранения файлов или закончилось место на диске. По умолчанию сайт складывает файлы в папку /upload/1c_catalog/.

Обмен товарами (1С -> Битрикс)

Данный тип обмена (type=catalog) используется для создания и обновления на сайте следующих сущностей:

  • инфоблок товаров;

  • UF-поля разделов в этом инфоблоке;

  • свойства элементов в этом инфоблоке;

  • инфоблок SKU;

  • типы цен;

  • склады;

  • разделы в инфоблоке товаров;

  • элементы в инфоблоке товаров (товары);

  • цены товаров;

  • наличие товаров по складам.

При обмене товарами 1С формирует XML-файлы, передает их на сайт и контролирует их обработку сайтом. 1С может передать 4 вида файлов:

В файлах с префиксом import_ разделы каталога, товары, свойства товаров.

В файлах с префиксом offers_ SKU.

В файлах с префиксом prices_ цены товаров и предложений.

В файлах с префиксом rests_ остатки товаров и предложений по складам.

На шаге авторизации в случае успеха сервер вернет дополнительный параметр timestamp (текущее время). 1С сохранит timestamp и передаст на сайт на последнем шаге обмена товарами.

Шаг 1. Передача файла (повторяющийся)

Запрос

GET-параметры:

type=catalog

mode=file

sessid=<ID сессии>

filename=<имя файла>

POST:

Содержимое файла в виде строки

Cookie:

<имя Cookie>=<значение Cookie>

Ответ

Если успех:

success

Если ошибка:

failure

<текст ошибки>

Шаг может выполняется несколько раз. Каждый файл выгружается частями не более file_limit байт (см. предыдущий шаг) в бинарном виде через сырой POST-запрос. Сайт создает файл, если его нет. Имя файла берет из GET-параметра filename и дописывает в него переданный контент. Так продолжается до тех пор, пока 1С не передаст все части этого файла.

Возможные ошибки

Текст ошибки

Что делать

Ошибка чтения HTTP данных

Проверить сетевое соединение между сайтом и 1С.

Ошибка открытия файла <имя файла> для записи

Проверить права на файл и папку файла у пользователя apache, под которым работает Битрикс.

Ошибка записи в файл <имя файла>

Проверить права на файл и папку файла у пользователя apache, под которым работает Битрикс.

Шаг 2. Основной

Запрос

GET-параметры:

type=<тип обмена>

mode=import

sessid=<ID сессии>

filename=<имя файла>

Cookie:

<имя Cookie>=<значение Cookie>

Ответ

Если импорт завершен:

success

Если импорт продолжается:

progress

<текущий статус>

Если ошибка:

failure

<текст ошибки>

Этот шаг особенный. Файл уже целиком загружен на сайт и Битрикс готов его обработать. Его обработка может состоять из 11 более мелких операций, о которых 1С ничего не знает. Поэтому в параметре GET приходит mode=import (один и тот же запрос!), но сайт выполняет совершенно разные операции. Текущий прогресс Битрикс сохраняет в сессии в переменной $_SESSION[BX_CML2_IMPORT][NS]. Например, узел STEP в этом массиве отвечает как раз за номер внутренней операции импорта.

Шаг 2.1 Распаковка архива (повторяющийся, необязательный)

Ответ

Если файл распакован:

progress

Идет распаковка архива

Если файл распаковывается:

progress

Распаковка архива завершена

Если ошибка:

failure

<текст ошибки>

Шаг исполняется, только если 1С передала файл в формате ZIP. Распаковка происходит в той же директории, где лежат все файлы обмена товарами (по умолчанию /upload/1c_catalog/). Эта операция не нумеруется внутри Битрикса (значение STEP в сессии не изменяется).

Возможные ошибки

Текст ошибки

Что делать

Ошибка распаковки архива

Проверьте работоспособность функции PHP zip_open и расширение Zip . Если все корректно скачайте архив с сайта и проверьте его корректность вручную.

Шаг 2.2 Удаление временных таблиц

Ответ

Если успех:

progress

Временные таблицы удалены

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

0

Работать напрямую с файлом XML (тем более, если он большой) неудобно и неэффективно. Поэтому все данные прочитываются во временную таблицу b_xml_tree. На этом подготовительном шаге таблица b_xml_tree, если она существует, удаляется.

Шаг 2.3 Создание временных таблиц

Ответ

Если успех:

progress

Временные таблицы созданы

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

1

Таблица b_xml_tree создается. Если объявлена PHP константа BX_XML_CREATE_INDEXES_IMMEDIATELY, таблица сразу же индексируется. В конце этого шага Битрикс испускает событие OnBeforeCatalogImport1C .

Возможные ошибки

Текст ошибки

Что делать

Ошибка создания временных таблиц

Проверить права и подключение СУБД.

Шаг 2.4 Загрузка файла во временную таблицу (повторяющийся)

Ответ

Если файл читается:

progress

Обработано <число>% файла

Если файл прочитан:

progress

Файл импорта прочитан

Если ошибка:

failure

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

2

Битрикс шаг за шагом начинает читать переданный из 1С файл, добавляя записи в таблицу b_xml_tree. Чтобы избежать проблем с временем исполнения, процесс происходит пошагово. Управление продолжительностью шага происходит на странице Интеграция с 1С в панели управления сайтом.

Возможные ошибки

Текст ошибки

Что делать

Ошибка открытия файла импорта

Проверить доступ к файлу

Шаг 2.5 Индексация временных таблиц

Ответ

Если успех:

progress

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

Если ошибка:

failure

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

3

Для повышения скорости работы импорта таблица b_xml_tree индексируется после прочтения файла.

Возможные ошибки

Текст ошибки

Что делать

Ошибка создания индекса для временных таблиц

Возможная причина: проблемы с СУБД, правами в ней или подключением.

Шаг 2.6 Импорт метаданных

Ответ

Если успех:

progress

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

Если ошибка:

failure

Ошибка импорта метаданных

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

4

На этом шаге создаются или обновляются следующие данные:

  1. Инфоблоки товаров и SKU

  2. Служебные свойства каталога (с префиксом CML2_: CML2_BAR_CODE, CML2_ARTICLE, CML2_ATTRIBUTES)

  3. Торговый каталог

  4. Свойства инфоблоков

  5. UF-поля разделов инфоблоков

  6. Типы цен

  7. Склады

  8. Единицы измерения

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

Возможные ошибки

Текст ошибки

Что делать

Отсутствует модуль Торговый каталог. Импорт торговых предложений и цен невозможен

Пояснения не требуются

Ошибка создания типа информационных блоков

После этого сообщения следует текст ошибки API, который пояснит причину ошибки.

Ошибка добавления новой единицы измерения (код единицы: <код>)

Текст ошибки Битрикс не выведет, необходимо разобрать XML файл самостоятельно и найти причину ошибки.

Количество импортированных складов превышает разрешенное для данной редакции

Пояснения не требуются

Ошибка импорта пользовательского свойства (xml_id: <код>)

Проверить параметры пользовательского свойства

Название справочника должно начинаться с буквы и состоять только из латинских букв и цифр.

Пояснения не требуются

В выгрузке настроены цены с одинаковым названием. Продолжение обмена невозможно.

Пояснения не требуются

В редакции Малый Бизнес нет возможности иметь более одного типа цены. Настройте выгрузку из 1С или перейдите на другую редакцию БУС.

Пояснения не требуются

Шаг 2.7 Импорт разделов каталога

Ответ

Если успех:

progress

Группы импортированы

Если ошибка:

failure

Ошибка импорта метаданных

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

5

На этом шаге в инфоблоке создаются и обновляются все разделы каталога, которые были в XML файле. Сопоставление разделов из XML-файла и в БД происходит по XML_ID.

Если на сайте нет раздела с XML_ID из файла, он создается. Если есть, то выполняется сравнение полей из XML файла с аналогичными полями в БД. Если изменения нет, то Битрикс только обновляет поле TIMESTAMP_X и пропускает раздел. Если изменения есть происходит полноценное обновление. Это происходит независимо от настроек сайта.

Для экономии ресурсов сервера добавление разделов происходит без пересчета дерева (речь о полях LEFT_MARGIN и RIGHT_MARGIN).

Возможные ошибки

Так как импорт разделов не пошаговый, при обмене большом дереве разделов на сайте может возникать ошибка превышения времени исполнения. Решения три.

  1. Увеличить время исполнения на странице Интеграция с 1С и в настройках сервера (nginx).

  2. Доработать 1С, чтобы ошибки на этом этапе игнорировались пока не будет получен ответ progress.

  3. Повторить всю выгрузку несколько раз.

Объясним, как поможет повтор шага или всей выгрузки. Допустим, в XML-файле и на сайте 20001 раздел. Пусть за один проход Битрикс успевает импортировать только 10000 разделов.

Обмена/шага

Пропущено т.к. нет изменений

Обработано

Ответ

1

0

10000

Ошибка сервера

2

10000

10000

Ошибка сервера

3

20000

1

progress

Группы импортированы

Битрикс каждый раз обрабатывает столько разделов, сколько успевает. При повторении выгрузки первые 10000 разделов он пропустит (обновит только TIMESTAMP_X) и обновит еще 10000 разделов, пока не наступил тайм-аут. И только на 3-ей выгрузке из 1С шаг будет завершен корректно.

Шаг 2.8 Пересчет дерева разделов

Ответ

Если успех:

progress

Деактивация/удаление групп завершено

Если ошибка:

failure

Ошибка импорта метаданных

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

6

На этом шаге Битрикс выполняет две задачи:

  1. Удаление/деактивация разделов (в старых версиях модуля обмена в 1С)

  2. Перестройка дерева разделов

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

В 2019 году 1С всегда выгружает этот атрибут. Если этого атрибута нет, Битрикс мог (и до сих пор может, просто этот код не используется) удалить, деактивировать старые разделы (или пропустить их). На выбор влиял параметр на странице Интеграция с 1С. Сейчас эта настройка уже ни на что не влияет и ни деактивации, ни удаления не происходит.

Также на этом шаге пересчитываются служебные поля LEFT_MARGIN и RIGHT_MARGIN всех разделов.

Шаг 2.9 Импорт товаров (повторяющийся)

Ответ

Если идет процесс импорта:

progress

Обработано <число> из <число> элементов

Если импорт завершен:

progress

Загрузка элементов завершена

Если ошибка:

failure

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

7

DONE

Ассоциативный массив, счетчик обработанных товаров и всех товаров в файле

На этом шаге в инфоблоке создаются и обновляются все товары, которые были в XML файле. Сопоставление товаров в файле товарам на сайте происходит по полю XML_ID.

Если на сайте нет товара с XML_ID из файла, он создается. Если есть, то выполняется сравнение полей из XML файла с аналогичными полями в БД.

Если изменения нет, и задан параметр Использовать контрольные суммы элементов для оптимизации обновления каталога, Битрикс только обновляет поле TIMESTAMP_X и пропускает товар. Иначе происходит полноценное обновление.

При импорте товара заполняется поле TMP_ID. Значение для этого поля хранится в узле <НомерВерсии>. Если узла нет Битрикс вычисляет контрольную сумму от всей информации о товаре из XML файла.

Возможные ошибки

Текст ошибки

Что делать

Временная таблица не существует

Ошибка возникает если с сайтом работает несколько 1С или одна 1С присылает несколько запросов одновременно. В одном потоке выполняется шаг 4.9, а другой запустил шаг 4.2.

Шаг 2.10 Деактивация/удаление товаров (повторяющийся)

Ответ

Если идет обработка:

progress

Обработано <число> из <число> элементов

Если обработка завершена:

progress

Деактивация/Удаление элементов завершены

Если ошибка:

failure

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

8

DONE

Ассоциативный массив, счетчик обработанных товаров и всех товаров в файле

На этом шаге раньше (как и на шаге 2.8 Пересчет дерева разделов ) Битрикс проводил чистку товаров. Чистка товаров происходила только если в узле Классификатор XML файла не было пометки СодержитТолькоИзменения="true" (старый формат выгрузки). Есть аналогичная настройка для выбора, что делать с товарами.

В 2019 году на этом шаге ничего не происходит.

Шаг 2.11 Завершение импорта

Ответ

Если успех:

success

Импорт успешно завершен

Если ошибка:

failure

<текст ошибки>

Сессия ($_SESSION[BX_CML2_IMPORT][NS])

STEP

9

Служебный шаг. Обработки данных нет, только испускается событие OnSuccessCatalogImport1C .

Шаг 3. Деактивация старых данных

Запрос

GET-параметры:

type=<тип обмена>

mode=deactivate

sessid=<ID сессии>

timestamp=<время на сервере>

Cookie:

<имя Cookie>=<значение Cookie>

Ответ

Если успех:

success

Деактивация элементов завершена

Если ошибка:

failure

Ошибка деактивации элементов

На этом шаге в 2019 году Битрикс деактивирует все товары и разделы каталога, не затронутые в текущей сессии. Для этого время последнего изменения сравнивается с timestamp, который передает 1С время начала текущей сессии, полученное на шаге авторизации.

Напомним, что эти настройки в панели управления сайта сейчас ни на что не влияют (всегда происходит деактивация):

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

Шаг 4. Завершение импорта

Запрос

GET-параметры:

type=<тип обмена>

mode=complete

sessid=<ID сессии>

Cookie:

<имя Cookie>=<значение Cookie>

Ответ

Если успех:

success

Завершение процедуры импорта

Если ошибка:

failure

<текст ошибки>

Служебный шаг. Обработки данных нет, только испускается недокументированное событие модуля catalog OnCompleteCatalogImport1C. Аргументы обработчика аналогичны обработчикам события OnSuccessCatalogImport1C , возвращаемого значения нет.

Обмен справочниками (1С -> Битрикс)

Данный тип обмена (type=reference) используется для создания и обновления на сайте HL-блоков. Этот тип намного короче чем обмен товарами и повторяет многие из его шагов.

Часто обмен справочниками простой и быстрый способ расширить стандартные функции обмена.

Шаг 1. Передача файла (повторяющийся)

см. аналогичный шаг обмена товарами , (отличается только mode, в данном типе обмена mode=reference).

Шаг 2. Основной

Запрос

GET-параметры:

type=reference

mode=import

sessid=<ID сессии>

Cookie:

<имя Cookie>=<значение Cookie>

Шаг 2.1 Распаковка архива (повторяющийся, необязательный)

см. аналогичный шаг обмена товарами .

Шаг 2.2 Подготовка справочника

Ответ

Если успех:

progress

Найден или создан справочник. Код справочника: <ID>

Если ошибка:

failure

<текст ошибки>

На этом шаге Битрикс создает HL-блок (если не существует) и все UF-поля. В начале шага испускается событие модуля catalog OnBeforeCatalogImportHL. Событие недокументированное, в обработчики передаются массив параметров компонента и путь к XML-файлу. Обработчик может вызвать ошибку и вернуть произвольное сообщение.

Важно знать следующие особенности импорта справочников:

  • 1С не может удалить справочник или поле, только создать;

  • 1С может создать только поля следующих типов: Строка, Булево, Дата, Число;

  • все поля, создаваемые 1С будут одиночными, необязательными, скрытыми в фильтре, показанными и редактируемыми в таблице;

  • Битрикс автоматически создает поля: UF_NAME, UF_XML_ID, UF_VERSION, UF_DESCRIPTION.

Возможные ошибки

Текст ошибки

Что делать

Ошибка при создании поля в справочнике <Текст ошибки>

Изучить текст и исправить в 1С или на сайте

Ошибка при создании справочника <Текст ошибки>

Изучить текст и исправить в 1С или на сайте

Ошибка разбора XML. Код ошибки: <Код ошибки>

Расшифровать код и исправить в 1С или на сайте

Расшифровка кодов ошибок.

Код

Объяснение

10

Неизвестная ошибка парсинга XML файла

20

Невалидный XML файл

110

В XML файле отсутствует или пустой узел <Ид> справочника

120

В XML файле отсутствует или пустой узел <Наименование> справочника

210

Во время импорта UF-полей не был найден higloadblock

220

В XML файле отсутствует или пустой узел <Ид> в <Реквизит>

230

В XML файле отсутствует или пустой узел <Наименование> в <Реквизит>

240

Неизвестный <ТипЗначений> в узле <Реквизит> (допустимы только: Строка, Булево, Дата, Число)

250

Неизвестная ошибка при создании UF-поля highload блока

310

Во время элементов справочника не был найден higloadblock

320

В XML файле отсутствует или пустой узел <Ид> в <ЭлементСправочника>

330

В XML файле отсутствует или пустой узел <ЗначениеРеквизита> в <ЗначенияРеквизитов> в <ЭлементСправочника>

Шаг 2.3 Импорт элементов (повторяющийся)

Ответ

Если импорт завершен:

success

Импорт успешно завершен

Если импорт в процессе:

progress

Импортировано элементов: <число>

Если ошибка:

failure

<текст ошибки>

На этом шаге Битрикс импортирует все элементы HL-блока.

Если выгрузка была полной, Битрикс удаляет все элементы HL-блока, у которых значение поля UF_VERSION не начинается с <ID текущей сессии> + #

В конце шага Битрикс испускает событие модуля catalog OnSuccessCatalogImportHL. Аргументы массив параметров компонента и путь к файлу.

Возможные ошибки

Аналогичны ошибкам на предыдущем шаге.

Формат файлов

Формат файла обмена товарами

Формат файла обмена предложениями

Формат файла обмена ценами товаров и предложений

pasted image 0 (35).pngpasted image 0 (35).png

Формат файла обмена остатками товаров и предложений

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

Поясним некоторые места этого XML.

  • Узел <Ид>

    • Значение становится названием сущности (после транслитерации).

    • С префиксом b_ становится названием таблицы (после транслитерации).

  • Узел <Наименование> Не используется. Вообще. Но если узла не будет в файле, Битрикс выдаст ошибку (sic!)

  • Каждый <Реквизит> описывается тремя узлами:

    • <Ид>

      • Значение становится XML ID поля

      • С префиксом UF_ становится кодом поля

    • <Наименование>

      • Значение становится названием UF-поля.

    • <ТипЗначений>

      • 4 допустимых значения: Строка, Булево, Дата, Число

  • Каждый <ЭлементСправочника> описывается полями:

  • <Ид>

    • Становится значением поля UF_XML_ID

  • <НомерВерсии>

    • C префиксом <ID текущей сессии> + # становится значением поля UF_VERSION

  • <ЗначенияРеквизитов>

    • Реквизит Код

      • Становится значением поля UF_NAME

    • Реквизит Наименование

      • Становится значением поля UF_DESCRIPTION

    • Реквизит ПометкаУдаления

      • Не используется

    • Прочие реквизиты

      • Поля типа Дата представлены в формате YYYY-MM-DD HH:MI:SS.

      • Поля типа Булево представлены строками true или false (или пустой строкой).

Как дорабатывать обмен?

Все запросы (при стандартном обмене) 1С присылает на служебную страницу /bitrix/admin/1c_exchange.php. Но если заглянуть в файл, выяснится что вся логика скрыта в недрах модуля Торговый каталог в файле /bitrix/modules/sale/admin/1c_exchange.php. Эти страницу нельзя изменять, но можно скопировать (обычно мы копируем в /bitrix/admin/1c_exchange_custom.php) и изменить адрес в 1С.

На этой странице, в зависимости от переданных GET-параметров (совсем как комплексные компоненты в режиме не-ЧПУ) подключаются разные простые компоненты. Компоненты без шаблонов.

Значительная часть логики вынесена из этих компонентов в классы. Связь видов обмена, GET-параметров, компонентов и основных классов приведена ниже в таблице.

Тип данных

GET[type]

Компонент

Класс с логикой

Путь к классу

Заказы, контрагенты

sale

bitrix:sale.export.1c

\CSaleOrderLoader

/bitrix/modules/sale/general/order_loader.php

Товары, предложения, склады, цены, наличие

catalog

bitrix:catalog.import.1c

\CIBlockCMLImport

/bitrix/modules/iblock/classes/general/cml2.php

Справочники

reference

bitrix:catalog.import.hl

\CBitrixCatalogImportHl

В папке с компонентом

Существует 3 принципиально разных способа доработать обмен с 1С:

  1. Не трогать стандартный обмен, использовать обработчики событий.

  2. Кастомизировать файлы обмена на стороне сайта и доработать по требованиям

  3. Выгружать нужные данные как справочники и обрабатывать самостоятельно.

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

Второй способ реализуется так:

  1. Создать собственную страницу обмена. Обычно это /bitrix/admin/1c_exchange_custom.php.

  2. На эту страницу перенести код из /bitrix/modules/sale/admin/1c_exchange.php.

  3. Кастомизировать нужный компонент обмена и заменить вызов системного компонента на вызов собственного (например, bitrix:catalog.import.1c на intervolga:catalog.import.1c) на новой странице обмена.

  4. Может понадобиться изменение логики класса. Используйте наследование (например, класс \Intervolga\Custom\Exchange\Cml может быть наследником \CIBlockCMLImport и переопределять метод ImportElements).

После правок на сайте нужно изменить параметр Адрес сайта и путь до скрипта обмена в 1С. Имя пользователя и пароль одинаковые как для стандартного обмена, так и для доработанного.

Третий способ(через справочники) подходит, если у нужной сущности 1С совсем нет аналога на сайте или по каким-то причинам стандартный импорт совсем не годится. У модуля highloadblock есть все необходимые события (создание, редактирование, удаление) и для ненагруженных проектов это достаточно неплохое решение.

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

Отладка обмена отдельный больной вопрос. Обычно решается логированием всех происходящих в недрах Битрикса процессов. В ИНТЕРВОЛГЕ разработали свою систему логирования обмена, которая представляет весь процесс в виде диаграммы Гантта. На ней сразу видно, если идут одновременно 2 обмена или 1С не дожидается ответа и начинает слать новые запросы.

Заключение

Часто самой сложной задачей в процессе разработки является именно интеграция с 1С. Отчетливое понимание происходящих в Битриксе процессов необходимо для серьезных проектов.

Автор статьи: Анатолий Ерофеев.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru