Добрый день, надо настроить саморегистрацию на портале. Вопрос следующий, при переходе https://app/Login/SSPLogin.aspx при попытке регистрации выходит сообщение:

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

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

Нравится

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

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

SSPRegistrationMailbox

 

https://academy.terrasoft.ru/docs/user/drugie_reshenija/portal/administ…

Трефилов Павел Сергеевич,

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

Евгений Шевченко, добрый день!

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

 

Общая последовательность шагов есть в документации, последовательность шагов:

https://academy.terrasoft.ru/docs/user/drugie_reshenija/portal/administ…

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

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/na…

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

https://disk.yandex.ru/i/TPTO7fmND5w0xQ

Хочу написать формулу  в  бизнес правиле, которая при наступлении события добавит к дате завершения + год, но не могу понять какими значениями необходимо заполнить ДобавитьГод (?,?)

Нравится

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

 

Добрый вечер ! Попробуйте такой синтаксис

 

Tigran Gevorgyan,

Благодарю!!  Только, после применения на тестах не отобразился результат работы бизнес правила, или есть нюанс?

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

Указанная формула для правила точно правильная. Проверил на триал сайте его работу, для поля с типом Дата или Дата/Время добавляет ровно год.

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

Ivan Kuchma,

Спасибо за ответ, только правило ни в какую не работает, сколько бы я ни делала перезагрузок и очисток кэша, пробовала на нескольких стендах это же правило..

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

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



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

 

Нравится

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

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

Добрый день!



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

Также, возможно, Вы пытаетесь загрузить файл, размер которого превышает 10 Мб(по умолчанию), тогда вам необходимо проверить системную настройку "MaxFileSize". Возможно Вы пытаетесь загрузить файл, расширение которого запрещено в системе. Запрещенные файлы для загрузки в систему можно посмотреть в системной настройке "FileExtensionsDenyList"

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

Какие сборки Linux рекомендуются к установке помимо Debian? Распространяется ли поддержка на сборку с использованием альтернативных версий Linux (Ubuntu, Astra и др.)

Нравится

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

Работоспособность приложения была протестирована именно на Linux Debian, поэтому гарантировать корректную работу функционала мы можем только для этого дистрибутива. Однако приложение может быть успешно установлено и на другие дистрибутивы, есть кейсы с дистрибутивами Ubuntu, Astra Linux, CentOS и т.д.

 

Но конкретно поддержка распространяется только на Debian.

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

Добрый день!

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

actionMenuItems.addItem(this.getButtonMenuItem({.......}})

Нравится

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

создаёте набор подпунктов меню:



var subMenuItems = this.Ext.create("Terrasoft.BaseViewModelCollection");

var subMenuCaption = "Test";



subMenuItems.addItem(this.getButtonMenuItem({

                   Caption: "sub test 1",

                   Click: {"bindTo": "subTest1Click"}

                    }));

subMenuItems.addItem(this.getButtonMenuItem({

                   Caption: "sub test 2",

                   Click: {"bindTo": "subTest2Click"}

                    }));



А затем весь набор в действия:



var subMenuItem = this.Ext.create("Terrasoft.BaseViewModel", {

                    values: {

                        Caption: subMenuCaption,

                        Id: this.Terrasoft.generateGUID(),

                        Items: subMenuItems,

                        MarkerValue: subMenuCaption

                    }

                });



 actionMenuItems.addItem(subMenuItem);

создаёте набор подпунктов меню:



var subMenuItems = this.Ext.create("Terrasoft.BaseViewModelCollection");

var subMenuCaption = "Test";



subMenuItems.addItem(this.getButtonMenuItem({

                   Caption: "sub test 1",

                   Click: {"bindTo": "subTest1Click"}

                    }));

subMenuItems.addItem(this.getButtonMenuItem({

                   Caption: "sub test 2",

                   Click: {"bindTo": "subTest2Click"}

                    }));



А затем весь набор в действия:



var subMenuItem = this.Ext.create("Terrasoft.BaseViewModel", {

                    values: {

                        Caption: subMenuCaption,

                        Id: this.Terrasoft.generateGUID(),

                        Items: subMenuItems,

                        MarkerValue: subMenuCaption

                    }

                });



 actionMenuItems.addItem(subMenuItem);

Владимир Соколов,

 спасибо большое!

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

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

Встречал кто ни будь такой баг или фичу и как смогли обойти? 

Реализовали кнопки в совмещенном режиме, после каких-то действий в карточке, необходимо поменять перечень кнопок в совмещенном режиме. Отправляется message с помощью sandbox в Section запускается метод this.reloadGridData(). Все работает отлично, но только до одного момента. Существует стандартный боковой список, по умолчанию подтягивается вроде 30 записей (не суть), когда скролл списка крутим вниз, то срабатывает needLoadData() из схемы BaseDataView.js появляется еще 30 записей, если выбрать запись из прогруженных, запустить выше описанную логику, то после метода this.reloadGridData() теряется ActiveRow, а это влияет на логику завязанный на ActiveRow в совмещённом режиме. Даже не используя боковой список, а перейдем в запись, например, 50 по счету, то после выполнения метода this.reloadGridData() пропадает ActiveRow. У вас так же?

define("ContactSectionV2", [], function() {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		messages: {
			"buttonChanged": {
				mode: this.Terrasoft.MessageMode.PTP,
				direction: this.Terrasoft.MessageDirectionType.SUBSCRIBE 
			}
		},
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		methods: {
			init: function() {
				this.callParent(arguments);  
				this.buttonVisibleToMessages();
			},
			buttonVisibleToMessages: function(){
				var subscriberId = this.sandbox.id + "_CardModuleV2";
				this.sandbox.subscribe("buttonChanged", function() {				
					//debugger
					this.reloadGridData();
				}, this, [subscriberId]);
			},
		}
	};
});
define("ContactPageV2", [], function() {
	return {
		entitySchemaName: "Contact",
		attributes: {},
		messages: {	
			"buttonChanged": {
				mode: this.Terrasoft.MessageMode.PTP,
				direction: this.Terrasoft.MessageDirectionType.PUBLISH //тут мы получаем
			}
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
			onEntityInitialized: function() {
				this.callParent(arguments); 
			},
			onSaved: function() {
				this.callParent(arguments);
				this.sandbox.publish("buttonChanged", null, [this.sandbox.id]);
			},
		},
		dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
	};
});



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

Нравится

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

Здраствуйте,  рекомендую обратить внимание на пример реализации описан в статье: https://academy.terrasoft.ru/docs/developer/ehlementy_interfejsa/strani…

В схеме ContactSectionV2 можно добавить метод, в котором явно будет определять activeRow = this.get("ActiveRow");

Здраствуйте,  рекомендую обратить внимание на пример реализации описан в статье: https://academy.terrasoft.ru/docs/developer/ehlementy_interfejsa/strani…

В схеме ContactSectionV2 можно добавить метод, в котором явно будет определять activeRow = this.get("ActiveRow");

Алёна Доля,

Спасибо, помогло!

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

Добрый день! При вызове бизнес - процесса из клиентского модуля AccountPageV2, происходит следующая ошибка:

ProcessModuleUtilities.executeProcess is not a function

Подскажите, пожалуйста, в чем проблема? Раньше это работало.

Вызов осуществляется следующим образом.

var config = {
    sysProcessName: "UsrMyCustomProcess",
    parameters: { 
        SomeProcessParam: someValue 
    }
};
ProcessModuleUtilities.executeProcess(config);

 

Нравится

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

Татьяна, 

Рекомендую ознакомится с статьей https://academy.terrasoft.ru/docs/developer/integratsiya_i_vneshnij_api…, в ней пошагово описана реализация запуска процесса с схемы.

в конструктор пропиши ProcessModuleUtilities

 

define("AccountPageV2", ["ProcessModuleUtilities"],

    function( ProcessModuleUtilities)

Dima Avdoshin, это прописано

Татьяна, 

Рекомендую ознакомится с статьей https://academy.terrasoft.ru/docs/developer/integratsiya_i_vneshnij_api…, в ней пошагово описана реализация запуска процесса с схемы.

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

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

Нравится

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

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

 

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

https://community.terrasoft.ru/questions/filtraciya-spravochnogo-polya-…

https://community.terrasoft.ru/questions/filtr-spravochnogo-polyaneskol…

https://community.terrasoft.ru/questions/slozhnyy-filtr-v-spravochnom-p…

https://community.terrasoft.ru/questions/filtraciya-spravochnogo-polya-1

 

 

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

Добрый день!

Подскажите, пожалуйста, как с помощью CreateFilterWithParameters построить фильтр для поиска, не зависящего от регистра? Есть ли возможность применить upper, lower?

Нравится

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

При добавлении или редактировании концертной программы для случая, если она ежедневная, выполнять проверку: если в результате изменений общее число активных ежедневных программ в системе будет превышать значение 3 UsrSysSetingMaxNumberActiveDailyPrograms - системная настройка то выводить сообщение об ошибке

Способ реализации:

обработчики в коде JavaScript страницы редактирования с применением клиентского ESQ и механизма валидации.

Нравится

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

Илья, реализовать вашу логику можно несколькими вариантами. 

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

2) Использовать событийный слой. Тут логика похожая, только можно считывать значение системной настройки UsrSysSetingMaxNumberActiveDailyPrograms и уже по нему выполнять необходимую логику. Также в этой событийной логике вы можете прописать логику добавления значения к этой системной настройке.

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