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

Нравится

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

Если речь идет о странице редактирования, то точно так же, как и для детали с обычным реестром. Подробнее об этом смотрите на Академии.

Если речь идет о странице редактирования, то точно так же, как и для детали с обычным реестром. Подробнее об этом смотрите на Академии.

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

При переходе в последнюю стадию кейса возвращается в начало - на первую. Это баг? кто сталкивался с этим? Автоматического перехода нет в настройках

Нравится

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

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

Рекомендую развернуть тестовую версию с сайта terrasoft прямо в облаке и проверить будет ли возникать такая проблема.

Если нет, то задуматься над обновлением версии bpm'online.

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

Рекомендую развернуть тестовую версию с сайта terrasoft прямо в облаке и проверить будет ли возникать такая проблема.

Если нет, то задуматься над обновлением версии bpm'online.

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

Добрый день!

Для русской версии есть [#NumberRU#], а как для укр?

Хочу в печатную форму добавить цифру прописью, не деньги (просто цифра)

Нравится

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

Добрый день.

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

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

Интерфейс этого макроса реализован в схеме NumberRUExpressionConverter, который, в свою очередь, вызывает схему NumberInWords, где и реализовано само превращение в текст. Можно попробовать сделать аналогичный NumberUKExpressionConverter и к нему переведенную копию NumberInWords.

Первая из схем совсем короткая:

namespace Terrasoft.Configuration
{
	using System;
	using System.Text;
 
	#region Class: NumberRUExpressionConverter
 
	/// <summary>
	/// Number to string (russian) expression converter class.
	/// </summary>
	[ExpressionConverterAttribute("NumberRU")]
	public class NumberRUExpressionConverter : IExpressionConverter 
	{
 
		#region Methods: Public
 
		/// <summary>
		/// Converts number value.
		/// </summary>
		/// <param name="value">Number value.</param>
		/// <param name="arguments"> Additional arguments.</param>
		/// <returns>Converted number to string value.</returns>
		public string Evaluate(object value, string arguments = "") {
			decimal dec;
			if (!decimal.TryParse((string)value, out dec)) {
				return string.Empty;
			}
			switch (arguments) {
				case "Cent": 
					decimal cent = decimal.Floor(dec * 100) % 100;
					return cent.ToString("00");
				case "Decimal": 
					StringBuilder sb = new StringBuilder();
					NumberInWords.ConstractDblValueString((double)dec, ref sb);
					return sb.ToString();
				default: 
					return NumberInWords.ConvertAmountToMaleStr(Math.Truncate(dec));
				break;
			}
			return string.Empty;
		}
 
		#endregion
 
	}
 
	#endregion
 
}

Вторая намного больше и понравится любителям 1С.wink

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

Ошибка при сохранении клиентской схемы: Ошибка сохранения: Элемент <Название модуля> не найден.

Данное поведение встречается на версии 7.14.3

1.При создании нового модуля/миксина

2. При переименовании клиентской схемы (детали) после создания мастером деталей

 

Нравится

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

Здравствуйте! Попробуйте сгенерировать коды для данного модуля и скомпилировать сборку затем перелогинится в системе с очисткой кэша в браузера. Мне такие действия помогали. Если локально система развернута, помогало еще перезапуск пула в IIS.

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

Но что-то мне подсказывает, что это не совсем корректное поведение. И появилось оно на версии 7.14.3

Добрый день, Игорь.

Для временного устранения надо в Web.config загрузчика, выключить фичу Feature-OptimizeManagersSynchronization = false и после переименования сохранять два раза.

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

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

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

Коновалов Игорь,

Коновалов Игорь пишет:

И появилось оно на версии 7.14.3

Замечала и на версии 7.14.2, а вот раньше такого не помню. 

Мотков Илья,

Повторилось на  версии  7.14.0, 7.14.2 и 7.13.3 при этом ключа Feature-OptimizeManagersSynchronization ни в одной из перечисленных версий нет.

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

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

О компании

Компания Viseven — ведущий поставщик интерактивного контента, CRM- и CLM-систем, обучающих мобильных приложений, а также услуг по продвижению медицинских препаратов на мировом рынке с 2009 года. Официальные представительства компании расположены в 4 странах мира — в РФ, Эстонии, Канаде и Украине.

 

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

Для взаимодействия с клиентами Viseven использовала продукт собственной разработки. Работа с клиентами велась разрозненно, что не позволяло сделать аналитические срезы относительно продуктивности сотрудников компании. После анализа нескольких CRM-систем Viseven приняла решение в пользу продукта bpm’online sales.

 

Задача внедрения bpm'online

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

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

В рамках процесса внедрения был доработан процесс работы с Лидом. Старт процесса — это базовая стадия «Квалификация». После того как пользователь определил, что Лид может быть квалифицирован, он выполняет квалификацию и переходит на стадию «Назначение встречи». Стадия была добавлена в кейс с помощью инструментов Case Management c целью назначения предварительной встречи с клиентом. Как только встреча назначена, Лид переходит на стадию «Встреча», по результатам которой автоматически создается продажа.

 

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

 

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

 

Каждое коммерческое предложение содержит:

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

 

После подготовки предложения для клиента процесс продажи переходит на стадию «Внутреннее визирование». На данной стадии создается виза в разработанном разделе «Визы». После проставления положительной визы КП становится доступным для предоставления клиенту. Готовность для отправки клиенту определяется его состоянием, которое в данном случае меняется на «Утверждено». Далее КП отправляется клиенту, и процесс продажи переходит на этап «Переговоры». Данный этап состоит из нескольких вариантов ведения переговоров. Менеджер определяет являются ли данные переговоры Активными или Пассивными и в зависимости от этого определяет тактику сделки. После проведения успешных переговоров продажа переходит на стадию «Контрактация», где заключается договор, после чего продажа получает статус «Завершается с победой».     

 

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

 

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

  • Fields patterns for bpm'online — с помощью этого приложения были установлены маски ввода телефонных номеров в карточках контакта, контрагента, правила для email-адресов.
  • Lookup records merging — приложение позволило быстро произвести объединение записей в необходимых справочниках, например таких как Страны, Города.
  • Выделение цветом записей — позволило настроить выделение цветом заказов в реестре в зависимости от их состояния. Например, завершенные заказы залиты зеленым цветом.
  • Map widget for bpm'online — данное приложение позволило настроить визуальное отображение на карте мира территориальное расположения клиентов компании, а также проанализировать самые прибыльные регионы. Красивые карты с графиками радуют глаз руководству.

 

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

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

  

Результат

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

Нравится

Поделиться

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

Добрый день.

Существует необходимость провести инвентаризацию прав всего массива Контрагентов в bpm'online.

В какой таблице хранится связь Контрагент(Юр.лицо) - Права доступа (чтение/изменение/удаление)?

Нравится

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

Достал из архива:



Select a.Name, 

sau.Name, 

(CASE sar.Operation WHEN 0 THEN 'Read' WHEN '1' THEN 'Edit' WHEN '2' THEN 'Delete' Else '' END) AS Operation,

(CASE sar.RightLevel WHEN 1 THEN 'Granted' WHEN 2 THEN 'Granted/delegation permitted' ELSE '' END) AS [Right Level]

FROM SysAccountRight sar

JOIN Account a ON sar.RecordId=a.Id

JOIN SysAdminUnit sau ON sau.Id=sar.SysAdminUnitId

Добрый вечер.

Все таблицы с правами доступа имеют такой формат Sys<название таблицы раздела>Right.

Конкретно для контрагентов таблица называется SysAccountRight.

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

Также посмотрите этот пост с расшифровкой значений полей в таблице с правами.

Достал из архива:



Select a.Name, 

sau.Name, 

(CASE sar.Operation WHEN 0 THEN 'Read' WHEN '1' THEN 'Edit' WHEN '2' THEN 'Delete' Else '' END) AS Operation,

(CASE sar.RightLevel WHEN 1 THEN 'Granted' WHEN 2 THEN 'Granted/delegation permitted' ELSE '' END) AS [Right Level]

FROM SysAccountRight sar

JOIN Account a ON sar.RecordId=a.Id

JOIN SysAdminUnit sau ON sau.Id=sar.SysAdminUnitId

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

Добрый день. Использую приложение https://marketplace.terrasoft.ua/app/reports-generator-bpmonline для формирования Excel отчетов.

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

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

Ну или сохранить файл в базу, вместо скачивания.

Нравится

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

Для добавления файла используйте

entity.SetStreamValue("Data", fileStream);

где fileStream поток который содержит ваш отчет а entity экземпляр entity (например ActivityFile)

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

Привет.

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

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

В БД скорей всего всё нормально, потому что при создании/открытии записей из данного раздела всё ок.

Идеи?

7.14.0.597

Нравится

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

Андреев Андрей Сергеевич,

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

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

Добрый день.

Что значит открывается неверная карточка редактирования?

Уточните, для данного раздела несколько карточек редактирования?

Алла Савельева, Есть "Карточка 1" которая открывается если поле "Категория 1" и аналогично есть "Карточка 2" для "Категории 2" .

При открытии/добавлении из раздела открывается правильная карточка(для Категории 1 - Карточка 1, для Категории 2 - Карточка 2). При открытии записи через лукапное поле из раздела/карточки открывается всегда "Карточка 1" независимо от категории. 

Андреев Андрей Сергеевич,

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

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

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

Здравствуйте ! возникла проблема при создании детали в кастомном модуле, возможно кто-то знает как ее решить.

Задание:  Создать модуль и на нем отобразить деталь

При попытке добавления детали - возникает ошибка "Cannot read property 'changeEvent' of undefined". Не подскажете как это можно решить ?

Код создания модуля:

define("BtcJawModule", ["ext-base", "terrasoft", "BaseSchemaModuleV2"], function(Ext, Terrasoft) {
	return Ext.define("Terrasoft.configuration.BtcJawModule", {
 
		extend: "Terrasoft.BaseSchemaModule",
		Ext: null,
		sandbox: null,
		Terrasoft: null,
 
		init: function() {
			this.useHistoryState = false;
			this.callParent(arguments);
		},
 
		schemaName: "BtcJawSchema",
 
		isSchemaConfigInitialized: true,
 
		render: function() {
			this.callParent(arguments);
		}
 
	});
});

Код создания карточки представления :

define("BtcJawSchema", ["css!BtcJawModule"], function() {
	return {
		messages: {},
		mixins: {},
		details: /**SCHEMA_DETAILS*/{
			"ActivityDetail1ab22d6f": {
				"schemaName": "ActivityDetailV2",
				"entitySchemaName": "Activity",
				"filter": {
					"detailColumn": "Id",
					"masterColumn": "Id"
				},
			},
		},
		attributes: {},
		methods: {},
		diff: [
			{
				"operation": "insert",
				"name": "DetailContainer",
				"values": {
					"wrapClass": [
						"detail-container"
					],
					"itemType": 7,
					"items": []
				},
				"index": 0
			},
 
			{
				"operation": "insert",
				"name": "ActivityDetail1ab22d6f",
				"values": {
					"itemType": 2,
					"markerValue": "added-detail"
				},
				"parentName": "DetailContainer",
				"propertyName": "items",
				"index": 1
			},
		]
	};
});

 

Нравится

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

А для карточки вы не указали entitySchemaName

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

А есть карточка не представляет объект, а чисто для визуального отображения ? Или отсутствие

entitySchemaName может как-то повлиять ? 

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

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

Добрый день всем снова) Как правильно создать цикл по пересозданию записей в разделе? С помощью бизнес процесса без заданий-сценариев и начальное событие - простое, не по сигналу.

Нравится

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

Пересоздание - это удаление и создание новой записи или изменение старой?)

Ксензов Егор,

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

Шутники, однако). остается старая, а на ее основе создается новая, в единственном числе.

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

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

не я выбираю как делать(. Сказали - бизнес процессом

Скрипт — тоже элемент процесса, если что.

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

я имел ввиду без кодинга

Можно заказать кодинг у одной из компаний-партнёров Terrasoft.

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

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

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