1) Добавил базовую схему детали с полями согласно статье: https://academy.terrasoft.ru/documents/technic-sdk/7-11/sozdanie-polzovatelskoy-detali-s-polyami

define("InformationDetail", [],
    function() {
        return {
            entitySchemaName: "GeneralInformation",
            diff: [],
            methods: {
                getDisplayColumns: function() {
                    return ["Identifier", "Type", "FullName", 
                    "Birthday"];
                }
            }
        };
    }
);

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

 

Вопрос: как отобразить произвольное количество элементов (колонок) по две на строке?

Нравится

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

Вам нужно создавать деталь с реестром (редактируемым или не редактируемым (если добавление/изменение будет по кнопке)

Подробнее смотрите в академии

Вам нужно создавать деталь с реестром (редактируемым или не редактируемым (если добавление/изменение будет по кнопке)

Подробнее смотрите в академии

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

Спасибо, посмотрю.

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

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

PS: БД Oracle Database 11g

Нравится

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

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

 

Все мощь .net (c#) к вашим услугам, вариантов подключения множетство. Наберите в гугле using C# without Oracle Client

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

 

Колодяжный Владислав Эдуардович,

так и решил сделать

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

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

Нравится

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

Если не выгружены исходники, то можно попробовать обнулить AssemblyData в базе, предварительно сделав бэкап. Тогда должно сразу при логине пустить в конфигурацию.

 

update SysWorkspace
set AssemblyData = null
where Id='07BA2497-D09B-40EF-92D3-D56F01D426FA' -- Id вашей конфигурации

 

Добрый день, попробуйте зайди в конфигурацию, дописав в конце адреса /dev и откомпилировать.

Данные никакие не устанавливали?

Схемы исходного кода добавляли без публикации (только сохранение) ?

Судя по адресу, сайт у вас локально, попробуйте почитать логи, дам может быть более подробная ошибка. C:\Windows\Temp\BPMonline

0/dev  - не помогло, таже ошибка, соответственно зайти и скомпилировать не могу....

нет не устанавливали

последнее что добавлял я - было успешно скомпилировано

сейчас логи посмотрю

2018-10-30 09:33:16,476 [BPMonlineQuartzScheduler_Worker-5] ERROR SBORKI-TS\Developer Terrasoft.Core.Scheduler.ProcessJobStub SafeSendRequest - System.Net.WebException: Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.

   в System.Net.HttpWebRequest.GetResponse()

   в Terrasoft.Core.Scheduler.ProcessJobStub.SafeSendRequest(HttpWebRequest request)

 

Наиболее вероятная ошибка, сейчас постоянно пишет в логах

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

Если не выгружены исходники, то можно попробовать обнулить AssemblyData в базе, предварительно сделав бэкап. Тогда должно сразу при логине пустить в конфигурацию.

 

update SysWorkspace
set AssemblyData = null
where Id='07BA2497-D09B-40EF-92D3-D56F01D426FA' -- Id вашей конфигурации

 

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

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

Каким образом можно это реализовать, если в карточке сотрудника метод init() реализован таким образом:

                init: function() {

                    this.primaryImageColumnName = "ContactPhoto";

                    this.on("change:OrgStructureUnit", this.onChangedOrgStructureUnit, this);

                    this.callParent(arguments);

                },

То есть мне нужно, чтобы в моей карточке сотрудника в init были 2-я и 3-я строчки, а первая нет.

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

Можно ли вообще каким-то образом указать, чтобы в моем методе вызывались 2-я и 3-я строчки, именно из тех карточек, из которых нужно, а не из непосредственного родителя?

Нравится

13 комментариев

А если через правила сделать фото невидимым?

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

Допустим, и что дальше?

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

В init

this.callParent(arguments);

this.set(this.primaryImageColumnName, null);

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

Не уверенна, что так заработает, но можно попробовать.

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

Хотелось бы по данному вопросу услышать комментарий службы поддержки!

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

init: function() {

       this.primaryImageColumnName = "ContactPhoto";                                               this.on("change:OrgStructureUnit",this.onChangedOrgStructureUnit, this);

       this.callParent(arguments);

    }

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

Колодяжный Владислав Эдуардович,

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

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

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

Мне нужно было бы всего-то переопределить эту функцию и все.

 

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

Смысл, внезапно, в ведении информации о сотрудниках.

Весь вопрос в том, что метод реализован некорректно

Метод реализован корректно. Фото выводится.

По поводу обнуления после вызова this.callParent(arguments), то в странице SysProcessUserTaskPage есть такое обнуление:

onImageChange: function(image) {
    if (!image) {
        this.set(this.primaryImageColumnName, null);
        return;
    }

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

Зверев Александр пишет:

Смысл, внезапно, в ведении информации о сотрудниках.

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

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

Зверев Александр пишет:

Метод реализован корректно. Фото выводится.

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

Зверев Александр пишет:

Но доработанную логику нужно тестировать.

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

Я немного в шоке. Вместо пары строк кода вы развели вайн на пару страниц.

init: function(callback, scope) {
	//сначала вызовутся родительские init-методы
	this.callParent([function() {
		debugger;
		//тут можно занулить this.primaryImageColumnName
		callback.call(scope);
	}, this]);
}

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

Это всё замечательно, но вот ситуация: я захотел заместить в одной схеме ViewModel. Модули (внезапно!) с 7.13 замещать нельзя. Ну ок, делаем свой через extend. Лезем в схему, а там прямо в init зашита сторчка а-ля:

this.viewModelName = '123'; this.callParent(arguments);

Ну клёво теперь. И как в таком случае менять что-либо? (принимая во внимание, что 95% пользователей не знают о коде выше). Делать сначала callParent, а потом простановку своего viewModelName — бред. Привет асинхронность, непонятно какое присвоение выполнится первее. Таймауты/деферы - костыль. Так-то вынести всю кастомную логику из init  в отдельную функцию - правильнее будет. 

PS. Пользуясь случаем - какой гений догадался запретить перегруз модулей?

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

Варфоломеев Данила пишет:

Так-то вынести всю кастомную логику из init  в отдельную функцию - правильнее будет

Так вот об этом же и речь, что нужно не только реализовать "шоб работало", но и так, чтобы потом с этим другие могли работать! 

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

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

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

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

Вопрос: Как в БП передать Get("UserConnection"); в userConnection сервиса ReportService? Есть ряд других сервисов, возможно туда тоже нужно будет это передать....

Нравится

7 комментариев

Почему вы решили что UserConnection не передается?

Вы от какого пользователя запускаете БП по расписанию? Есть ли у єтого ползователя права для рабьоты с  ReportService?

Добавить комментарий

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

Автозапуск от пользователя что и обычный запуск, вот ошибка:

System.ServiceModel.ServiceActivationException: Set AspNetCompatibilityEnabled true

   в Terrasoft.Web.Common.BaseService.get_UserConnection()

   в Terrasoft.Configuration.ReportService.ReportService.GenerateDevExpressReport(String entitySchemaUId, String reportSchemaId, String recordId, String reportParameters)

   в Terrasoft.Configuration.ReportService.ReportHelper.CreateReport(String entitySchemaUId, String reportSchemaUId, String templateId, String recordId, String reportParameters, Boolean convertInPDF)

   в Terrasoft.Configuration.ReportService.ReportService.CreateReport(String entitySchemaUId, String reportSchemaUId, String templateId, String recordId, String reportParameters, Boolean convertInPDF)

   в Terrasoft.Core.Process.UsrAutoSendNightReportMethodsWrapper.ScriptTask1Execute(ProcessExecutingContext context)

   в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

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

Те определять UserConnectionнужно как для сервиса

userConnection = HttpContext.Current.Session["UserConnection"]

Те определять UserConnectionнужно как для сервиса

userConnection = HttpContext.Current.Session["UserConnection"]

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

Дмитрий Степанов,

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

Добрый день!

У меня данная проблема отпала при передаче параметра "UserConnection" конструктору ReportService.

var reportService = new Terrasoft.Configuration.ReportService.ReportService(UserConnection);

 

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

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

 

О компании

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

Среди достижений «BRITA» — многочисленные международные награды «Design Awards» за постоянное усовершенствование своих товаров. Основа успешности компании — стремление максимально расширить ассортимент предлагаемой продукции.

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

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

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

Задачи внедрения bpmonline

  1. Ведение клиентской базы и истории взаимодействия с клиентами компании (сделки, сервисное обслуживание, мультиканальные коммуникации) в единой системе.
  2. Сегментация клиентской базы на потенциальных и действующих клиентов для качественной обработки по настроенному процессу с целью увеличения объёмов продаж.
  3. Ограничение прав доступа менеджеров к клиентской базе для обработки ответственными только закрепленными за ними клиентов.
  4. Консолидация информации по выполненному и планируемому сервисному обслуживанию в карточке клиента.
  5. Возможность обработки обращений сервисными инженерами в мобильном приложении без необходимости находиться за стационарным ПК.
  6. Получение сводной информации по работе сервисной службы компании для анализа и повышения качества предоставления услуг.

Для выполнения поставленных задач была выбрана система bpmonline sales и bpmonline service.

В рамках данного кейса будут описаны настройки, выполненные для блока bpmonline service.

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

В карточке контрагента была добавлена вкладка «Сервисное обслуживание» для фиксации информации об условиях сервисного обслуживания клиентов. На вкладке отображается информация по установленному оборудованию клиента, характеристикам воды и дате проведения последнего сервисного обслуживания (Рис. 1)

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

                                                                     Рис.1

Настроен бизнес-процесс для автоматического расчёта даты следующего сервиса в зависимости от периода предоставления сервисного обслуживания данному контрагенту. При проставлении даты проведения последнего сервиса появляется окно для выбора периода проведения следующего. (Рис. 2)

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

                                                                      Рис.2

В зависимости от выбранного периода в карточке проставляется планируемая дата сервиса. За две недели до планируемой даты сервисного обслуживания ответственному сотруднику автоматически назначается задача: «Связаться с контрагентом по вопросам проведения планового сервиса».

Обработка обращений

Все заявки на проведение сервисных работ регистрируются в разделе [Обращения] инженером по качеству. В карточку обращения для удобства обработки выведена деталь [Сервисное обслуживание], на которой отображается установленное у контрагента оборудование. Кроме этого, в карточку обращения выведено справочное поле «Адрес проведения ремонтных работ». В поле отображается список адресов контрагента благодаря настроенным бизнес-правилам фильтрации адресов по контрагенту из обращения.

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

Процесс обработки обращений в мобильном приложении:

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

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

                                                                     Рис. 3

  • Был настроен бизнес-процесс отправки push-уведомлений: в момент, когда инженер назначается ответственным по новому обращению, ему в мобильном приложении приходит соответствующее уведомление.
  •  По завершению проведения сервисных работ инженер фиксирует результаты на детали [Категории работ] непосредственно в мобильном приложении (Рис. 4) и изменяет статус обращения, в результате чего по настроенному бизнес-процессу об этом уведомляется инженер по качеству.
  • Инженер по качеству проверят результат выполнения обращения и переводит обращение в состояние «Закрыто».  

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

                                                                     Рис. 4

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

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

                                                                       Рис. 5

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

 

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

                                                                        Рис. 6

Результат

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

 

Нравится

Поделиться

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

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

О компании

Компания ООО «КванторФорм» с 1991 года занимается разработкой программного обеспечения для математического моделирования процессов обработки металлов давлением, которые используются в аэрокосмической, автомобильной, транспортной, энергетической, горнодобывающей и метизной промышленности.

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

Вся работа с клиентами до внедрения bpm’online велась в почтовом клиенте. Такая организация не предусматривала автоматизацию процессов и получение общей картины работы менеджеров средствами составления аналитики.  Для решения задачи автоматизации и увеличения продаж был выбран продукт bpmonline sales enterprise.

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

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

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

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

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

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

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

Результат

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

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

Нравится

Поделиться

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

Добрый день!

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

Нравится

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

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

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

Да. Вот моя страница подбора продукта.

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

Руслан Хасанов пишет:

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

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

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

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

2. Второе происходит из первого - надо проверять есть ли такой Id в детали, если да то йпдейт. 

3. Надо переопределить кнопку сохранения

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

Может есть способ передать подобранное значение в виртуальной колонке в колонку детали на схеме страницы?

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

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

Нашел ветку в которой обсуждалась данная тема https://community.terrasoft.ru/questions/znacenie-v-pole-spravocnik

Вот решение для этого вопроса: 

this.loadLookupDisplayValue("Type", constants.ContractType.Standard);

Большое спасибо Сергею за подсказку.

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

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

Нравится

3 комментария

Что-то похожее есть в Bpm’online real estate, механизм подбора листингов в разделе лидов.

Интересно было бы посмотреть как реализован такой фильтр. Но, к сожалению, у меня нет доступа к платформе real estate. 

Это решение партнёра Softline, связываться нужно с ними.

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

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

Добрый день. 

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

Нравится

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

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

А какие при этом сообщения в консоли возникают?

Алла Савельева,

только эту ошибку видно

file: undefined

 line: undefined

 column: undefined

 message: Cannot read property 'value' of undefined 

 date: Fri Oct 19 2018 16:45:09 GMT+0300 (Москва, стандартное время)

 moduleId: ViewModule_RightSideBarModule_CtiPanelModule

 moduleName: CtiPanelModule

Уточните, вносились ли какие-то изменения в конфигурацию bpm'online?

Алла Савельева,

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

Серков Игорь Владимирович,

Сгенерируйте исходные коды для всех схем и перекомпилируйте все приложение.

Если сайт развернут on-site, тогда ещё очистите Redis.

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

 

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

Игорь, здравствуйте!

Проблема в том что у Вас on-site и самоподписанный сертификат. 

По проблеме on-site. В bpm'online базовая интеграция с телефонией Webitel Collaboration есть только для cloud.

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

Для включения интеграции необходимо следующее:

1) Доступность вашего сайта "из вне"

2) Временный доступ к системе для сотрудников тех. поддержки Террасофт

3) Валидный сертификат SSL из официального центра сертификации. Либо Вы можете настроить сайт по http

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