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

Как можно исправить?

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

Нравится

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

Добрый день!

Если Вы переразвернули только базу данных для уже настроенного и работающего приложения, то попробуйте в окне браузера после авторизации в адресной строке указать localhost/0/dev.

У Вас должно появиться окно конфигурации bpm'online, в этом окне найдите пункт меню 'Скомпилировать все'.

Также перезагрузите IIS и очистите кеш Redis.

Добрый день!

Если Вы переразвернули только базу данных для уже настроенного и работающего приложения, то попробуйте в окне браузера после авторизации в адресной строке указать localhost/0/dev.

У Вас должно появиться окно конфигурации bpm'online, в этом окне найдите пункт меню 'Скомпилировать все'.

Также перезагрузите IIS и очистите кеш Redis.

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

Спасибо помоглоyes

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

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

Нравится

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

Эта логика реализована во встроенном БП объекта «Продукт в продаже» (OpportunityProductInterest). Там в обработчике событий сохранения и удаления записей в объекте детали запускается функция CalckOpportunityAmount с кодом:

var oppotrunityAmountSelect = new Select(UserConnection)
	.Column("Amount")
	.From("OpportunityProductInterest")
	.Where("OpportunityId").IsEqual(Column.Parameter(opportunityId)) as Select;
double opportunityAmount = 0.0;
using (var dbExecutor = UserConnection.EnsureDBConnection()) {
	using (IDataReader dr = oppotrunityAmountSelect.ExecuteReader(dbExecutor)) {
		while (dr.Read()) {
			if(!dr.IsDBNull(0)){
				opportunityAmount += (double)UserConnection.DBTypeConverter.DBValueToDecimal(dr[0]);
			}
		}
	}
}
var update = new Update(UserConnection, "Opportunity")
		.Set("Amount", Column.Parameter(opportunityAmount))
		.Where("Id").IsEqual(Column.Parameter(opportunityId));
	update.Execute();

 

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

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

У страницы OpportunityPageV2 есть много версий в разных пакетах.

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

Я смотрел сразу через дебагер в chrome, что бы видеть все версии сразу

Не оно ли:

details: /**SCHEMA_DETAILS*/{
...
OpportunityProduct: {
	schemaName: "OpportunityProductDetailV2",
	filter: {
		masterColumn: "Id",
		detailColumn: "Opportunity"
	},
	subscriber: {methodName: "onOpportunityProductChanged"}
},
...
methods: {
 
/**
 * Reloads current record.
 * @private
 */
onOpportunityProductChanged: function() {
	this.loadEntity(this.get("Id"));
	this.sendSaveCardModuleResponse(this);
},

 

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

Можно ли как-то переименовать название объекта таблицы (точнее заголовок). При изменении в объекте сама ORM не переименовывает таблицу в базе данных, а если руками переименовать таблицу а потом объект - тогда выдает ошибку "Ошибка сохранения: ORA-00942: table or view does not exist".

И да, база данных Oracle

Нравится

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

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

Именно заголовок сменился нормально, объект опубликовался:

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

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

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

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

На странице Контакты добавил контакты в статическую группу "Участие в мероприятиях -> Accelerate". Как внутри карточки Контакта вывести группы, к которым принадлежит Контакт. В идеале хотелось бы и добавлять контакты в группы внутри карточки Контакта

Нравится

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

Надо не «Группа контакта», а «Контакт в группе».

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

Подскажите, а что указывать в Колонка детали и Колонка объекта?

Как и у остальных деталей раздела: Контакт и Id.

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

Там нет Колонки детали Контакт. Я что-то сделал не так. Вот мой алгоритм:

 

1 Создаю делать Группы контактов через Мастер деталей

2 В Объекте указываю Группа контакта

3 Добавляю созданную деталь на странице Контакта,  в Колонка детали нет Контакта https://bit.ly/2WHSuPt, ставлю Название, сохраняю

4 На странице Контакта появляется деталь, но в ней нет значений

Надо не «Группа контакта», а «Контакт в группе».

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

спасибо! Получилось

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

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

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

Нравится

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

На академии в описании данной функциональности написано:

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

На академии в описании данной функциональности написано:

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

Для разделов лучше использовать права доступа на записи.

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

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

Александр Тыра,

Да, деактивированные контакты в разделе 'Контакты' будут видны.

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

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

 

 

О компании

Mikenopa - это международная компания, работающая на территории Европейского Союза, в Восточной Европе, России и странах СНГ, Турции и в Тихоокеанском регионе.

Компания занимается поставкой современных технологий и сопутствующих услуг в гостиницах и бизнес-центрах.

Предпосылки внедрения bpm’online

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

Задачи внедрения bpm’online sales:

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

 

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

В рамках процесса внедрения были доработаны стадии разделов Лиды и Продажи.

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

В кейс управления Лидом добавлена новая стадия «Подготовка», на которую система переводит Лид в случае успешного сценария предыдущего шага. На данной стадии автоматически создается новая заявка в разделе Обследования и Установки. Пользовательский раздел был создан для технического отдела, чтобы улучшить коммуникацию между отделами и минимизировать время на актуализацию состояния заявок. После создания новой заявки в этом разделе, руководителю техотдела приходит уведомление о новой заявке, и он распределяет её на ответственного. В зависимости от типа заявки Обследование/Модуляция или Установка в разделе настроены отдельные кейсы с разным набором задач. После завершения работ по заявке и переводе заявки в завершающее состояние, ответственному за Лид приходит уведомление о том, что его заявка обработана. Следующим этапом Лида, согласно бизнес-процесса компании, является стадия Перевод в продажу, куда лид переводит менеджер вручную, после того как он получил уведомление о выполненной заявке. На данной стадии в системе автоматически создается Продажа.

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

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

 

Результат

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

Нравится

Поделиться

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

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

Нравится

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

Да, в Add data есть режим Add selection. 

Только, конечно, надо колонок больше копировать из другой продажи

Да, в Add data есть режим Add selection. 

Только, конечно, надо колонок больше копировать из другой продажи

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

Добрый день!

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

Спасибо!

Нравится

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

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

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

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

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

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

В том то и дело что я еще не знаю как можно это сделать. 

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

Я вас не понимаю, Александр. Проблемы писать в базу я не вижу. Я просто хотел узнать механизм принудительной загрузки модуля (схемы) детали, которая находится на соседней вкладке от вкладки "Данные продажи". Но видимо не узнаю.

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

Спасибо, Александр!

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

all-combined.js:1 POST https://192.168.247.12:444/ServiceModel/AuthService.svc/Login 404 (Not Found)

Обновлялся с 11 на 12 версию. На 11 версии сайт работал корректно

Нравится

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

Пройдитесь ещё раз по инструкции по разворачиванию приложения bpm'online on-site, скорее всего что-то недонастроили.

Также посмотрите файлы логов, часто там можно найти информацию о непосредственной причине проблемы. Их можно найти на сервере в папке Temp/BPMOnline.

Пройдитесь ещё раз по инструкции по разворачиванию приложения bpm'online on-site, скорее всего что-то недонастроили.

Также посмотрите файлы логов, часто там можно найти информацию о непосредственной причине проблемы. Их можно найти на сервере в папке Temp/BPMOnline.

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

Добрый день!

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

Нравится

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

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

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

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

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

Страница карточки (например, AccountPageV2) и детали (например, AccountRelationshipDetailV2) задаются в разных схемах со своей логикой и связаны с разными объектами и их таблицами в базе.

Александр, в моем случае это OpportunityProductPageV2 и OpportunityProductDetailV2. 

Это не меняет сути.

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

Вероятно, во встроенном БП объекта OpportunityProductInterest в скрипте CalckOpportunityAmountAfterSevedScriptTask и вызываемой им функции CalckOpportunityAmount.

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

recalculateAmount: function() {
	var price = this.get("Price");
	var quantity = this.get("Quantity");
	if (price && quantity) {
		this.set("Amount", price * quantity);
	}
}

 

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

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

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

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