CRM в облаках

Публикация № 1371545 29.01.21

Функциональные решения - Управление взаимоотношениями с клиентами (CRM)

Организация единой CRM-системы для группы компаний требует особого подхода к построению интерфейсов, продуманной архитектуры обмена данными, оптимизации интеграционных форматов и т.д. О том, как построить CRM-систему, используя 1С только как back-end для получения данных по HTTP-протоколу, рассказал инженер-программист ООО «Протон» Сергей Плоткин.

Наша компания «Протон» обслуживает сеть автодилеров. И у нашего бизнеса в какой-то момент возникла задача реализовать CRM-систему.

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

 

 

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

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

Поскольку у нас в подразделениях используется примерно 30 однотипных баз, 5 достаточно уникальных конфигураций, в которых работает более 1000 сотрудников, у нас появилась идея вытащить весь контур CRM в отдельную базу, чтобы она могла общаться по HTTP-протоколу с любым оборудованием – с любыми планшетами и т.д. – чтобы можно было отвязаться от ограничений 1С.

 

Преимущества и недостатки отделения контура CRM в отдельную базу

 

 

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

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

  • Также появляется независимость от учетного контура. Мы можем поменять свою учетную базу – сегодня мы работаем на Альфа-Авто, завтра поменяли на УТ, потом перешли на ERP – при этом CRM у нас остается одинаковым, мы его не меняем, он у нас как жил, так и живет.

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

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

  • Поскольку мы не используем стандартное поддержание сеанса 1С, а общаемся протоколами (HTTP, JSON и т.д.), то базу можно обновлять в любое время, даже с реструктуризацией. Максимальная проблема, которую вы получите – люди, которые в момент обновления отправляли запрос, получат плохой ответ. Все остальные, в принципе, даже не заметят, что произошло какое-то обновление.

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

Но у такого подхода есть и узкие места:

  • Самое слабое узкое место – это то, что все звонки и вся CRM-деятельность компании по клиентам теперь сведена в одно место. База падает – компания не может работать.

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

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

  • Также мы очень переживали, когда поняли, что не сможем пользоваться СКД в том виде, в котором привыкли. Согласитесь, что это удобно – написал запрос, как-то оформил его, отправил на клиент, базу обновил. А потом зашел, сохранил новый вариант. Причем, ты имеешь примерно те же самые возможности, что и в конфигураторе – группировки поменять, пользовательские поля добавить и т.д. Когда мы отказались от клиентской части 1С, соответственно, эти возможности тоже ушли

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

 

 

Какие возможности нам дает такой подход?

  • Всё общение между сервером и клиентом строится в связке HTTP-JSON, а значит выбор платформы для клиентской части уже не стоит. Один раз реализовав все методы, мы можем их передать на сайт, в мобильное приложение. Никаких дополнительных работ не требуется.

  • Также за счет того, что мы используем такой протокол, в качестве источников информации мы можем уже использовать любые базы – сейчас, все умеют общаться по HTTP и JSON. Уже не осталось разработок, где эти возможности не реализованы.

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

Угрозы:

  • Основная угроза – это сам принцип работы соединения по HTTP, потому что 1С на стороне сервера не знает, когда соединение разорвалось. Вы с клиента отправили запрос, сервер начал его выполнять и тут происходит какой-то разрыв – клиент получает ошибку, при этом сервер продолжает работать, у него все получается хорошо, а мы в результате получаем несогласованность данных.

  • И был неизвестен предел возможностей 1С – сколько 1С может выдержать в таком режиме? На данный момент нам тоже достоверно не известно, сколько она выдержит, но некоторыми данными я с вами поделюсь.

 

 

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

Сейчас в нашей базе 600 пользователей, из них одновременно работают примерно 320 человек. Соответственно, проведя небольшие математически изыскания, мы получим, что один пользователь в среднем создает 650-700 запросов в сутки. Это, согласитесь, очень мало.

Сам по себе блок CRM небольшой. В основном, он ориентирован на то, что люди звонят. Сколько звонков человек может выполнить в сутки? Рядовой менеджер, наверное, 50. Специалист Call-центра – 100. В целом нагрузка оказалась не такой большой, как мы предполагали.

 

 

Что по железу.

На слайде представлена наша архитектура – мы используем два выделенных сервера:

  • У сервера 1С в кластере 8 ядер, 24 Гб. На верхнем графике представлены показатели всего сервера целиком – не только rphost от 1С, но и самой операционной системы Windows и IIS. При этом потребление оперативной памяти редко бывает выше 40% – обычно нам хватает 7Гб оперативной памяти на все.

  • То же самое происходит в СУБД. В качестве СУБД мы используем PostgreSQL на Linux. Здесь уже выделено больше ядер и больше оперативной памяти, но при этом СУБД потребляет всего 5% выделенной мощности, а по оперативной памяти мы также получаем те же 7-8Гб.

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

 

Почему 1C удобно использовать в качестве back-end

 

 

От себя хотел бы отметить, почему мне понравилось работать с 1С в качестве Backend. Что мы имеем и почему это можно использовать?

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

  • Также вы сразу имеете готовые интерфейсы доступа к СУБД. Вам не нужно реализовывать так называемые «админки», у вас все уже сразу готово. Вот вам, пожалуйста, списки, регистры – хотите, добавляйте данные, хотите, редактируйте. Это затруднений не вызывает.

  • Также 1С относительно недавно, последние года 4 стали поддерживать полностью HTTP и JSON – не только POST-запросы, но и весь цикл RESTful API.

  • У 1С есть разнообразные способы доступа к данным – вы имеете готовые мобильные клиенты, интерфейсы oData. Не факт, что они вам потребуются, но они есть – другие языки и фреймворки таких возможностей не дают.

  • Хочется отметить кроссплатформенность разработки на 1С. Пока мы делали эту базу, мы успешно мигрировали с Windows и MS SQL на Linux+PostgreSQL. Там есть пара нюансов, но в целом процесс перехода не вызвал затруднений.

  • И также встроенный СКД – это очень мощный инструмент по анализу данных, причем довольно простой. Его просто освоить в отличие от, например, Power BI. Это его плюс.

 

Событийный обмен данными

 

 

Решение было принято. Нам потребовались данные. Для CRM требуется достаточно много данных, чтобы понимать, что происходит с клиентом.

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

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

Дальше мы физически разделили два события – событие создания и событие обновления информации:

  • при событии создания мы даем полный пакет со всеми идентификаторами;

  • а в дальнейшем при событии обновления нам достаточно передавать только полученный UUID и какой-то набор данных – чтобы сообщить системе о том, что у контрагента поменялось наименование, достаточно передать всего одно поле в формате JSON, где будет просто содержаться имя – это достаточно быстро и легко.

Немного о технологии.

  • При записи объекта мы проверяем, изменились ли те реквизиты, которые нам интересны. Если они изменились, мы их записываем в регистр сведений – это будет пакет, уже готовый к отправке. И сохраняем.

  • Дальше – раз в какой-то период (у нас это раз в 30 секунд) стартует регламентное задание, которое отправляет не больше 200 объектов. Оно отправляет все на сервер.

  • Из-за того, что при обновлении и получении данных мы передаем только идентификаторы, но не передаем ту информацию, по которой можно распознать контрагента, то получаем проблему – если контрагент не ушел (в нем не хватает данных, интересных для CRM), то по нему не уйдет ни один документ, потому что система не сможет распознать ту ссылку, которую мы передаем. По сути, получается остановка обмена. С одной стороны, это плохо. Но, с другой стороны, сотрудники стали оперативно реагировать, исправлять данные. Как пример, зачем нам контрагент, у которого нет номера телефона? Для учетной системы это – ссылка, по ней можно вести документацию, что-то продавать, но что с ней делать в CRM – мы ему позвонить не сможем, отправить email не сможем. Мы его, банально, найти не сможем. Поэтому используем такой подход. Мы отправляем данные на сервер, сервер проверяет – все ли его устраивает. Если его хоть что-то не устраивает, он отвергает данные – идите, разбирайтесь, выдавайте мне только чистые данные.

 

 

На что способен такой обмен? На графике представлена нагрузка по количеству объектов в сутки за месяц по нашим базам. То есть одна база одного бренда генерирует нагрузку в виде 10 тысяч объектов.

При этом сама пропускная способность такого обмена – где-то 20 тысяч объектов в час. Если вы копите больше 20 тысяч изменений за час, то вам такой обмен не подойдет.

 

 

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

  • Если в стандартной разработке мы пишем данные – открываем транзакцию, начинаем писать объекты, а потом что-то в конце проверяем и в зависимости от результата откатываем, то здесь уже такое не получится, потому что данные отправили в другую систему, транзакция разорвана. Безусловно, можно на клиенте(для CRM системы) открывать транзакцию, отправлять данные на сервер, и, если пришел плохой ответ, транзакцию откатывать. Но здесь вы рискуете тем, что из-за технических неполадок в виде прослойки веб-сервера, ваша транзакция просто растянется на какое-то неограниченное количество времени. И опять-таки, данные на сервере вы уже никак не откатите. Поэтому требуется более аккуратно продумывать всю логику работы, стараться избегать моментов, когда одновременно нужно записывать два набора данных – в одну и в другую систему.

  • Какой еще момент мы попробовали – мы стали использовать переиспользование сеансов. В 16 или 17 году 1С добавила возможность переиспользовать сеансы. Это когда вы подключаетесь по HTTP-сервису и попадаете в уже готовый сеанс – они не затухают в момент отключения, а продолжают работать. Мы включили переиспользование сеансов под одним единственным пользователем. И решили, что всю логику управления мы возьмем на себя, как программисты. Мы всем будем управлять сами. Какой плюс получили – все наши 320 пользователей живут всего в 10 сеансах. То есть одновременно на сервере крутится не больше 10 сеансов. Обычно 5 или 6. Это – существенный плюс. Но получился огромный минус. Так как сеанс выбирается произвольным образом, то человек, который подключается, может оказаться в любом месте. Мы заранее не можем сказать, в каком сеансе он оказался. Соответственно, нам требуется его как-то идентифицировать. Тут мы решили использовать стандартную технологию токенов. Авторизуешься – получаешь токен, тебе предоставляютсяданные твоего окружения, записываются в регистр сведений. Потом, когда ты уже повторно подключаешься, ты передаешь свой токен, мы достаем это окружение и с ним уже работаем. Получилось довольно удобно.

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

  • Следующее, что выстрелило – это модуль с повторным использованием. Так как человек каждый раз попадает в разные сеансы, соответственно, каждый вызов повторного использования идет заново. И здесь нужно учитывать, что повторное использование можно использовать либо в том случае, когда контекст не зависит от конкретного пользователя – какие-то глобальные вычисления по системе, еще что-то. Либо же когда количество обращений, деленное на количество сеансов, которое существует в базе, будет каким-то существенным. С токенами получается вообще отлично.

  • Следующая задача, которую мы решали – мы хотели, чтобы токен не жил бесконечно, а примерно через час после последнего обращения прекращал свое действие, как во всех остальных системах. Самый простой способ – при любом обращении, по сути, обновлять данные в регистре сведений. Но здесь мы получаем проблему – каждое обращение к базе приводит к записи в регистре сведений. А от этого хотелось бы избавиться. И тут я хочу с вами поделиться небольшой хитростью, как из модулей повторного использования делать некие таймеры. Можно одним из параметров передавать некое число, которое завязано на время. В данном случае, мы беру текущую дату и делим на пять. Получается, что модуль повторного использования у меня вызывается только каждые пять секунд, потому что второй параметр меняется. Таким образом, я могу не пять раз записать «Изменить данные» токена, а всего лишь один, когда у меня сработал этот таймер. В нашем случае, мы записываем раз в 10 минут. Это не так критично.

  • Что еще стоит отметить? Так как мы используем одного-единственного пользователя, то у нас появляется проблема – ролевая модель не работает, роли выдавать некому, пользователь всегда один и тот же. Здесь обход такой – просто программно управлять доступом. Это возможно, это не очень сложно.

 

Сложности программирования без «ссылок»

 

 

Следующее, с чем пришлось столкнуться – когда мы данные передали, нам нужно ими дальше обмениваться, а для этого надо как-то передавать ссылки.

Самый простой вариант – передавать поле с GUID и наименованием.

После реализации где-то сотни таких пакетов нам захотелось большей универсализации. Поэтому мы предлагаем использовать ссылку ровно так же, как ее использует 1С – хранить имя таблицы, GUID, наименование и, возможно, еще какие-то данные. Поэтому все объекты в пакетах обмена у нас представлены именно ссылками. В лучшем случае, это будет GUID глобальной базы, в худшем случае – UUID локальной базы

 

 

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

Когда мы работаем в 1С, мы, наверное, вообще никогда не задумываемся, как 1С получает эти ссылки. Кто-нибудь использует в запросе конструкции ПРЕДСТАВЛЕНИЕ() или ПРЕДСТАВЛЕНИЕССЫЛКИ()? Согласитесь, вы это делаете не часто. Но если вы посмотрите верхний пример, где просто выполняется какая-то выборка РезультатЗапроса.Выгрузить(), то в момент, когда вы делаете ТЧ.Загрузить(), 1С сама формирует запрос, в котором получает все эти ссылки, которые она не распознала.

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

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

 

Клиент для нашей системы на 1С

 

 

Первый клиент, который мы реализовывали – это был клиент непосредственно на 1С. Мы организовывали общение между двумя 1С-ными системами и строили все свои интерфейсы в нашу родную учетную систему.

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

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

  • Также проблемой стала необходимость хранить ссылки на объекты чужой системы. Ссылка у нас представлена как Ссылка + Наименование. Самый простой способ – засунуть это все в реквизиты (Автомобиль и АвтомобильГУИ). Но таких реквизитов на форме будет сотня, потому что на каждый классический реквизит 1С вы получаете их дублирование – это не очень хорошо. Простым способом оказалось то, что мы храним в реквизите GUID, а в список выбора поля добавляем представление – 1С сама его отображает. При этом получается все красиво. Также те данные, которые необязательно должны быть интерактивными, их можно хранить просто в качестве декорации.

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

 

Визуализация данных

 

 

Также хотел бы поговорить про визуализацию данных.

Так как мы стали использовать HTTP-протокол, и 1С поддерживает такое поле, как ПолеHTMLДокумента, то – что можно делать? Можно рисовать странички, в 1С передавать просто ссылку на эти странички, 1С их сама отрисует.

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

При этом в 1С хранится просто ссылка – http://ДоменСайта/GUIDНовостнойЛенты.

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

При этом 1С достаточно хорошо справляется с визуализацией, сюда можно добавить интерактивность – открытие, разворачивание, движки работают. И это все на платформе 8.3.13, до переработки движка поля HTML и перехода на свой собственный внутренний браузер на основе webkit.

 

 

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

 

 

Отдельно хочется затронуть возможность прослушивания данных. В CRM все любят слушать звонки – правильно ли все сказали клиенту. Так вот, можно избежать подхода, когда мы получаем файлик и открываем его в условном Windows Media Player. С помощью HTML-поля можно прямо в 1С встроить полноценный проигрыватель.

В случае с Windows – это Windows Media Player, и на Linux тоже есть возможность проигрывания в браузере с помощью тега audio – все достаточно просто.

 

 

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

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

 

 

Хочется отметить календарь планирования – то, что реализовано в 1С.

Оказалось, довольно удобная штука для работы. Чаще всего мы работаем со списками – огромные большие данные, которые идут линейно. Реализовать их довольно сложно, потому что момента окончания списка прокрутки 1С не показывает.

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

Любое взаимодействие сотрудника с клиентом требует какого-то времени – хотя бы 5-10 минут. Отматываете на предыдущий день, смотрите, какая действительно у вас была активность. И такая визуализация гораздо удобнее, чем списки – даже разукрашенные. Буквально просмотреть, какое-то мнение составить о том, как часто к нам приходили клиенты, можно просто промотав эти календари. Большая красная куча неразобранная – сотрудник не работает, у него много задач. Это удобно.

 

Реализация отчетов в системе без СКД

 

 

И последнее, о чем я хотел бы рассказать, – это отчеты. На всех проектах, когда доходит до отчетов, начинаются проблемы, потому что оказывается, что не хватает каких-то данных, что-то не так хранится, и т.д.

В нашем случае, мы уперлись в то, что на сервере мы СКД формировать умеем, а на клиенте отображать не можем. Получился разрыв.

Соответственно, мы написали процедуру, которая передает табличный документ целиком между сервером и клиентом в 1С. А параметры расшифровки мы обрабатываем автоматически – превращаем их в наши внутренние ссылки и передаем на сторону клиента.

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

Сначала бизнес из-за этого переживал. А потом, когда мы стали строить замеры и смотреть, какие отчеты строятся, насколько они уникальны – оказалось, что отчеты, в лучшем случае, смотрят в конце месяца, когда надо посчитать зарплату и KPI, а в остальное время они никому не нужны. И огромная вариативность, о которой все говорят:”Что мы хотим перегруппировывать, как-то менять данные” – не нужна, никто этим не занимается. Вполне достаточно один раз посидеть, придумать какой-то универсальный вариант и его будет более чем достаточно.

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

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на INFOSTART MEETUP Kazan. Больше статей можно прочитать здесь.

Приглашаем всех принять участие в тематических митапах Инфостарта: infostart.ru/events/

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

Оставьте свое сообщение

См. также

Продуктовая разработка на 1С

Идеи и тренды в разработке Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

На 1С можно создавать онлайн-сервисы, не уступающие по функциональности другим современным продуктам. Чтобы начать это делать, нужно поменять подходы к разработке. О том, как быстро сделать свой продукт на 1С и выйти с ним на рынок, на конференции Infostart Event 2021 Post-Apocalypse рассказал CTO компании WiseAdvice Олег Филиппов.

28.10.2022    3139    comol    6    

34

1C MSSQL против Матрицы виртуализации – перезагрузка

Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Продолжение статьи https://infostart.ru/1c/articles/1686720/ о методах анализа производительности 1С + MS SQL в виртуальной среде. Заключительная развязка оказалась одновременно неожиданной и банальной в духе современной эпохи.

17.07.2022    1206    1CUnlimited    2    

14

1С + MS SQL против Матрицы виртуализации

Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

30.06.2022    2199    1CUnlimited    15    

15

Применение метода сегментирования в конфигурациях 1С (УТ, УНФ, КА, ERP)

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Бесплатно (free)

На практике мы часто сталкиваемся с тем, что необходимо клиентов или номенклатуру выделить или сгруппировать по каким-то признакам или правилам. И если в справочнике Номенклатура в 1С есть возможность объединять в группы и отображать по иерархии, то в справочнике Партнеры нет и такой возможности. Как же быть? Для элементов программы 1С в справочнике Номенклатура и справочнике Партнеры существует возможность добавлять их в сегменты. Что же это такое?

23.05.2022    4326    Koder_Line    1    

5

1С, Linux, облака…

Облачные сервисы, хостинг Мониторинг Платформа 1С v8.3 Бесплатно (free)

Архитектор проекта ENOTE Александр Кирилюк выступил на Infostart Meetup «1С и Linux». Александр поделился с коллегами, как начать жить в облаках, выбрать для этого подходящие ЦОДы и ПО и справиться как с распространенными, так и редкими проблемами Linux-систем.

05.10.2021    2658    ArtfulCrom    3    

21

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Перекуем Cloud на Oracle. Тестируем размещение 1С в облачной платформе Oracle Cloud.

Администрирование СУБД Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

02.09.2021    1632    capitan    22    

8

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    12587    comol    32    

108

Автоматизация логистики: кейс компании-поставщика зоотоваров

Управление взаимоотношениями с клиентами (CRM) Монитор заказов Оптовая торговля Управление услугами и сервисом Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Управленческий учет Бесплатно (free)

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

10.12.2020    2529    RAU IT    5    

8

Настройка телефонии 1С:УНФ, Манго

Телефония, SIP Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Управленческий учет Бесплатно (free)

Настраиваем телефонию Манго в 1С:Управление нашей фирмой. Как это работает и с чем предстоит столкнуться.

25.11.2020    5994    ogre2007    23    

6

Лиды в УНФ

Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Россия Управленческий учет Бесплатно (free)

Обзор функционала работы с лидами в 1С:Управление нашей фирмой.

15.10.2020    4058    user1269837    3    

4

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Договоры и соглашения в 1С:ERP

Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:ERP Управление предприятием 2 Управленческий учет Бесплатно (free)

В наше время трудно представить организацию, которая вступает во взаимоотношения с контрагентами, не оформив договор. Договор – юридический документ, который является гарантом выполнения сторонами взаимных обязательств. В системе 1С:ERP реализован очень удобный механизм, который позволяет отобразить ключевую информацию по договору, прикрепить скан-копию документа.

01.10.2020    19202    Koder_Line    10    

1

Модуль логиста: как обычная доработка стала тиражным решением

Управление взаимоотношениями с клиентами (CRM) Монитор заказов Розничная торговля Управление услугами и сервисом Оперативный учет Конфигурации 1cv8 Управленческий учет Бесплатно (free)

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

18.08.2020    5079    RAU IT    4    

22

Обзор облаков для 1С (часть 3)

Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

Завершаю цикл статей, посвященных тестированию облачных провайдеров с точки зрения производительности.

15.06.2020    14571    Any_One    53    

27

Обзор облаков для 1С (часть 2)

Облачные сервисы, хостинг Платформа 1С v8.3 Россия Бесплатно (free)

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

25.05.2020    11441    Any_One    59    

17

Обзор облаков для 1С

Облачные сервисы, хостинг Платформа 1С v8.3 Россия Бесплатно (free)

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

14.05.2020    37204    Any_One    37    

35

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    17454    uno-c    31    

72

Как настроить правильную техподдержку (helpdesk, service desk на коленке)

Управление взаимоотношениями с клиентами (CRM) Документооборот и делопроизводство (СЭД) Монитор заказов Учет рабочего времени ServiceDesk, HelpDesk Платформа 1С v8.3 Управленческий учет Бесплатно (free)

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

24.04.2019    37617    siddy    0    

59

Особенности разработки во Фреш

Облачные сервисы, хостинг Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

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

25.12.2018    17659    kwazi    60    

48

Вдохнем вторую жизнь во встроенный почтовый клиент из 1С:Управление торговлей 10.3

Email рассылки Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:Управление торговлей 10 Управленческий учет Бесплатно (free)

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

25.12.2018    10781    1c.pro.fun    9    

18

Воронка продаж в 1С: Управление торговлей v. 11. Рабочий вариант

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Бесплатно (free)

Мы предлагаем рассмотреть альтернативную методику построения воронки продаж с использованием штатных средств 1С: УТ v.11. Этот подход опирается на типовые документы и механизмы, но, вместе с тем, на наш взгляд, дает руководителю более качественный инструмент управления при меньшем объеме трудозатрат на поддержание актуальной информации.

05.10.2018    10238    ЕленаЧерепнева    2    

9

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Визуализация событий на временной шкале средствами "Поле HTML документа"

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

31.07.2018    35108    158    Plotks2017    27    

235

Интеграция Zimbra и 1С

Внешние источники данных Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 Россия Управленческий учет Бесплатно (free)

В публикации описывается способ интеграции 1С с почтовым сервером Zimbra, используя SOAP сервис. Рассматривать вопрос интеграции будем на примере бизнес задачи, из блока CRM. Реализации общей адресной книги(GAL-Global Address List) между сотрудниками. Сотрудники(компания) ведет весь учет в 1С, в том числе и элементы CRM, а Zimbra выступает лишь в роли почтового сервиса. Сделать данную публикация побудило отсутствие в интернете готовых примеров совместной работы 1С и Zimbra. Надеюсь, она поможет кому-либо сократить время на реализацию похожей задачи.

16.04.2018    13961    Гексагон    19    

25

Настройка Рарус: СофтФон с SIP телефонией на примере оператора Телфин

Управление взаимоотношениями с клиентами (CRM) Телефония, SIP Платформа 1С v8.3 1С:CRM ПРОФ, КОРП Бесплатно (free)

Описание настройки Рарус СофтФон для работы с SIP телефонией на примере конфигурации Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0.

26.02.2018    22121    de0nis    0    

8

Внутренние бизнес-процессы

Управление взаимоотношениями с клиентами (CRM) Анализ и проектирование ИТ-систем Бизнес-процессы Конфигурации 1cv8 Управленческий учет Бесплатно (free)

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

20.12.2017    17614    siddy    0    

22

Как мы визуализировали отдел продаж - графические отчеты для 1С

Управление взаимоотношениями с клиентами (CRM) Инструкции пользователю Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:CRM ПРОФ, КОРП Россия Управленческий учет Бесплатно (free)

После выполнения очередного проекта по автоматизации отдела продаж на 1С (конфигурация 1C:CRM 8, ред. 2.0) мы вдруг поняли, что чего-то не хватает. Странно: вроде и бизнес-процессы внедрены, и цифры в отчетах бьются, и заказчик в целом доволен. Но, реальным финалом проекта должна была стать визуализация данных по отделу продаж и установка TV-панели в кабинете у менеджеров по продажам.

05.09.2017    47196    alexrovich_ru    56    

121

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Обзор блока CRM в 1С:Управление торговлей 11

Инструкции пользователю Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Бесплатно (free)

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

24.05.2017    30556    alis112358    4    

11

Управление продажами в 1С:ERP

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Ценообразование, анализ цен Платформа 1С v8.3 1С:ERP Управление предприятием 2 Управленческий учет Бесплатно (free)

Вводный обучающий курс по использованию 1С:ERP для управления продажами от Внедренческого Центра Раздолье. Автор курса Андрей Мироненко.

09.01.2017    19200    1СERP    0    

9

Как организовать прогнозирование пробега автомобилей и приглашение на техническое обслуживание в Альфа-Авто

Управление взаимоотношениями с клиентами (CRM) Анализ и проектирование ИТ-систем Платформа 1С v8.3 Автомобили, автосервисы Россия Управленческий учет Бесплатно (free)

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

24.06.2016    62630    miavolas    25    

19

1С:ERP Управление предприятием 2. Процессные сделки

Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 Управленческий учет Бесплатно (free)

В продолжении рассказа о CRM подсистеме 1С:ERP Управление предприятием 2 я хочу рассказать, как в этой программе можно организовать работу по сделке с клиентом в виде бизнес-процесса, который последовательно расставляет задачи исполнителям, то есть ERP приобретает черты WorkFlow системы.

03.06.2016    17635    andironenko    1    

9

1С:ERP Управление предприятием 2. Создание сделки с клиентом

Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 Управленческий учет Бесплатно (free)

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

25.05.2016    20222    andironenko    1    

8

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

1С:ERP Управление предприятием 2. Сделки с клиентами

Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 Россия Управленческий учет Бесплатно (free)

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

20.05.2016    20031    andironenko    2    

17

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

Управление взаимоотношениями с клиентами (CRM) Розничная торговля Внедрение ИТ-системы Платформа 1С v8.3 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Управленческий учет Бесплатно (free)

В статье приводится опыт внедрения УТ11 в розничной сети. Приведено решение двух задач позаказного обеспечения розничной точки: 1. Перемещение товара со «Склада обеспечения» на «Розничный склад» по схеме «под заказ». 2. Закупка товара «под заказ клиента» на «Склад обеспечения» и дальнейшее его перемещение на «Розничный склад». Приведенное решение максимально использует типовую схему работы конфигурации Управление торговлей (11.1.9), но потребовало доработки ряда документов.

07.03.2015    32139    papche    16    

42

Инструкция по сегментации клиентов в 1C Рарус CRM 1.4-2.0 ПРОФ/КОРП

Управление взаимоотношениями с клиентами (CRM) Платформа 1С v8.3 1С:CRM ПРОФ, КОРП Россия Управленческий учет Бесплатно (free)

Если внимательно приглядеться к клиентской базе, можно заметить явные различия между клиентами фирмы. К примеру- по их специализации, масштабу бизнеса, месторасположению, частоте покупок, порядочности в расчетах и т.д. Отсюда можно сделать вывод, что если заранее сгруппировать клиентов в различные группы, можно более эффективно управлять взаимоотношениями – более адресно доводить информацию, устанавливать различные стандартны обслуживания. Например, нет смысла рассылать информацию о наличии автомобильных запчастей клиентам, которые не имеют ни одного автомобиля. => вывод- всех клиентов нужно обязательно разделять на группы

01.07.2014    21182    svcoopers    1    

4

Интеграция 1С:CRM и Asterisk с помощью PHP-AGI и веб-сервисов 1C

Управление взаимоотношениями с клиентами (CRM) Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 ИТ-компания Россия Бесплатно (free)

Давно зрел вопрос, можно ли встроить в диалплан Asterisk обращение к 1С:CRM системе для выполнения каких-либо управляющих действий и можно ли из 1С управлять IP АТС? Схема работы простейшая — при входящем звонке спросить у 1С что с ним делать, и если 1С ответила, то выполнить команду или продолжить стандартное выполнение маршрута вызова.

08.02.2013    34148    boffart    6    

18

Готовые переносы данных из различных конфигураций 1C Промо

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

Сложное ранжирование клиентов по классам

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Платформа 1С v8.3 1С:Управление торговлей 10 Россия Управленческий учет Бесплатно (free)

Пример реализации усложненной ABC-классификации клиентов. Данная статья написана для конфигурации "1С: Управление торговлей, ред. 10.3", но, я думаю, предложенный метод подойдет и для других конфигураций, имеющих механизм ABC-классификации.

28.03.2012    24947    charushkin    9    

24

Диалог с клиентом. Правда vs ложь.

Управление взаимоотношениями с клиентами (CRM) Управление проектом Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Россия Бесплатно (free)

Как оценить работу и стоит ли говорить всю правду клиенту? Где та золотая середина, которая поможет «настроить» крепкие деловые отношения исполнителя с заказчиком?

02.01.2012    27630    Yury1001    238    

235

Обслуживание 1С

Управление взаимоотношениями с клиентами (CRM) Управление проектом Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 ИТ-компания Россия Бесплатно (free)

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

19.10.2011    17358    sword444    15    

28