Вопрос

Создал модуль. Отобразил его в манифесте. Пробую отфильтровать деталь по значениям в колонке следующим образом - не помогает. Что может быть не так?

 
Terrasoft.sdk.Details.addFilter("Account", "UsrSchema4DetailStandardDetail", Ext.create("Terrasoft.Filter", {
	name: "UsrProductInAccountStatusFilter",
	type: Terrasoft.FilterTypes.Group,
	logicalOperation: Terrasoft.FilterLogicalOperations.Or,
	subfilters: [
		{
			property: "UsrProductStatus",
			value: "9b7bdb4f-4a49-49ea-a65d-65415a9f2ebc" // Значение статуса "ИНФОРМАЦИЯ"
		},
		{
			property: "UsrProductStatus",
			value: "24cee800-da09-4dfe-85e9-8dbe649b7b69" // Значение статуса "ЧУЖАЯ ПРОДАЖА"
		}]
	}));

 

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

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

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

Подскажите пожалуйста как так получается, что фильтры которые я применяю к реестру Контакта накладываются на поле Ответственный в Заказе - http://prntscr.com/of9vys?
А то что мне необходимо фильтровать в данном поле не отображает - http://prntscr.com/of9wvo
 

 

 

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

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

И почему то вообще не срабатывает бизнес правило фильтрации:
http://prntscr.com/ofa2wb - правило добавилось
http://prntscr.com/ofa4mc - в списке пусто
http://prntscr.com/ofa5ds - контакты есть удовлетворяющие условиям фильтрации

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

Коллеги, добрый день!

В рамках доработки по назначению задач на группы ответственных столкнулся с ситуацией, когда ответственный заполняется текущим пользователем по-умолчанию.
Отключил в объекте проверку на заполненность поля на уровне приложения.
Остается видимо еще дополнительная логика на уровне JS и C#, которая соответственно заполняет исполнителя при открытии карточки задачи в режиме создания и + при создании задачи логикой C# (при открытии карточки задачи уже после ее успешного создания поле все равно становится заполненным).
Просьба уточнить как снять заполнение поля на этих двух оставшихся шагах.

С уважением,
Кулиш Александр

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

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

Добрый день!

Проверьте заполнено ли в EntityScheme в поле 'Ответственный' свойство 'Значение по умолчанию'. Если установлено, то нужно зайти в настройки данного свойства и выбрать вариант 'Не устанавливать значение по умолчанию'.

После этого нужно сохранить и опубликовать схему таблицы.

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

После этого перелогиниться в приложение и проверить заполняется ли поле 'Ответственный' в активностях.

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

Спасибо! Вопрос решен.

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

Добрый день. Поставлена задача сделать 2 таблицы в реестре раздела, так, что бы одна зависела от другой. Я изменил немного стили, добавил в блок diff еще один datagrid, переопределил некоторые методы, и задача частично решена. Отображается 2 таблицы, при выборе строки в главной таблице подгружаются данные во второстепенную. Так же реализовал просмотр карточки для второй таблицы. Но есть одна нерешенная проблема. Я хочу сделать так, что бы во второстепенной таблицы был редактируемый реестр. Что бы изменять данные в ней, не открывая карточку, и частично это уже работает.

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

Посоветуйте как лучше поступить?

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

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

Описываемый дизайн интерфейса с основным реестром вверху и реестром детали выбранной записи внизу использовался в версиях 3.Х и 5.Х, а в bpm'online 7.X от него отказались. Сейчас детали открывают внутри страницы редактирования, а при желании слева можно открыть вертикальный реестр раздела:

scr_list_setting_vertical_grid.png

Вы реализуете свой вариант, похожий на старые версии. Не видя всего готового кода, развёрнутого в системе, сложно дать точечную рекомендацию. Если стандартно в каком-то разделе есть похожий механизм, посмотрите в нём. В первую очередь, начните с раздела «Планирование», где самый нестандартный подход к реестру:

scr_edited_plan.png 

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

На объекте включено наследование прав

При этом корректно отсутствует возможность добавить, удалить и отредактировать эту запись.

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

И подскажите, пожалуйста, как это сделать уже на текущей версии

Обсуждение
1 комментарий

Владимир, добрый день!

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

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

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

Где найти справочник способов оплаты?

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

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

Добрый день!
Может тип оплаты?

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

Добрый день! 

Есть вопрос по реализации пользовательских кнопок со своими методами, на странице
редактирования для мобильного приложения .

Можете пожалуйста описать подробную реализацию на примерах
В документации нет примеров реализации

Нашел старый топик, но по нему не получается вывести свои кнопки
 

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

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

См. примеры в статье и обсуждениях тут, тут и тут.

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

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

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

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

В счетах поле 'Клиент' составное и состоит оно из полей 'Контрагент' и 'Контакт'.

Таким образом, Вам нужно проанализировать, если поле 'Контакт' пусто, значит клиент является юр. лицом (контрагентом), если заполнено - физ.

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

Коллеги, всем доброго времени суток!
Подскажите, есть ли возможность проставить признак обязательности заполнения(*), при этом не устанавливая параметр на уровне БД?

http://prntscr.com/ocz7r9
Есть ли какие то методы при помощи которых можно выполнить такую настройку?

Заранее благодарен.

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

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

В 7.Х вообще не стоит устанавливать обязательность поля на уровне базы, достаточно на уровне объекта.

Если же нужно кодом на мобильной странице, см. эту и эту темы.

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

Коллеги всем доброго времени суток! Подскажите как сгенерировать Terrasoft.Exception.

Необходимо преред добавлением записи проверять заполнение детали если пусто выкидывать Exception и сообщение, что заполните деталь

Terrasoft.sdk.Model.setModelEventHandler("Contact", 
	Terrasoft.ModelEvents[Terrasoft.ModelEventKinds.Before].insert,
	function(config, operation) {
		debugger;
		var record = config.scope.eventConfig.records[0];
		window.console.log(config);
		window.console.log(record);
		var addresses = record.ContactAddressDetailV2EmbeddedDetailStore.getData();
		if(addresses.all.length === 0) {
			var exceptionConfig = {
				message: "Сообщение",
			};		
			Ext.callback(config.failure,config.scope,Terrasoft.Exception(exceptionConfig);
		} else {
			Ext.callback(config.success, config.scope, [true]);
		}		
});

Как реализовать что бы работало, может кто то сталкивался?
Вылазит следующие ошибки  -http://prntscr.com/ocnz86
не читает - http://prntscr.com/ocnzgz
Заранее благодарен.

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

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

разобрался

Terrasoft.sdk.Model.setModelEventHandler("Contact", 
	Terrasoft.ModelEvents[Terrasoft.ModelEventKinds.Before].insert,
	function(config, operation) {
		debugger;
		var record = config.scope.eventConfig.records[0];
		window.console.log(config);
		window.console.log(record);
		var addresses = record.ContactAddressDetailV2EmbeddedDetailStore.getData();
		if(addresses.all.length === 0) {
			var exception = new Terrasoft.Exception();
			exception.config.message = "Сообщение";
 
			Ext.callback(config.succes, config.scope, [false]);
		} else {
			Ext.callback(config.success, config.scope, [true]);
		}
		Ext.callback(config.success, config.scope, [true]);
});

 

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