Добрый день.

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

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

Через командную строку так же не получается его запустить, т.к. его там нет.

Нравится

1 комментарий
Лучший ответ

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

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

Показать все комментарии

Добрый день. Прошу проконсультировать.

У некоторых контактов системы bpm'online может быть одна почта на несколько человек, то есть при написании пользователем на почту bpm создается обращение, пользователь сервиса выбирается наугад, какие пути решения можно найти, чтобы bpm правильно выбирал контакт? Сделать проверку какую то? Знаю что ящики должны быть персонализированы, но этот факт нельзя сменить.

Нравится

1 комментарий
Лучший ответ

Написать БП  настроенный на создание активности с типом email и направлением входящая. В нем анализировать поля (от кого и тд) и менять поле ответственного и/или привязывать почту к нужной задаче клиенту и тд.

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

Или найти последний открытый заказ (проблему, обращение) и тд и привязать туда.

Или найти ответственное лицо контакта и к нему.

Определить (лиц группу лиц) на которых отправлять письма отправителя которых неудалось установить.

Написать БП  настроенный на создание активности с типом email и направлением входящая. В нем анализировать поля (от кого и тд) и менять поле ответственного и/или привязывать почту к нужной задаче клиенту и тд.

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

Или найти последний открытый заказ (проблему, обращение) и тд и привязать туда.

Или найти ответственное лицо контакта и к нему.

Определить (лиц группу лиц) на которых отправлять письма отправителя которых неудалось установить.

Показать все комментарии

Коллеги, всем доброго дня!

Можно ли проводить настройку форм на портале силами аналитика? Если можно то как?

Видел что имеется 2 вида портальных лицензий: SELF-SERVICE PORTAL и  CUSTOMER PORTAL. У CUSTOMER PORTAL заявлена возможность создавать до 3 кастомных разделов на портале. 

Где можно почитать про это? Как это реализовывается? Нужна разработка или достаточно настройки аналитиком?

Нравится

3 комментария
Лучший ответ

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

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

Григорий Чех,

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

Шувалов Николай Юрьевич,

Значит нужно программировать, унаследовать и переопределить страничку обращения для портала или создать свою по аналогии. Аналогично с разделом. Для портала было огранчено количество объектов доступ к которым можно дать через портал (раньше было не больше 40) Подробности лучше запросить у тех поддержки!

Показать все комментарии

Добрый день!

Подскажите, может кто-то решал подобную задачу? Как в отчете (список) реализовать данные колонки (сколько времени обращение было в том или ином состоянии). 

Изображение удалено.

 

Нравится

1 комментарий
Лучший ответ

Вариантов много например так: создайте объект (по которой в дальнейшем можно и деталь сделать прикрепленную к обращению и отчет построить ) в которой будут колонки:

1) Id обращения (или сразу номер обращения для отчета)

2) код статуса (или сразу название статуса для отчета)

2) время установки статуса

3) время закрытия статуса

Создайте БП который по смене статуса будет вносить корректировки в выше созданый объект. А по созданию обращения делать первую запись. Таким образом при переходе в согласование например смотрите какой статус был раньше (в обращениях была колонка - приведущий статус) и для объекта меняете время закрытия преведущего статуса для текущего обращения. И вносите время установки для текущего статуса. Как то так.

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

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

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

 

 

 

 

Вариантов много например так: создайте объект (по которой в дальнейшем можно и деталь сделать прикрепленную к обращению и отчет построить ) в которой будут колонки:

1) Id обращения (или сразу номер обращения для отчета)

2) код статуса (или сразу название статуса для отчета)

2) время установки статуса

3) время закрытия статуса

Создайте БП который по смене статуса будет вносить корректировки в выше созданый объект. А по созданию обращения делать первую запись. Таким образом при переходе в согласование например смотрите какой статус был раньше (в обращениях была колонка - приведущий статус) и для объекта меняете время закрытия преведущего статуса для текущего обращения. И вносите время установки для текущего статуса. Как то так.

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

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

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

 

 

 

 

Показать все комментарии

Можно ли сбросить изображение корпоративной символики на первоначальный bpm'online?

Нравится

4 комментария
Лучший ответ

Для єтого нужно віполнить sql запрос 

SET DATEFORMAT ymd
SET ARITHABORT, ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, NOCOUNT ON
SET NUMERIC_ROUNDABORT, IMPLICIT_TRANSACTIONS, XACT_ABORT OFF
GO
 
EXEC(N'UPDATE SysSettingsValue SET ModifiedOn = ''2017-07-09 17:15:37.1080000'', CreatedOn = NULL, CreatedById = NULL, ModifiedById = ''410006e1-ca4e-4502-a9ec-e54d922d2c00'', SysSettingsId = ''709f0e87-f36c-1411-2684-001d6026abed'', SysAdminUnitId = ''a29a3ba5-4b0d-de11-9a51-005056c00008'', IsDef = CONVERT(bit, ''True''), TextValue = N'''', IntegerValue = 0, FloatValue = 0.00, BooleanValue = CONVERT(bit, ''False''), DateTimeValue = NULL, GuidValue = NULL, BinaryValue = 0x89504E470D0A1A0A0000000D49484452000000860000001C0806000000A484C7B40000001974455874536F6674776172650041646F626520496D616765526561647971C9653C0000038069545874584D4C3A636F6D2E61646F62652E786D7000000000003C3F787061636B657420626567696E3D22EFBBBF222069643D2257354D304D7043656869487A7265537A4E54637A6B633964223F3E203C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D2241646F626520584D5020436F726520352E362D633036372037392E3135373734372C20323031352F30332F33302D32333A34303A34322020202020202020223E203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E203C7264663A4465736372697074696F6E207264663A61626F75743D222220786D6C6E733A786D704D4D3D22687474703A2F2F6E732E61646F62652E636F6D2F7861702F312E302F6D6D2F2220786D6C6E733A73745265663D22687474703A2F2F6E732E61646F62652E636F6D2F7861702F312E302F73547970652F5265736F75726365526566232220786D6C6E733A786D703D22687474703A2F2F6E732E61646F62652E636F6D2F7861702F312E302F2220786D704D4D3A4F726967696E616C446F63756D656E7449443D22786D702E6469643A44423734433539374237324445343131393931344133443346433841454236452220786D704D4D3A446F63756D656E7449443D22786D702E6469643A32384334443633443843363331314535413442434139323439453334413132342220786D704D4D3A496E7374616E636549443D22786D702E6969643A32384334443633433843363331314535413442434139323439453334413132342220786D703A43726561746F72546F6F6C3D2241646F62652050686F746F73686F702043432032303135202857696E646F777329223E203C786D704D4D3A4465726976656446726F6D2073745265663A696E7374616E636549443D22786D702E6969643A32353938616132362D346334622D393434302D616532642D666165633264653163373064222073745265663A646F63756D656E7449443D2261646F62653A646F6369643A70686F746F73686F703A31326565643931362D373063622D313165352D623265362D383761343838663664316533222F3E203C2F7264663A4465736372697074696F6E3E203C2F7264663A5244463E203C2F783A786D706D6574613E203C3F787061636B657420656E643D2272223F3ECF9C56F8000007C34944415478DAEC5A0B944E5514FE8D3F8DF763500A0D91E5399256497AD1188FA2B27A8921427A501235A1A495C75A480A795494C74A1E23AF421E4B4645C2F2483283AC41C6908624FA3EBEBF75BADD7BFFFB8F6166D6BA7BAD6F9DFBDFBBCF3EFB9CB3CF3EFBECF307CBB51896190804F61E5EDCAF5EC0A7CB4618F73528EA02F530F67BF5EE7514838017F06E746EEA170594044AF85375D9A9B8C63E2A2F2A17E5CF8F4F7614F487204FD178601EF0AB6F183EFD4B882BD251A4E7598F8120A80C8322ED838780CD50FA6484C1551105579491016CCF868CA2286A01858134D44F73E0BB164515E00CB0037C99A16F2706C4D64471A5A5CA91626FA6EEB3C8B85A328A687228E7EF08F5653B6CAF14DB509FCF5CA2E0B51C8AEA0A07F6398D8D43DDD2EA6B31D5DD63E52900A6731AF4583C57C6F348A08DC568B28059C02BE03B68D310BF5D836F4DD4E8DB4022106DB0FD01CC015E0B45E11619935034049A00D46918F0A445C6F74037D4FF4175EE413114B8D9E061DDB9402FF0ED8761BC85E7572DCD25C03096A27E013C3F0CF4036EB4F01C05660283B592ADFA2E529FEBE3B9B8F4609F8B1A6C27B43D0CB42E0AD4D984228E13846FA97AD703053102EF3ED53B8E09C72619EF06E277033C8F02EEB0A8B41318009ECF5C0CA2117501E22DF1E56E8DF724D43FF71FC3005A02AB14292703EB0076A68E062F46DEA3192A6FB1E9642C504DF5AE07BE04560299B26CCAA8A8016F0119EB2D32C87B27701DF0055003582EA5B98A133811C0714D223B39553A2DD30AA5FC5632260E76C33D0DC7FD89F227A0829A5A02A36881F60AE1793AF0107016F80AE01192FC55F5BEBCE4DF6FA36FAA742DAD7AB581AF818D92C7096CCA31D6FB78D37B3818C6FF8EAB787797EA7FACFE2ED6225BA4792BA376AA4B7477D4FDC0C6289E434199F4820B80EFF44CAFDE4E5E99C698484F19344E273380639C1C7CD866119A84629A067D0E7EC78127CBC62827C98D36C1F7B53632C6025D80F9F85D1B3C476C644CD460D6C1F75D467D2A3E1FB8573C8D81C9F20C270DBE58191427B72F8CA03FBC06DB9EA2817851ACEF69F219'
+ N'E8B5818C0D167D5F463106E8CC85A23EA73B048C74C90DF07D93450657F512E06EA0BD2637BB7415406F301BE889B68E19ED70FE46A86F23F17B36BE6718DF5BA92FEC6B02BE6DB5999BF9D271073024E44E2AC9E2E2AD46A1A088ABFC41608BBC426F1BC54B680B6A67350AC93885E229790376F20D8701E060B6358D42F54F1AED720BE124F4B0BA68ADBED0D6D15A252784DBCFFB3094ED18086E3D5DE5119B5A8D42724EC88893E5390639E8FB00178CD5282463358AE1FAF9C8458615099AB48EA651A81D7AA8BEC02E6D6509C6A4D3334E50FCD5D26A14AABF4F6345634A429D0AE63E33060CBFB844CCA7B5179F7757362C5CE50BC1B7CA4506B7AD3EFAD9090A14B3619B05BEDD0EF5B74979D2580D881DAD54C9AD270063205F4FC3187BA91C05193BC3E8FBBCB68644E85BD2866D86DD62322859E50D3910730E720A8835160BF5B3A6F1E95180C1F974F06C76E9EB0179746EC389A6614CF7A0D852EDE5953148D5EC06C9C3918CFBFD7A5976631B96156144FCAEF25BB766AC093C18470A7044016773BD9EE241DF34EDF1851DF45D144644E8F453F6228D22CB3078274A33B2AA21BA4FE54C0F6DCC55D92CCA6874AB87413AAB934140418B953678ECE43A950D6CBEEDF52823238C9E4E544993F49B93678A50DFED61EAFE954327D4DDD93CFADE6AE9831B6DD3A92E2E147C1E0C3398261D705901E911CA88B1F996E9514676F303E52D2B39127DCBBB78B04B4D472F22683D5F1FDED26B9DB2C16C587568420ADA7C3BED5146A8BD42B998D48BC4B04EE7A2BE667E26D22418FB7A851180473C4891EC7F312E165CD6E3561013A177C849CA70F156E1F4CDC86729F633308E2CE581BAE900E1894231461908A8E8B14E9CCA5D36DFEA7A9451DFC8D65D6E4A5512AB0AFA5C2A427D7F0EE43F0AA5BB6B78F030050166726B4559CEE3E12AD6555693D9C71F6D58DA7A9051427908D2DA5C58455C35DFE878ED45DF68232FB02A1F1AC61A95F11E781B29DF33D2348C3EBAF872A32495D31CCED3ED21A36A18192FC9B5AD08A582738126AAECAF897723E63198F65E1DC129262FD1872A9FD1259F1B3DADF2F328C3A5337A9DA94C99DDCA793670217BC7287CB8CB997D8E2ED2EC647085F657C2282917078BA9E58D72AF935DFACC4CEE10057E03F2A151D04332DFC3241B6F53C72B7DEE34378F2B17F249D0386632EBF52E5D0998862A09C5CB9A3AB2A4369AD0AE76B7A3A2EE4AF8EC800CE6EE97C99078D9C49BC78EE2E32D6D4A2E0765BC385AADC1B809BF476B8B61B046AFC77B830EDA72FA2ABD9D5FA9ABF2189D80EA9A9B1485040C0DBAC833F28AA003AF1982C6608D45051E2379D89D6A97605164EB9699DCA4F881176E23ECE6845B16644CCB032B698FAEB4A9E713C0381B365E11F406EF827C6C14ECEB61F4F5363CBE13B89022B7CBE03251D739748B1C948B392501132080696D5EC1F31A9969E0835A49EBBC24C1E80920A3A602B65B0217AEF13365348B5DFEAC4385A38D649213DD2EBD8F87E1AB220FE7A62BFBD611FAF20EA8B9EAB0CF87B4C2525CFEAC13D2637F183D8E3BE8D2527911B33EBDD6479663718A3947618829FE797663837EB04F8FA1AFDC125BCB2B466B7EE90D979BF35B20272CD2F86F4169F3DF533EE55FF2FF25EE936F183EF986E1936F183E5D0AFA47800100EBF70302887CDF2D0000000049454E44AE426082, Position = 2147483647, ProcessListeners = 0 WHERE Id = ''a56ebc70-5813-e361-900c-00535d043266''')
GO

 

Откройте дизайнер системы. В группе [Настройка внешнего вида] щелкните по ссылке [Настройка корпоративной символики]. (Для открытия страницы настройки пользователь должен иметь доступ к системной операции “Изменения корпоративной символики” --"CanManageLogo").

Замените [Логотип на странице входа в систему] - Логотип, который будет отображаться на странице авторизации. (61x310 пикселей). Изображение сохраняется в системной настройке “Логотип компании” (LogoImage).

Григорий, спасибо за ответ, но я имел в виду, как вернуть первоначальное лого bpm'online?

Для єтого нужно віполнить sql запрос 

SET DATEFORMAT ymd
SET ARITHABORT, ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, NOCOUNT ON
SET NUMERIC_ROUNDABORT, IMPLICIT_TRANSACTIONS, XACT_ABORT OFF
GO
 
EXEC(N'UPDATE SysSettingsValue SET ModifiedOn = ''2017-07-09 17:15:37.1080000'', CreatedOn = NULL, CreatedById = NULL, ModifiedById = ''410006e1-ca4e-4502-a9ec-e54d922d2c00'', SysSettingsId = ''709f0e87-f36c-1411-2684-001d6026abed'', SysAdminUnitId = ''a29a3ba5-4b0d-de11-9a51-005056c00008'', IsDef = CONVERT(bit, ''True''), TextValue = N'''', IntegerValue = 0, FloatValue = 0.00, BooleanValue = CONVERT(bit, ''False''), DateTimeValue = NULL, GuidValue = NULL, BinaryValue = 0x89504E470D0A1A0A0000000D49484452000000860000001C0806000000A484C7B40000001974455874536F6674776172650041646F626520496D616765526561647971C9653C0000038069545874584D4C3A636F6D2E61646F62652E786D7000000000003C3F787061636B657420626567696E3D22EFBBBF222069643D2257354D304D7043656869487A7265537A4E54637A6B633964223F3E203C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D2241646F626520584D5020436F726520352E362D633036372037392E3135373734372C20323031352F30332F33302D32333A34303A34322020202020202020223E203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E203C7264663A4465736372697074696F6E207264663A61626F75743D222220786D6C6E733A786D704D4D3D22687474703A2F2F6E732E61646F62652E636F6D2F7861702F312E302F6D6D2F2220786D6C6E733A73745265663D22687474703A2F2F6E732E61646F62652E636F6D2F7861702F312E302F73547970652F5265736F75726365526566232220786D6C6E733A786D703D22687474703A2F2F6E732E61646F62652E636F6D2F7861702F312E302F2220786D704D4D3A4F726967696E616C446F63756D656E7449443D22786D702E6469643A44423734433539374237324445343131393931344133443346433841454236452220786D704D4D3A446F63756D656E7449443D22786D702E6469643A32384334443633443843363331314535413442434139323439453334413132342220786D704D4D3A496E7374616E636549443D22786D702E6969643A32384334443633433843363331314535413442434139323439453334413132342220786D703A43726561746F72546F6F6C3D2241646F62652050686F746F73686F702043432032303135202857696E646F777329223E203C786D704D4D3A4465726976656446726F6D2073745265663A696E7374616E636549443D22786D702E6969643A32353938616132362D346334622D393434302D616532642D666165633264653163373064222073745265663A646F63756D656E7449443D2261646F62653A646F6369643A70686F746F73686F703A31326565643931362D373063622D313165352D623265362D383761343838663664316533222F3E203C2F7264663A4465736372697074696F6E3E203C2F7264663A5244463E203C2F783A786D706D6574613E203C3F787061636B657420656E643D2272223F3ECF9C56F8000007C34944415478DAEC5A0B944E5514FE8D3F8DF763500A0D91E5399256497AD1188FA2B27A8921427A501235A1A495C75A480A795494C74A1E23AF421E4B4645C2F2483283AC41C6908624FA3EBEBF75BADD7BFFFB8F6166D6BA7BAD6F9DFBDFBBCF3EFB9CB3CF3EFBECF307CBB51896190804F61E5EDCAF5EC0A7CB4618F73528EA02F530F67BF5EE7514838017F06E746EEA170594044AF85375D9A9B8C63E2A2F2A17E5CF8F4F7614F487204FD178601EF0AB6F183EFD4B882BD251A4E7598F8120A80C8322ED838780CD50FA6484C1551105579491016CCF868CA2286A01858134D44F73E0BB164515E00CB0037C99A16F2706C4D64471A5A5CA91626FA6EEB3C8B85A328A687228E7EF08F5653B6CAF14DB509FCF5CA2E0B51C8AEA0A07F6398D8D43DDD2EA6B31D5DD63E52900A6731AF4583C57C6F348A08DC568B28059C02BE03B68D310BF5D836F4DD4E8DB4022106DB0FD01CC015E0B45E11619935034049A00D46918F0A445C6F74037D4FF4175EE413114B8D9E061DDB9402FF0ED8761BC85E7572DCD25C03096A27E013C3F0CF4036EB4F01C05660283B592ADFA2E529FEBE3B9B8F4609F8B1A6C27B43D0CB42E0AD4D984228E13846FA97AD703053102EF3ED53B8E09C72619EF06E277033C8F02EEB0A8B41318009ECF5C0CA2117501E22DF1E56E8DF724D43FF71FC3005A02AB14292703EB0076A68E062F46DEA3192A6FB1E9642C504DF5AE07BE04560299B26CCAA8A8016F0119EB2D32C87B27701DF0055003582EA5B98A133811C0714D223B39553A2DD30AA5FC5632260E76C33D0DC7FD89F227A0829A5A02A36881F60AE1793AF0107016F80AE01192FC55F5BEBCE4DF6FA36FAA742DAD7AB581AF818D92C7096CCA31D6FB78D37B3818C6FF8EAB787797EA7FACFE2ED6225BA4792BA376AA4B7477D4FDC0C6289E434199F4820B80EFF44CAFDE4E5E99C698484F19344E273380639C1C7CD866119A84629A067D0E7EC78127CBC62827C98D36C1F7B53632C6025D80F9F85D1B3C476C644CD460D6C1F75D467D2A3E1FB8573C8D81C9F20C270DBE58191427B72F8CA03FBC06DB9EA2817851ACEF69F219'
+ N'E8B5818C0D167D5F463106E8CC85A23EA73B048C74C90DF07D93450657F512E06EA0BD2637BB7415406F301BE889B68E19ED70FE46A86F23F17B36BE6718DF5BA92FEC6B02BE6DB5999BF9D271073024E44E2AC9E2E2AD46A1A088ABFC41608BBC426F1BC54B680B6A67350AC93885E229790376F20D8701E060B6358D42F54F1AED720BE124F4B0BA68ADBED0D6D15A252784DBCFFB3094ED18086E3D5DE5119B5A8D42724EC88893E5390639E8FB00178CD5282463358AE1FAF9C8458615099AB48EA651A81D7AA8BEC02E6D6509C6A4D3334E50FCD5D26A14AABF4F6345634A429D0AE63E33060CBFB844CCA7B5179F7757362C5CE50BC1B7CA4506B7AD3EFAD9090A14B3619B05BEDD0EF5B74979D2580D881DAD54C9AD270063205F4FC3187BA91C05193BC3E8FBBCB68644E85BD2866D86DD62322859E50D3910730E720A8835160BF5B3A6F1E95180C1F974F06C76E9EB0179746EC389A6614CF7A0D852EDE5953148D5EC06C9C3918CFBFD7A5976631B96156144FCAEF25BB766AC093C18470A7044016773BD9EE241DF34EDF1851DF45D144644E8F453F6228D22CB3078274A33B2AA21BA4FE54C0F6DCC55D92CCA6874AB87413AAB934140418B953678ECE43A950D6CBEEDF52823238C9E4E544993F49B93678A50DFED61EAFE954327D4DDD93CFADE6AE9831B6DD3A92E2E147C1E0C3398261D705901E911CA88B1F996E9514676F303E52D2B39127DCBBB78B04B4D472F22683D5F1FDED26B9DB2C16C587568420ADA7C3BED5146A8BD42B998D48BC4B04EE7A2BE667E26D22418FB7A851180473C4891EC7F312E165CD6E3561013A177C849CA70F156E1F4CDC86729F633308E2CE581BAE900E1894231461908A8E8B14E9CCA5D36DFEA7A9451DFC8D65D6E4A5512AB0AFA5C2A427D7F0EE43F0AA5BB6B78F030050166726B4559CEE3E12AD6555693D9C71F6D58DA7A9051427908D2DA5C58455C35DFE878ED45DF68232FB02A1F1AC61A95F11E781B29DF33D2348C3EBAF872A32495D31CCED3ED21A36A18192FC9B5AD08A582738126AAECAF897723E63198F65E1DC129262FD1872A9FD1259F1B3DADF2F328C3A5337A9DA94C99DDCA793670217BC7287CB8CB997D8E2ED2EC647085F657C2282917078BA9E58D72AF935DFACC4CEE10057E03F2A151D04332DFC3241B6F53C72B7DEE34378F2B17F249D0386632EBF52E5D0998862A09C5CB9A3AB2A4369AD0AE76B7A3A2EE4AF8EC800CE6EE97C99078D9C49BC78EE2E32D6D4A2E0765BC385AADC1B809BF476B8B61B046AFC77B830EDA72FA2ABD9D5FA9ABF2189D80EA9A9B1485040C0DBAC833F28AA003AF1982C6608D45051E2379D89D6A97605164EB9699DCA4F881176E23ECE6845B16644CCB032B698FAEB4A9E713C0381B365E11F406EF827C6C14ECEB61F4F5363CBE13B89022B7CBE03251D739748B1C948B392501132080696D5EC1F31A9969E0835A49EBBC24C1E80920A3A602B65B0217AEF13365348B5DFEAC4385A38D649213DD2EBD8F87E1AB220FE7A62BFBD611FAF20EA8B9EAB0CF87B4C2525CFEAC13D2637F183D8E3BE8D2527911B33EBDD6479663718A3947618829FE797663837EB04F8FA1AFDC125BCB2B466B7EE90D979BF35B20272CD2F86F4169F3DF533EE55FF2FF25EE936F183EF986E1936F183E5D0AFA47800100EBF70302887CDF2D0000000049454E44AE426082, Position = 2147483647, ProcessListeners = 0 WHERE Id = ''a56ebc70-5813-e361-900c-00535d043266''')
GO

 

Или просто создать демо-сайт, скачать картинку оттуда и загрузить себе.

Показать все комментарии

Добрый день!

Может кто сталкивался с подобной задачей:

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

Задача довольно интересная, надеюсь кто-то ее действительно решал.

Нравится

1 комментарий
Лучший ответ

Правильно разделять. Система позволяет добавлять несколько телефонов одного типа. Разделите и потом не будет проблем с поиском/объединением дублей,  IP телефонией и sms рассылками. 

Правильно разделять. Система позволяет добавлять несколько телефонов одного типа. Разделите и потом не будет проблем с поиском/объединением дублей,  IP телефонией и sms рассылками. 

Показать все комментарии

Добрый день!



Стал вопрос об обновлении реестра детали в конце работы БП. 



В чем суть:



1) На детали, в редактируемом реестре, изменяются значения (кол-во работ) или добавляется новая строка

2) БП ловит добавление/изменение и высчитывает сумму (кол-во работ * стоимость) и записывает это в поле, отображающееся в реестре детали



3) Требуется обновление этого реестра



И если первые 2 пункта выполняются на "ура" и без проблем, то с реализацией 3 пункта у меня появились проблемы. При этом хотелось бы выполнить все в одном БП, возможно поможет элемент процесса [Задание-сценарий]? Был бы благодарен за предоставленную помощь.

Нравится

7 комментариев
Лучший ответ

Опишу более подробно 2й варинат

1) в конце БП  добавить скрипт таск и в нем

//ваше сообщение
string sender = "MyBpFinish";
//Доп. информация
string messageText
// Публикация сообщения по WebSocket.
MsgChannelUtilities.PostMessageToAll(sender, messageText);

2) Создать замещающий клиентский модуль ,  задав родительский объект схему ClientMessageBridge

define("ClientMessageBridge", ["ConfigurationConstants"],
    function(ConfigurationConstants) {
        return {
            // Сообщения.
            messages: {
                //Имя сообщения.
                "MyBpFinish": {
                    // Тип сообщения — широковещательное, без указания конкретного подписчика.
                    "mode": Terrasoft.MessageMode.BROADCAST,
                    // Направление сообщения — публикация.
                    "direction": Terrasoft.MessageDirectionType.PUBLISH
                }
            },
            methods: {
                // Инициализация схемы.
                init: function() {
                    // Вызов родительского метода.
                    this.callParent(arguments);
                    // Добавление нового конфигурационного объекта в коллекцию конфигурационных объектов.
                    this.addMessageConfig({
                        // Имя сообщения, получаемого по WebSocket.
                        sender: "MyBpFinish",
                        // Имя сообщения с которым оно будет разослано внутри системы.
                        messageName: "MyBpFinish"
                    });
                },
                // Метод, выполняемый после публикации сообщения.
                afterPublishMessage: function(
                    // Имя сообщения с которым оно было разослано внутри системы.
                    sandboxMessageName,
                    // Содержимое сообщения.
                    webSocketBody,
                    // Результат отправки сообщения.
                    result,
                    // Конфигурационный объект рассылки сообщения.
                    publishConfig) {
                    if (sandboxMessageName === "MyBpFinish") {
                        var name = webSocketBody.name;
                        window.console.info("Опубликовано сообщение: " + sandboxMessageName +
                            ". Данные: name: " + name );
                    }
                }
            }
        };
    });

3) Подписаться на получение сообщений MyBpFinish в любой клиентской схеме

 

define("AccountSectionV2", [],
    function(BusinessRuleModule, ConfigurationConstants) {
        return {
            //entitySchemaName: "Contact",
            messages: {
                //Имя сообщения.
                "MyBpFinish": {
                    "mode": Terrasoft.MessageMode.BROADCAST,
                    "direction": Terrasoft.MessageDirectionType.SUBSCRIBE
                }
            },
            methods: {
                // Инициализация схемы.
                init: function() {
                    this.callParent(arguments);
                    this.sandbox.subscribe("MyBpFinish", this.onMyBpFinish, this);
                },
                // Обработчик события получения сообщения NewUserSet.
                onMyBpFinish: function(args) {
                    //Обновим грид
                    this.refreshGridData();
                }
 
            }
        };
    });

 

При запуске БП передавай callback который вызовется после отработки БП

Примерно так

 

ProcessModuleUtilities.executeProcess({
	"sysProcessName": ProcessName,
	"parameters": {
		UsrParam1: paramValue
	},
	"callback": this.greadReloadProcessCallback(),
	scope: this
}

 

Григорий Чех,

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

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

Посмотри действие процесса Обновить запись в реестре

Второй вариант отправить по вєб сокету сообщение и подписатся в  реестре на него и по приходу сообщения обновить реестр.

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

 

 

 

 

Опишу более подробно 2й варинат

1) в конце БП  добавить скрипт таск и в нем

//ваше сообщение
string sender = "MyBpFinish";
//Доп. информация
string messageText
// Публикация сообщения по WebSocket.
MsgChannelUtilities.PostMessageToAll(sender, messageText);

2) Создать замещающий клиентский модуль ,  задав родительский объект схему ClientMessageBridge

define("ClientMessageBridge", ["ConfigurationConstants"],
    function(ConfigurationConstants) {
        return {
            // Сообщения.
            messages: {
                //Имя сообщения.
                "MyBpFinish": {
                    // Тип сообщения — широковещательное, без указания конкретного подписчика.
                    "mode": Terrasoft.MessageMode.BROADCAST,
                    // Направление сообщения — публикация.
                    "direction": Terrasoft.MessageDirectionType.PUBLISH
                }
            },
            methods: {
                // Инициализация схемы.
                init: function() {
                    // Вызов родительского метода.
                    this.callParent(arguments);
                    // Добавление нового конфигурационного объекта в коллекцию конфигурационных объектов.
                    this.addMessageConfig({
                        // Имя сообщения, получаемого по WebSocket.
                        sender: "MyBpFinish",
                        // Имя сообщения с которым оно будет разослано внутри системы.
                        messageName: "MyBpFinish"
                    });
                },
                // Метод, выполняемый после публикации сообщения.
                afterPublishMessage: function(
                    // Имя сообщения с которым оно было разослано внутри системы.
                    sandboxMessageName,
                    // Содержимое сообщения.
                    webSocketBody,
                    // Результат отправки сообщения.
                    result,
                    // Конфигурационный объект рассылки сообщения.
                    publishConfig) {
                    if (sandboxMessageName === "MyBpFinish") {
                        var name = webSocketBody.name;
                        window.console.info("Опубликовано сообщение: " + sandboxMessageName +
                            ". Данные: name: " + name );
                    }
                }
            }
        };
    });

3) Подписаться на получение сообщений MyBpFinish в любой клиентской схеме

 

define("AccountSectionV2", [],
    function(BusinessRuleModule, ConfigurationConstants) {
        return {
            //entitySchemaName: "Contact",
            messages: {
                //Имя сообщения.
                "MyBpFinish": {
                    "mode": Terrasoft.MessageMode.BROADCAST,
                    "direction": Terrasoft.MessageDirectionType.SUBSCRIBE
                }
            },
            methods: {
                // Инициализация схемы.
                init: function() {
                    this.callParent(arguments);
                    this.sandbox.subscribe("MyBpFinish", this.onMyBpFinish, this);
                },
                // Обработчик события получения сообщения NewUserSet.
                onMyBpFinish: function(args) {
                    //Обновим грид
                    this.refreshGridData();
                }
 
            }
        };
    });

 

Григорий Чех 

добрый день! сделал все по вашему совету, коды один в один но почему то деталь не обновляется( что может быть? где искать? в консоле ошибка на 

Показать все комментарии

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



В примере академии есть описание действия по реализации этого: https://academy.terrasoft.ru/documents/technic-sdk/7-12/mnozhestvennoe-…;



Но я не до конца понимаю концовку:

            getMultiSelectLookupConfig: function() {
                return {
                    // Корневая схема — [Продажа].
                    rootEntitySchemaName: "Opportunity",
                    // Колонка корневой схемы.
                    rootColumnName: "Opportunity",
                    // Связанная схема — [Контакт].
                    relatedEntitySchemaName: "Contact",
                    // Колонка связанной схемы.
                    relatedColumnName: "Contact"

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

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



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

Нравится

5 комментариев
Лучший ответ

Добрый день!

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

пример объекта:

 

 

А это пример детали:

define("UsrSchema6Detail", ["LookupMultiAddMixin"], function() {
	return {
		entitySchemaName: "UsrRecipientsPetitionsOrg",// схема детали будет состоятьиз двух полей справочного типа
		mixins: {
			// Подключение миксина к схеме.
			LookupMultiAddMixin: "Terrasoft.LookupMultiAddMixin"
		},
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		 methods: {
			// Переопределение базового метода инициализации схемы.
			init: function() {
				this.callParent(arguments);
				//Инициализация миксина.
				this.mixins.LookupMultiAddMixin.init.call(this);
			},
			// Переопределение базового метода отображения кнопки добавления.
			getAddRecordButtonVisible: function() {
				//Отображать кнопку добавления если деталь развернута, даже если для детали не реализована страница редактирования.
				return this.getToolsVisible();
			},
			// Переопределение базового метода.
			// Обработчик события сохранения страницы редактирования детали.
			onCardSaved: function() {
				// Открывает справочное окно с множественным выбором записей.
				this.openLookupWithMultiSelect();
			},
			// Переопределение базового метода добавления записи на деталь.
			addRecord: function() {
				// Открывает справочное окно с множественным выбором записей.
				this.openLookupWithMultiSelect(true);
			},
 
			// Метод, возвращающий конфигурационный объект для справочного окна.
			getMultiSelectLookupConfig: function() {
					return {
					// Корневая схема — [Петиции]. объект к которому будет относиться деталь
					rootEntitySchemaName: "UsrPetitions",
					// Колонка корневой схемы. колонка в схеме детали (*) справочное поле
					rootColumnName: "UsrPetition",
					// Связанная схема — [Средство связи контрагента]. объект из которого будут выбираться значения
					relatedEntitySchemaName: "AccountCommunication",
					// Колонка связанной схемы. Данная колонка так же объявлена в схеме детали (*) справочное поле 
					relatedColumnName: "UsrEmailFromAccountCom"
				};
 
			},
			getLookupColumns: function() {
				return ["SearchNumber","Account","CommunicationType","Number"]
				},
 
			getLookupConfig: function() {
					return {
						entitySchemaName: this.getRelatedSchemaName(),
						multiSelect: true,
						columns: this.getLookupColumns()
					};
				},
 
			getAllLookupFilters: function(notExistingFilter) {
					var filters = this.Terrasoft.createFilterGroup();
					var additionalFilters = this.getAdditionalLookupFilters();
					if (!this.Ext.isEmpty(notExistingFilter)) {
						filters.add("NotExistsFilter", notExistingFilter);
					}
					if (!this.Ext.isEmpty(additionalFilters)) {
						filters.add("AdditionalFilters", additionalFilters);
					}
					//добавление фильтра на тип = Email
					var idList = ["ee1c85c3-cfcb-df11-9b2A-001d60e938c6", "EE1C85C3-CFCB-DF11-9B2A-001D60E938C6"];
					var filterById = Terrasoft.createColumnInFilterWithParameters("CommunicationType", idList);
					filterById.comparisonType = Terrasoft.ComparisonType.EQUAL;
					filters.add("filterById", filterById);
					return filters;
			}
		}
	};
});

 

Добрый день!

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

пример объекта:

 

 

А это пример детали:

define("UsrSchema6Detail", ["LookupMultiAddMixin"], function() {
	return {
		entitySchemaName: "UsrRecipientsPetitionsOrg",// схема детали будет состоятьиз двух полей справочного типа
		mixins: {
			// Подключение миксина к схеме.
			LookupMultiAddMixin: "Terrasoft.LookupMultiAddMixin"
		},
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		 methods: {
			// Переопределение базового метода инициализации схемы.
			init: function() {
				this.callParent(arguments);
				//Инициализация миксина.
				this.mixins.LookupMultiAddMixin.init.call(this);
			},
			// Переопределение базового метода отображения кнопки добавления.
			getAddRecordButtonVisible: function() {
				//Отображать кнопку добавления если деталь развернута, даже если для детали не реализована страница редактирования.
				return this.getToolsVisible();
			},
			// Переопределение базового метода.
			// Обработчик события сохранения страницы редактирования детали.
			onCardSaved: function() {
				// Открывает справочное окно с множественным выбором записей.
				this.openLookupWithMultiSelect();
			},
			// Переопределение базового метода добавления записи на деталь.
			addRecord: function() {
				// Открывает справочное окно с множественным выбором записей.
				this.openLookupWithMultiSelect(true);
			},
 
			// Метод, возвращающий конфигурационный объект для справочного окна.
			getMultiSelectLookupConfig: function() {
					return {
					// Корневая схема — [Петиции]. объект к которому будет относиться деталь
					rootEntitySchemaName: "UsrPetitions",
					// Колонка корневой схемы. колонка в схеме детали (*) справочное поле
					rootColumnName: "UsrPetition",
					// Связанная схема — [Средство связи контрагента]. объект из которого будут выбираться значения
					relatedEntitySchemaName: "AccountCommunication",
					// Колонка связанной схемы. Данная колонка так же объявлена в схеме детали (*) справочное поле 
					relatedColumnName: "UsrEmailFromAccountCom"
				};
 
			},
			getLookupColumns: function() {
				return ["SearchNumber","Account","CommunicationType","Number"]
				},
 
			getLookupConfig: function() {
					return {
						entitySchemaName: this.getRelatedSchemaName(),
						multiSelect: true,
						columns: this.getLookupColumns()
					};
				},
 
			getAllLookupFilters: function(notExistingFilter) {
					var filters = this.Terrasoft.createFilterGroup();
					var additionalFilters = this.getAdditionalLookupFilters();
					if (!this.Ext.isEmpty(notExistingFilter)) {
						filters.add("NotExistsFilter", notExistingFilter);
					}
					if (!this.Ext.isEmpty(additionalFilters)) {
						filters.add("AdditionalFilters", additionalFilters);
					}
					//добавление фильтра на тип = Email
					var idList = ["ee1c85c3-cfcb-df11-9b2A-001d60e938c6", "EE1C85C3-CFCB-DF11-9B2A-001D60E938C6"];
					var filterById = Terrasoft.createColumnInFilterWithParameters("CommunicationType", idList);
					filterById.comparisonType = Terrasoft.ComparisonType.EQUAL;
					filters.add("filterById", filterById);
					return filters;
			}
		}
	};
});

 

Спасибо большое, как раз помогло разобраться :3

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

Вот пример кода:

define("UsrSchema6830a0c2Detail", ["LookupMultiAddMixin"], function() {
	return {
		entitySchemaName: "UsrDetailLinkServiceBR",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		mixins: {
            // Подключение миксина к схеме.
            LookupMultiAddMixin: "Terrasoft.LookupMultiAddMixin"
        },
		methods: {
            // Переопределение базового метода инициализации схемы.
            init: function() {
                this.callParent(arguments);
                //Инициализация миксина.
                this.mixins.LookupMultiAddMixin.init.call(this);
            },
            // Переопределение базового метода отображения кнопки добавления.
            getAddRecordButtonVisible: function() {
                //Отображать кнопку добавления если деталь развернута, 
                //даже если для детали не реализована страница редактирования.
                return this.getToolsVisible();
            },
            // Переопределение базового метода.
            // Обработчик события сохранения страницы редактирования детали.
            onCardSaved: function() {
                // Открывает справочное окно с множественным выбором записей.
                this.openLookupWithMultiSelect();
            },
            // Переопределение базового метода добавления записи на деталь.
            addRecord: function() {
                // Открывает справочное окно с множественным выбором записей.
 
                this.openLookupWithMultiSelect(true);
            },
            // Метод, возвращающий конфигурационный объект для справочного окна.
            getMultiSelectLookupConfig: function() {
 
                return {
                    rootEntitySchemaName: "UsrBusinessRequestV2",
                    rootColumnName: "UsrLookupBR",
                    relatedEntitySchemaName: "ServiceItem",
                    relatedColumnName: "UsrLookupService"
                };
            }
		}
	};
});

 

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

 /**
* Returns additional filters for lookup.
* @protected
* @return {Terrasoft.FilterGroup} Filters.
*/
getAdditionalLookupFilters: this.Terrasoft.emptyFn,

Аналогично тому, как в приведенном выше в теме коде определяют функцию getMultiSelectLookupConfig, которая в LookupMultiAddMixin тоже пустая.

 

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

getAdditionalLookupFilters: function () {
 var additionalFilter = this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL,
"UsrBooleanBR",
true
);
 return additionalFilter;
 },

 

Зверев Александр,

Спасибо огромное , фильтр сработал !

Показать все комментарии

Изображение удалено.

 

О компании

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

Предпосылки внедрения bpmonline

Компания Telezon не использовала системы управления внутренними и внешними сервисами до внедрения bpm’online. Поэтому изначально отсутствовали четко прописанные процессы работы сотрудников. Это влекло за собой сложности в проведении контроля и анализа выполненных задач. Не было общей картины работы компании по оказанию услуг постпродажного сопровождения и развития клиентов.

Задача, которая была поставлена перед командой внедрения bpm’online, заключалась в построении качественной работы службы поддержки компании с помощью продукта bpm'online service.

 

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

Выполненные настройки

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

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

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

В случае, когда к обработке обращения необходимо подключить специалиста по снабжению, bpmonline автоматически отправляет ему информационное письмо. После чего состояние обращение переключается на «Состояние пауза». Когда специалист по снабжению отправляет ответ на письмо, bpm’online прикрепляет это письмо к обращению и меняет состояние обращения на «Выезд». Это позволяет ответственному за обращение оперативно продолжить работу.

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

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

  • оказанный сервис;
  • предоставленное решение по обращению;
  • клиент и его контактные данные;
  • плановое время реакции и разрешения по сервису;
  • количество затраченных часов сотрудника компании;
  • затраты по обращению.

 

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

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

Результат

Благодаря внедрению bpm’online упрощена работа менеджеров. Заранее прописанный сценарий работы позволяет оптимально использовать время на обработку обращений. Также стало возможным ускорить внутренние процессы благодаря автоматизации уведомлений смежных подразделений по обработке обращений. Все это, вместе с настроенной аналитикой, позволило ускорить обработку обращений и повысить лояльность клиентов к компании.

Нравится

Поделиться

0 комментариев
Показать все комментарии

Изображение удалено.

О компании

Компания Ticketland.ru — крупнейший билетный оператор России в сегменте «живых» развлечений: спектакли, концерты, мюзиклы, фестивали, классическая музыка, спорт, а также любые мероприятия для детей. Приоритетами компании являются высокое качество обслуживания клиентов и удовлетворение их желания найти для себя наиболее интересное событие.

 Предпосылки внедрения bpmonline

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

Основные задачи проекта

Главными задачами внедрения bpm’online customer center стали автоматизация процесса принятия входящих звонков, а также создание обращений в единой системе с возможностью анализировать категории обращений с целью улучшения качества работы и повышения лояльности со стороны своих клиентов.

Выполненные настройки

Команда внедрения системы, в которую вошли сотрудники компании Ticketland, совместно с CSM менеджером bpm’online добавили справочные поля Подкатегория сервиса и Линия в разделе [Обращение]. Далее был изменён объект системы Объект администрирования, куда были добавлены колонки Линия, Группа ответственных и проставлены взаимосвязи между подкатегориями сервиса, линиями поддержки и группами ответственных.

Далее с помощью мастера раздела в разделе [Обращение] на вкладке Бизнес-правила были созданы правила, в соответствии с которыми выполняется фильтрация полей, например:

1. При выборе определённого сервиса доступны только подчинённые подсервисы.

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

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

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

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

В случае не вовремя обработанного обращения (например, через 24 часа после уведомления руководителя группы ответственных) система уведомит об этом руководителя подразделения. Ещё через 48 часов уведомление получит руководитель всего технического департамента.

Изображение удалено.

Помимо уведомлений на почту, в системе настроен раздел [Итоги], в котором операторы и руководители могут увидеть:

1. обращения, которые не были обработаны в срок;

2. количество обработанных обращений по ответственному;

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

4. динамику решения обращений;

5. уровень удовлетворенности по обращениям в разрезе отделов;

6. общие данные по всей технической поддержке.

Результат

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

Благодаря построенному бизнес-процессу руководство компании получает уведомления о сложных или просроченных обращениях, а настроенный раздел [Итоги] даёт возможность в любое время увидеть полную картину как отдельного оператора, так и всей поддержки в целом.

Нравится

Поделиться

0 комментариев
Показать все комментарии