7.13_()
sales_enterprise

Здравствуйте!

В БП созданы 2 параметра AccountType(справочник) и AccountId(уникальный идентификатор). Создал задание-сценарий с текстом 

AccountType = Guid.Parse(TypeString);

AccountId = Guid.Parse(IdString);

Компиляция проходит без ошибок, но при запуске получаю ошибку "The name 'AccountId' does not exist in the current context", при этом с AccountType все в порядке.

В случае интерпретируемого процесса ошибка аналогичная.

Предполагаю, что это особенность типа, но как исправить?

Нравится

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

Проверьте в параметрах что AccountId это именно не название а код параметра и для интерпритируемых используйте

var accountId = Get<Guid>("AccountId");

Проверьте в параметрах что AccountId это именно не название а код параметра и для интерпритируемых используйте

var accountId = Get<Guid>("AccountId");

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

Спасибо.

Имена копировал, ошибка оставалась, пока не переименовал параметр.

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

Сейчас все работает.

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

Добрый день!

Подскажите, где (в каком месте) заполняется параметр БП [#Id созданного счета#] в БП CreateInvoice?

В этот параметр попадает Id вновь созданного счета, на каком этапе, не могу понять, помогите разобраться

Нравится

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

Заполняется в методе CreateInvoice БП CreateInvoiceFromOrder

public virtual void CreateInvoice() {
	OrderInvoiceHelper helper = Factories.ClassFactory.Get&lt;OrderInvoiceHelper&gt;(new Factories.ConstructorArgument("userConnection", UserConnection));
CreatedInvoiceId = helper.CreateEntity("Order", "Invoice", CurrentOrder, new Dictionary&lt;string, string&gt; {
	{"Currency", "Currency"},
	{"CurrencyRate", "CurrencyRate"},
	{"Contact", "Contact"},
	{"Account", "Account"},
	{"Owner", "Owner"},
	{"Amount", "Amount"},
	{"Opportunity", "Opportunity"}
}, new Dictionary&lt;string, object&gt; { { "Order", CurrentOrder } });
}

 

Заполняется в методе CreateInvoice БП CreateInvoiceFromOrder

public virtual void CreateInvoice() {
	OrderInvoiceHelper helper = Factories.ClassFactory.Get&lt;OrderInvoiceHelper&gt;(new Factories.ConstructorArgument("userConnection", UserConnection));
CreatedInvoiceId = helper.CreateEntity("Order", "Invoice", CurrentOrder, new Dictionary&lt;string, string&gt; {
	{"Currency", "Currency"},
	{"CurrencyRate", "CurrencyRate"},
	{"Contact", "Contact"},
	{"Account", "Account"},
	{"Owner", "Owner"},
	{"Amount", "Amount"},
	{"Opportunity", "Opportunity"}
}, new Dictionary&lt;string, object&gt; { { "Order", CurrentOrder } });
}

 

Вот я слепошарый! Спасибо!

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

Добрый день!

Подскажите, есть ли возможность отобразить идентификатор контрагента (dbo.Account.Id) например на странице контрагента? Почему-то колонка Id в мастере раздела не отображается и в БП в справочнике контрагента её использовать не получается.

Нравится

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

Добрый день!

Только кодом. Пример замещенной схемы контрагента:

define("AccountPageV2", [], function() {
	return {
		entitySchemaName: "Account",
		attributes: {
			"AccountId": {
				dataValueType: this.Terrasoft.DataValueType.TEXT,
				value: "",
				caption: "Id"
			},
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
				this.set("AccountId", this.get("Id"));
			},
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "AccountId",
				"parentName": "ProfileContainer",
				"propertyName": "items",
				"values": {
					"bindTo": "AccountId",
					"layout": {
						"column": 0,
						"row": 1,
						"colSpan": 24
					},
					"enabled": false
				}
			},
		]/**SCHEMA_DIFF*/
	};
});

Результат:

Добрый день!

Только кодом. Пример замещенной схемы контрагента:

define("AccountPageV2", [], function() {
	return {
		entitySchemaName: "Account",
		attributes: {
			"AccountId": {
				dataValueType: this.Terrasoft.DataValueType.TEXT,
				value: "",
				caption: "Id"
			},
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments);
				this.set("AccountId", this.get("Id"));
			},
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "AccountId",
				"parentName": "ProfileContainer",
				"propertyName": "items",
				"values": {
					"bindTo": "AccountId",
					"layout": {
						"column": 0,
						"row": 1,
						"colSpan": 24
					},
					"enabled": false
				}
			},
		]/**SCHEMA_DIFF*/
	};
});

Результат:

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

Значение отображается.

А что нужно сделать, чтобы оно отображалось в списке значений справочника Контрагент?

Виталий Егоров пишет:

А что нужно сделать, чтобы оно отображалось в списке значений справочника Контрагент?

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

Да, неясно выразился. Если точнее - нужно создать переменную в БП (как я понимаю типа справочник), чтобы прочитать значение Id и сравнить с полученным извне.

Виталий Егоров,

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

Элемент БП 'Чтение данных' позволяет выбрать значение поля Id того объекта, из которого Вы вычитываете данные. Точно также значение Id записи можно получить и из сигнала.

А потом в элементе формула Вы можете Вашему параметру БП присвоить это значение.

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

Алла Савельева пишет:

Спасибо, Алла! А есть ли возможность задать Id при создании нового контрагента процессом? 

Все, разобрался.

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

Имеются две среды, две базы на двух разных машинах. Базы отличаются друг от друга. На одной машине у меня есть пакеты разработки, которые я могу менять. Как мне их правильно перенести на другую базу на другую машину, чтобы они там остались доступны мне для изменения? SVN Server есть

Нравится

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

Попробуйте настроить работу с SVN для обоих сред. Подробнее смотрите здесь.

Попробуйте настроить работу с SVN для обоих сред. Подробнее смотрите здесь.

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

то есть разработка далее будет идти только в файловой системе?

Линар Аминев,

А что Вас смущает в разработке в файловой системе?

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

да в целом ничего. будем значит в файловой системе. спасибо за ответ)

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

Добрый день!

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

 

Нравится

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

Используйте не браузер смартфона, а мобильное приложение. Там упоминания в ленте работают.

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

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

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

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

Пробовали через различные браузеры, не помогает(

Значит, все они или ОС устройства не из списка поддерживаемых:

 

Операционная система Microsoft Windows (Windows 7; Windows 8; Windows 10):

  • Google Chrome последней официальной версии на дату релиза bpm’online
  • Mozilla Firefox последней официальной версии на дату релиза bpm’online
  • Microsoft Internet Explorer версии 11 и выше;
  • Microsoft Edge

Операционная система OS Х последней официальной версии

  • Apple Safari последней официальной версии на дату релиза bpm’online

В принципе, это логично, у смартфонов другие ОС и браузеры.

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

Коллеги, доброго дня! Возникла потребность выдать права на чтение всех разделов системы. Логично подумала, что выдав права к системной операции [Просмотр любых данных] я полностью ее покрою, но нет. Раздел [Журнал процессов] оказался недоступен.

Это нормальное поведение системы? И если да, то что порекомендуете?

Нравится

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

Здравствуйте! Что касается журнала процессов попробуйте данную настройку - http://prntscr.com/nafckz&nbsp;

Включите пользователя, которому нужны права на чтение всего, в группу [Системных администраторов].

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

Здравствуйте! Что касается журнала процессов попробуйте данную настройку - http://prntscr.com/nafckz&nbsp;

Алексей, спасибо! Это то, что нужно

Показать все комментарии
Обращения
раздать права
7.13_()
sales_enterprise

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

На новые обращения работает, но на эти 30 обращений не отбираются права. (Вижу обращения с контрагентом "Контрагент №2" через портал под пользователем с контрагентом "Контрагент №1" ) 

Вопрос, что может устанавливать права, кроме этого бизнес процесса? Техподдержка не помогла.

Нравится

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

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



Так мы исключим вариант, что процесс некорректный.



У наших клиентов тоже перераспределяются права на обращения после изменения SLA или Контакта, и всё срабатывает. Правда, там в условии я по старой привычке пишу, что Id должно быть заполнено, но возможно, сейчас такое и не требуется

Если процесс даже не запускается на редактирование полей, то покажите стартовые сигналы

Владимир Соколов, запускается, на каждое изменение, но не отрабатывает, как будто права, кто-то свыше меняет.

 

Rinat,

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

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

Также, возможно, отрабатывает еще какая-то дополнительная логика. Чтобы понять, что это может быть, посмотрите SQL Profiler, какие запросы идут в этот момент в базу данных.

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



Так мы исключим вариант, что процесс некорректный.



У наших клиентов тоже перераспределяются права на обращения после изменения SLA или Контакта, и всё срабатывает. Правда, там в условии я по старой привычке пишу, что Id должно быть заполнено, но возможно, сейчас такое и не требуется

Показать все комментарии
Установка пакетов из приложения
бэкап
7.11
sales_enterprise

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

При откатывании тоже возникла ошибка и система сообщила, что восстановление из бэкапа невозможно.

При этом в интерфейсе системы и в БД пропали некоторые поля и такое ощущение, что система откатилась примерно на месяц назад.

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

Нравится

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

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

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

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

На кастомной странице существует быстрый фильтр по дате создания. 

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

 

 

Задача состоит в том чтобы добавить еще быстрый фильтр по дате загрузки товара (поле существует в объекте)

При добавлении быстрого фильтра по статьи в академии выскакивает ошибка 

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

также добавляю скрин исходного кодаИзображение удалено.

 

Нравится

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

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

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

Если Вам необходимо реализовать несколько быстрых фильтров по дате, следует заместить логику BaseDataView (пакет NUI), предусмотреть возможность работы еще с одним фильтром - добавить строки, аналогичные всем тем, где упоминается PeriodFilter.  

Опишите более детально, если можно то из примерами.

См. в коде BaseDataView, QuickFilterModule,  ReportFilterModule и других схем, где упоминается PeriodFilter, как там работают с этим фильтром.

Показать все комментарии
SVN
Разработка
Мобильное приложение
7.13_()
sales_enterprise

Всем доброго времени суток!

Кто нибудь сталкивался с такой проблемой:

Сайт развернут локально. Создаем деталь мобильного приложения через мастер, схемы создались - https://prnt.sc/n6surw

Фиксирую в СВН  - http://prntscr.com/n6svs3

Фиксация проходит успешно - http://prntscr.com/n6svyk

Результат в Svn зафиксировались только метаданные - http://prntscr.com/n6swjg 

http://prntscr.com/n6sx1x 

http://prntscr.com/n6sx6r

 

Нравится

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

Попробуйте так. Фиксируйте в свн 2 раза подряд. Перый раз уедут метаданные, второй раз - все остальное. Мы с этим сталкиваемся регулярно, но решения пока нет...

Попробуйте так. Фиксируйте в свн 2 раза подряд. Перый раз уедут метаданные, второй раз - все остальное. Мы с этим сталкиваемся регулярно, но решения пока нет...

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