Добрый день!

Для русской версии есть [#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
клиентская схема
модуль
7.14_()
sales

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

Данное поведение встречается на версии 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 ни в одной из перечисленных версий нет.

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

Добрый день.

Существует необходимость провести инвентаризацию прав всего массива Контрагентов в 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)

Показать все комментарии
editPages
Открытие страницы раздела
Lookup
7.14_()
sales

Привет.

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

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

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

Идеи?

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.

Показать все комментарии
7.14_()
sales

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

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

При попытке добавления детали - возникает ошибка "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 может как-то повлиять ? 

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

Показать все комментарии
7.14_()
sales

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

Нравится

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Показать все комментарии
7.13_()
sales

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

Нравится

1 комментарий

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

Видимо, так и нужно. Также см. похожее обсуждение по изменению «собаки» в ленте.

Показать все комментарии
звонок
7.14_()
sales

Добрый день.

С помощью БП я создаю лид при поступлении звонка, и мне необходимо добавить запись звонка к этому лиду.

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

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

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

Нравится

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

Добрый день.

В теории так, как Вы реализовали, должно работать.

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

Также, если у Вас on-site, то с помощью SQL Server Profiler можно посмотреть, какой запрос идет базу, когда выполняется этот элемент.

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

Судя по данным трассировки БП то лид добавляется, но по факту оказывается что нет:

Семенов Михаил пишет:

Судя по данным трассировки БП то лид добавляется

А разве проблема была в том, что лид не добавлялся - Вы же писали, что в звонке не заполняется поле 'Лид'?

Всё-таки просмотрите профайлером, какой запрос идет в базу.

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

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

 

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

Показать все комментарии
cti
пользователи
7.12
sales

Подскажите как можно экспортировать пользователей с номерами IP телефонии что занесены в настройки пользователя?

Нравится

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

Вот пример формата поля ConnectionParams - {"debugMode":false,"disableCallCentre":true,"ExtensionName":"123"}

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

Ещё, как вариант, можно написать стандартный sql-запрос insert.

Для выгрузки данных реализуйте sql-запрос.

Если у Вас bpm'online on-site, то можно выполнить запрос прямо на сервере баз данных через Microsoft SQL Server Management Studio.

Если on-demand, то можно установить Модуль для выполнения SQL - скриптов "SQL Executor" и выполнить запрос из него.

И оттуда, и оттуда можно информацию выгрузить в MS Excel.

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

а в какой таблице хранятся данные о номерах ip телефонии что прикреплены к пользователю? Мне нужно выгрузить таблицу с колонками "контакт; номер телефона avaya"

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

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

Подозреваю, что речь о настройках телефонии Avaya, которые хранятся в части записей таблицы SysMsgUserSettings сериализированными в формате JSON в поле ConnectionParams. И в SQL-запросе придётся этот JSON парсить, вычленяя номер.

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

Вот пример формата поля ConnectionParams - {"debugMode":false,"disableCallCentre":true,"ExtensionName":"123"}

Для разных систем телефонии формат ещё и разный.

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