Вопрос

Добрый день всем.

 

Коллеги, подскажите почему данная конструкция не взлетает 

assembly.CreateInstance("Terrasoft.Configuration.ContactSchema")

всегда получаю ошибку

"Constructor on type 'Terrasoft.Configuration.ContactSchema' not found."

Хотя у любых других Классов их инстансы я получаю. Я понимаю что в Terrasoft.Core есть методы по получению Инстенсов по Имени или через UID схемы. Но мне в задачи требуется создать Инстенс схемы, или через данную конструкцию, что описал выше или через Activator.CreateInstanse. Помогите пожалуйста как правильно работать со схемами таблиц через данные конструкции. Спасибо.

У меня такой же вопрос

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

Добрый день!
У ContactSchema нет конструктора без параметров.

Сидоров Александр В.,

И как правильно тогда мне создать Инстенс Контактов, Контрагентов ?

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

Власов Михаил Викторович,

Можно так

var contact = new Terrasoft.Configuration.Contact(_userConnection);

Если вас интересует именно через рефлексию, то нужно смотреть описание каждого класса, создавать параметры и передавать их в конструктор. Подробнее в https://docs.microsoft.com/ru-ru/dotnet/api/system.reflection.assembly…

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

Добрый день!

Возможно кто-нибудь ранее сталкивался с проблемами в мобильном приложении на iOS. Приложение постоянно намертво зависает при создании/редактировании активностей. Очистка кэша помогает ровно до первого раза. Пользователи устройств на android таких проблем не испытывают. С интернетом и свободным пространством на телефоне проблем нет.

Десктопная версия BPM 7.12, мобильная 7.13.

Чем могут быть вызваны проблемы в мобильном приложении на iOS? Может ли кто-нибудь посоветовать метод борьбы с данными проблемами? 

У меня такой же вопрос

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Всем доброго времени суток!
Есть задача при изменении кол-ва продуктов или же изменении продукта в детали Продукт в заказе просчитывать Amount и TotalAmount. Реализую данную задачу через пользовательское бизнес правило:
 

Terrasoft.sdk.Model.addBusinessRule("OrderProduct", {
	name: "WaOrderProductAmountValidatorRule",
	ruleType: Terrasoft.RuleTypes.Custom,
	triggeredByColumns: ["Quantity", "Product"],
	events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
	executeFn: function(model, rule, column, customData, callbackConfig) {
		window.console.info(model);
		debugger;
		var product = model.get("Product");
		if ((!product) || Ext.isEmpty(product)) {
			model.set("Price", 0, true);
			model.set("TotalAmount", 0, true);
			model.set("Amount", 0, true);
		} else {
			var quantity = model.get("Quantity");
			var price = product.get("Price");
			var amount = quantity * price;
			model.set("Amount", amount, true);
			model.set("TotalAmount", amount, true);
		}
		Ext.callback(callbackConfig.success, callbackConfig.scope);
	}
});

Но почему то значение цены продукта возвращает null:
 

{
	"modified":{
		"Id":"fbfb2d62-4439-486b-ae2f-b360f9e899f8"
	},
	"raw":{},
	"stores":[],
	"data":{
		"Id":"1fd85496-4cc0-485c-ad37-bb91857e65df",
		"Name":"Гидрогелевая маска для лица WOW Mask",
		"ProcessListeners":null,
		"Price":null,
		"Active":false,
		"IsArchive":false
	},
	"_data":{
		"Id":"1fd85496-4cc0-485c-ad37-bb91857e65df",
		"Name":"Гидрогелевая маска для лица WOW Mask",
		"ProcessListeners":null,
		"Price":null,
		"Active":false,
		"IsArchive":false
	},
	"id":"fbfb2d62-4439-486b-ae2f-b360f9e899f8",
	"internalId":"fbfb2d62-4439-486b-ae2f-b360f9e899f8",
	"phantom":true,
	"dirty":true
}

Хотя значение цены есть - http://prntscr.com/my9x2o

У меня такой же вопрос

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

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

var controller = Terrasoft.app.getControllerInstances()["MyController"];
//Можно задебажиться и посмотреть, какие экземпляры контроллеров есть, среди них должен быть нужный
var control = controller.getFieldByName("MyColumn", record);
control.setValue(value);

Или ещё вариант:

var control = Ext.getCmp("{ViewId}_{PageType}_{ColumnName}_Column");
// {ViewId} - id представления, {PageType} - тип страницы Edit или Preview, {ColumnName} - название колонки, например AccountPage_Edit_AlternativeName_Column
control.setValue(value);

 

Бершеда Д. Н.,

 Здравствуйте! Я настроил кастомное правило и все хорошо изменяется, в данном случае сумма в зависимости от цены и кол-ва товаров. Вопрос в другом, не видит значение цены продукта, вот пример:
Есть заказ с продуктами -

http://prntscr.com/mz1088, меняю кол- во продукта срабатывает правило - http://prntscr.com/mz10kr
Мне возвращает цену продукта null - http://prntscr.com/mz10vd
Почему так происходит? В манифест зависимости добавил.

Нигрескул Алексей,

Такое происходит из-за того, что в конфиг запроса для справочной колонки никоим образом не была добавлена нужная колонка. Можно в явном виде добавить таким кодом где-нибудь в ModuleConfig:

    var additionalProductColumns = ["Price", /*прочие колонки*/];
    var productQueryConfig = Terrasoft.sdk.LookupGridPage.getQueryConfig("Product");
    Terrasoft.sdk.LookupGridPage.updateQueryConfigColumns(null, {columns: additionalProductColumns}, productQueryConfig);

Либо можно для converFuction первичной или вторичной колонки добавить её в LookupGridPage.

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

Здравствуйте, есть необходимость переименовать организационную роль all emploees во "Все сотрудники" пока переименовал название роли в тестовой системе, новым пользователям роль присваивается, выдается записям. 

Переименовывал кто-то орг. роль all employees? Будут последствия для системы? 

У меня такой же вопрос

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

Добрый день!
По сути орг. роль - это запись в таблице SysAdminUnit.
И должна быть связка по Id. Так что проблем быть не должно.

PS: поиск по "all emploees" по исходным кодам результата не дает

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

Здравствуйте, при доработке добавили несколько новых состояний обращения. Одно из них это "Проведен расчет", суть практически такая же как и у "Закрыто".

Суть в чем, на странице списка обращений есть галочка "отображать закрытые", которая показывает/скрывает закрытые обращения.

Каким образом модифицировать эту галку, чтобы она цепляла за собой и обращения с новым состоянием "Проведен расчет"?

У меня такой же вопрос

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

Добрый день!
Необходимо заместить схему CaseSection и модифицировать метод getFilters

Либо у нового статуса проставить галочку IsFinal. Тогда изменять код не придется

Сидоров Александр В., Спасибо большое, надо было документацию мне повнимательней читать)

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

Добрый день!
На главной странице портала по умолчанию есть два модуля в панели итогов, "Мои обращения" и "Популярные статьи".
Написал новый модуль по аналогии с Мои обращения - "Мои проблемы".
Он точно также как и обращения должен отображать номер и тему.
Добавил его на панель итогов. При открытии панели возникает ошибка в браузере, а на месте дашборда пусто:
Message GetSectionFilterModuleId is not defined in UsrProblemListModule (PortalMainPageModule_DashboardModuleModuledc874fc63a3cUsrProblemListModule) module 
 date: Thu Mar 14 2019 15:31:45 GMT+0300 (Москва, стандартное время)
 moduleId: PortalMainPageModule_DashboardModuleModuledc874fc63a3cUsrProblemListModule
 moduleName: UsrProblemListModule

 

Есть какая-то документация по разработке такого решения? Или ваши примеры кода. Спасибо.

 

У меня такой же вопрос

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

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

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

Добрый день!

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

У меня такой же вопрос

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

По умолчанию при добавлении фильтра по колонке «Дата/Время» не учитывается время. Необходимо в параметрах элемента «Читать данные» дополнительно проставлять признак «Учитывать время в фильтре» (изначально стоит false).

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

Добрый день!

При привязке контакта или обращения к звонку, в CTI панели звонок не обновляется. Необходимо перезагружать страницу. Также, есть БП, которые правят звонки и по завершению необходимо также обновить CTI панель. Но заменить модуль CTI нет возможности. Как быть в этом случае?

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

У меня такой же вопрос

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

Уже обсуждалось тут

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

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

Версия приложения 7.13.3.481_SalesEnterprise_Marketing_ServiceEnterprise_Softkey_Oracle_ENU

У меня такой же вопрос

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

На текущий момент действительно наблюдаем подобные проблемы при использовании 12-й версии ODAC.
Для их решения рекомендуем установить на 11-м:

1) Удалить ODAC v.12 

2) Установить ODAC v.11 x64 протестирвать кейс:
    cmd: install.bat all c:\oracle64 oracle64
3) Если ошибка сохранится, установить ODAC v.11 x32, в свойствах пула приложения установить "Enable 32-bit applications" в "true", проверить кейс.
    cmd: install.bat all c:\oracle32 oracle32

 

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

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

Terrasoft.sdk.Model.setModelEventHandler("WaRecordClientToEventInVisit", 
	Terrasoft.ModelEvents[Terrasoft.ModelEventKinds.Before].insert,
	function(config) {
		debugger;
		var record = config.scope.eventConfig.records[0];
		window.console.log(record);
		var contact = record.data.Activity.data.Contact;
		record.data.Contact = contact;
		window.console.log(record);
		Ext.callback(config.success, config.scope);
});

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

У меня такой же вопрос

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

Такое можно реализовать на уровне серверной логики — во встроенном или отдельном БП на событии сохранения записи детали. Он сработает в момент сохранения, если онлайн-ражим, или в момент синхронизации с основной базой.

Войдите или зарегистрируйтесь, чтобы комментировать