Здравствуйте. Добавил Tost в систему как в дополнении https://marketplace.terrasoft.ru/app/toast-notifications-creatio, добавил в него элемент процесса что бы из бизнес процесса было удобно на фронт отправлять сообщения в Tost, работает отлично и красиво, спасибо ребятам за их реализацию, но проблема в том что работает только когда включен режим "Отладки" в системных настройках, кода он выключен выдает ошибку

Нравится

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

Подскажите пожалуйста, можно ли на страницу контрагента добавить новое поле - ИНН, ОГРН, КПП юридического лица с валидацией? Т.е. уже готовое поле ИНН, которое будет проверять правильность ввода ИНН (валидировать по правилам "ключевания"). Или придется писать собственную валидацию поля? 

Нравится

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

Добрый день.

 

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

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

 

Похожее обсуждали тут и тут. Также см. статью. Похожий вопрос и разные подходы к его решению обсуждались тут. Также валидация детали описана в статье SDK в п. 2.

Как-то приходилось делать валидацию ИНН. Вот готовый код.

			setValidationConfig: function() {
				// Вызывает инициализацию валидаторов родительской модели представления.
				this.callParent(arguments);
				this.addColumnValidator("UsrINN", this.innValidator);
			},
 
			innValidator: function() {
				// Переменная для хранения сообщения об ошибке валидации.
				var inn = this.$UsrINN;
				var invalidMessage = this.validateInn(inn);
				// Если валидация прошла успешна, в объекте возвращаются пустые строки.
				return {
					// Сообщение об ошибке валидации, которое отображается в информационном окне
					// при сохранении страницы.
					fullInvalidMessage: invalidMessage,
					// Сообщение об ошибке валидации, которое отображается под элементом управления.
					invalidMessage: invalidMessage
				};
			},
 
			validateInn: function(inn) {
				var error = "";
				var result = false;
				if (typeof inn === "number") {
					inn = inn.toString();
				} else if (typeof inn !== "string") {
					inn = "";
				}
				if (!inn.length) {
					error = "необходимо заполнить";
				} else if (/[^0-9]/.test(inn)) {
					error = "ИНН может состоять только из цифр";
				} else if ([10, 12].indexOf(inn.length) === -1) {
					error = "ИНН может состоять только из 10 или 12 цифр";
				} else {
					var checkDigit = function (inn, coefficients) {
						var n = 0;
						for (var i in coefficients) {
							n += coefficients[i] * inn[i];
						}
						return parseInt(n % 11 % 10);
					};
					switch (inn.length) {
						case 10:
							var n10 = checkDigit(inn, [2, 4, 10, 3, 5, 9, 4, 6, 8]);
							if (n10 === parseInt(inn[9])) {
								result = true;
							}
							break;
						case 12:
							var n11 = checkDigit(inn, [7, 2, 4, 10, 3, 5, 9, 4, 6, 8]);
							var n12 = checkDigit(inn, [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8]);
							if ((n11 === parseInt(inn[10])) && (n12 === parseInt(inn[11]))) {
								result = true;
							}
							break;
					}
					if (!result) {
						error = "Неправильное контрольное число";
					}
				}
				return error;
			}

 

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

Добрый день

 

Существует БП, который в режиме онлайн в Детали из текстового поля (фио) создает контакт в разделе Физ лица. 

Затем возвращает обратно в Деталь этот контакт как ссылочное поле (справочник)

 

Вопрос:

Как сделать такой же механизм, но за прошлые периоды?

 

Я пробовала в Читать данные добавить в действие месяц (напр, июль), но отрабатывает одного и того же...

 

 

Нравится

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

я бы пошел следующим образом. В этот процесс (Назовем его Процесс 1) добавил ручной запуск. Добавил параметр Id записи которую надо обработать. Сделал второй процесс в котором бы выбрал все записи которые надо обработать и передал их как коллекцию данных в этот процесс через вызов подпроцесса.  Вкачество подпроцесса использовать Процесс 1. 

А породробнее можно. Что за процесс? как стартует? что хотите получить.

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

 

Алексей Следь,

 

1. Процесс стартует с добавления данных.

2. Из 1С интегрируется и добавляется сумма выплаты и фио в деталь "Получатели", где поле фио  текстовое. (Это отдельно созданный раздел и в нем деталь)

 

И нам нужно чтобы данные ложились в деталь в раздел Контакты.

 

3. Затем, с помощью БП фио попадает в раздел Физ лица в поле ФИО. 

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

 

Это начало работать с момента построения БП, но есть старые интегрированные данные, которые нужно так же обработать. Т.е. чтоб создался контакт и возвращалось ссылочным полем в поле физ лица в деталь "Получатели"

frown 

я бы пошел следующим образом. В этот процесс (Назовем его Процесс 1) добавил ручной запуск. Добавил параметр Id записи которую надо обработать. Сделал второй процесс в котором бы выбрал все записи которые надо обработать и передал их как коллекцию данных в этот процесс через вызов подпроцесса.  Вкачество подпроцесса использовать Процесс 1. 

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

Было такое приложение Custom filter constructor for Creatio от Banza. https://marketplace.terrasoft.ru/app/custom-filter-constructor-creatio  Перенастройка фильтра на быстрый поиск. Удобно в целом. Было потому что теперь по ссылке доступ запрещен. 
Приложение с ошибками, но работало.

На версии 7.17.4. Поставили 7.18.4 - приложение умерло. Поддержка от Банзы по почте молчит.
Что случилось с приложением? Как вернуть к жизни? или как отключить его в уже настроенном разделе? Т.к. пропало все, в том числе возможность вернуть стандартный механизм установки фильтров.

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

Нравится

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

Есть ли у кого-нибудь опыт использования OAuth 2.0 или OpenIdConnect для аутентификации пользователей Creatio? В частости при использовании Creatio на платформе Linux

Нравится

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

Creatio на текущий момент не поддерживает OAuth 2.0 аутентификацию пользователей, однако команда разработки рассматривает вариант имплементации этой возможности в будущих версиях.

 

Однако OAuth 2.0 авторизация доступна для внешних приложений и веб-сервисов. Ссылка на документацию. Этот функционал пока что доступен для NetFramework-сборок.

 

Кроме того, в приложении реализована поддержка протокола SAML 2.0, поэтому возможно использование любого провайдера идентификации, совместимого с SAML 2.0, возможно подойдёт этот вариант.

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

Добрый день.

При переходе с версии 7.14 на 7.18.3 у портальных пользователей начали возникать проблемы, при этом в консоли отображаются ошибки, при попытке получить данные по адресам:

../DataService/ssp/json/SyncReply/SelectQuery

../DataService/ssp/json/SyncReply/QuerySysSettings

в теле ответа от сервера указываются, в основном, 403 ошибки:

- Current user does not have sufficient permissions to read values of system setting with code

- Access to non-SSP API is denied for portal users

У обычных пользователей данные ошибки не возникают.

Подскажите, пожалуйста, в чем может быть проблема?

Нравится

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

Добрый день.

 

Касаемо возникшей ошибки, попробуйте выполнить следующие действия: 
1. В справочник "Список объектов, доступных пользователям портала" попробуйте добавить следующие объекты:
1) Новая функциональность
2) Статус функциональности.

2. Включите фичу UsePortalDataService, выполнив скрипт, что доступен в статье:
https://academy.terrasoft.ru/docs/developer/elements_and_components/interface_control_tools/feature_toggle
После выполнения скрипта потребуется очистить кэш сервера Redis.

3. Проверьте флаг в web.config приложения, строку: <add key="UsePortalDataService" value="true" />
Флаг должен быть в true. 

4. Объекты Feature и AdminUNitFeatureState должны администрироваться по операциям (как должны все объекты используемые на портале). 
После выполнения выше указанных действий, необходимо сделать очистку кэша сервера Redis и повторить попытку входа на портал.

Ivan Kuchma,

 

Добрый день.

Проверил все 4 пункта:

1. Таблицы Feature и AdminUnitFeatureState уже добавлены в Lookup "List of objects available for portal users";

2. SQL скрип выполнил;

3. Проверил web.config из каталога Terrasoft.WebApp - ключ UsePortalDataService в значении True;

4. Объект AdminUNitFeatureState имел настройку админ. по операциям, для объекта Feature добавил данную настройку.

Redis чистил.

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

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

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

Доброго времени суток.

В менеджере лицензий и в конфигурации не подтягиваются подписи:

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

Нравится

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

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

 

Sorotiuk Anna,

 

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

К сожалению, информация из Вашего обсуждения мне не помогла решить описанную проблему.

Есть ещё какие-то варианты?

Алла Савельева, добрый день!
Проверьте, пожалуйста, есть ли в IIS в списке MIME-types - ".json" "application/json".
Если нет добавьте его вручную и проверьте воспроизведение.

Попробуйте просто зайти через инкогнето в браузере. Данная проблема появилась после перехода на angular, и при обновлении часто такое бывает. Пока смог решить удалением app всего, и развертыванием с настпойками заново. Базу не трогайте, только приложение удалите и заново закиньте, ну и redis почистить

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