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

var defaultValues = [
    {
        name: "UseSeparatedPageHeader",
        value: true
    },
    {
        name: "Operation",
        value: ConfigurationEnums.CardStateV2.EDIT
    }
];
var stateObject = {
    isSeparateMode: true,
    schemaName: "BaseLookupConfigurationSection",
    entitySchemaName: "MyEntity",
    valuePairs: defaultValues,
    moduleId: "LookupSectionModule_BaseLookupConfigurationSection",
    operation: "open",
    isInChain: true
};
requestUrl = "LookupSectionModule/BaseLookupConfigurationSection";
this.sandbox.publish("PushHistoryState", {
     hash: requestUrl,
     stateObj: stateObject
});

 

Нравится

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

Добрый день. К сожалению, в данный момент в приложении не предусмотрено создание Стандартных фильтров(Фильтр - Добавить условие) из программного кода. Ответственной команде разработчиков ядра известно данное ограничение в приложении, и они планируют добавить новые возможности для работы с фильтрами в будущих релизах. Возможно, какую-то часть вашего кейса покроет использование быстрых фильтров по дате и/или ответственному - их можно задать программно в initFixedFiltersConfig. Пример такой реализации можно найти в ActivitySectionV2 из пакета NUI.

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

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

Главный ответственный по контрагенту не используется.

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

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

Нравится

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

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

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

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

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

Подскажите пожалуйста, как в BPM сформировать браузерные push-уведомления?

И где находиться код который формирует браузерные push-уведомления при получении сообщения в ленту?

Нравится

1 комментарий
createNotification: function(message) {
	var self = this;
	if (Notification.permission === "granted") {
		var data = JSON.parse(message.Body);
		var tag = "Message" + Terrasoft.generateGUID();
		var notifyMe = new Notification(data.nameFrom, {
			tag : tag,
			body : data.text,
			icon : this.getImg(data.img),
			data: { path: Terrasoft.workspaceBaseUrl + "/Nui/ViewModule.aspx#CardModuleV2/ContactPageV2/edit/" + data.valueFrom}
		});
		setTimeout(notifyMe.close.bind(notifyMe), 3 * 1000); ///close notification
		notifyMe.onclick = function() {
			this.close();
			//window.open(this.data.path, "_self");
			//this.close();
		};
	}
},
getImg: function(imageId) {
	return imageId ? (Terrasoft.ImageUrlBuilder.getUrl({
		source: Terrasoft.ImageSources.ENTITY_COLUMN,
		params: {
			schemaName: "SysImage",
			columnName: "Data",
			primaryColumnValue: imageId
		}
	})) : Terrasoft.ImageUrlBuilder.getUrl(this.get("Resources.Images.WhoIsDis"));
}

Где-то на хабре должна валяться целая статья про Notification, попробуйте погуглить.

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

Добрый день.

У меня есть деталь с редактируемым реестром, в реестре выведено 3 колонки:

1) колонка-справочник: выбирается запись из раздела Контакт

2) колонка-справочник: выбирается вручную из созданного справочника

3) текстовое поле, заблокировано: в данное поле должно подставляться значение из определенной колонки (UsrColumn1) из карточки Контакта

Подскажите, как мне автоматически подтянуть информацию в 3 колонку, при выборе значения в 1 колонке?

Нравится

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

Здравствуйте, для РР работают подписки на события, следовательно на странице карточки детали (да хоть она уже и не отображается, часть логики с нее работает, а именно подписки, некоторые методы и бизнес-правила) необходимо доработать атрибуты одноименные нужным вам колонкам, в зависимостях указать при изменении каких колонок тригерить метод, и имя самого метода, а в методе уже через esq читать данные первой колонки, и писать их в 3ю, как-то так:



 

"UsrColumn3": {
	"dependencies": [
		{
			"columns": ["UsrColumn1"],
			"methodName": "onChange1Column"
		}
	]
},
 
....
 
onChange1Column: function() {
	// читаем нужные данные через esq из первой this.get("UsrColumn1") колонки
	и устанавливаем их в 3ю this.set("UsrColumn3", data);
},

 

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

Добрый день!

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

Если такой возможности нет, планируется ли ее реализовать?

Нравится

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

Добрый день!

 

Добавить поле с типом “Двоичные данные” пока не представляется возможным.

Можно создать свою деталь “Файлы и ссылки” и прикрепить ее к нужному объекту:

1. Создать объект. Наследоваться от базового объекта “Файл”. Добавить колонку, которая будет ссылаться на родительскую запись.

2. Зарегистрировать новую деталь.

3. Добавить деталь на странице редактирования.

Зарицкий Олег,

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

Здравствуйте, Любовь!

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

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

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

Нравится

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

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

Добавил в него зависимости от всех пакетов системы.

Фиксация в хранилище прошла успешно.

Но при обновлении пакета из хранилища появляется ошибка: 

 

Значение аргумента "version" не может быть пустым

Проверил в таблице SysPackage

Есть только 5 пакетов, в которых не заполнено поле версия

Custom
WebitelUpdate
WebitelCallCdr
WebitelCC
WebitelCallManager





 

Нравится

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

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

У пользовательского пакета должна быть зависимость только от одного пакета (верхнего по иерархии). Остальные зависимости нужно удалить.

 

Возникла такая же ошибка, причина как оказалось в том, что пакет зависел от загруженного из markerplace пакета, в котором тоже не установлена версия пакета. Установите приложение, от которого зависит ваш пакет.

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

Нужно сделать фильтрацию фильтра.

В выделенную часть нужно вывести только сотрудников, как это реализовать. 

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

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

Нравится

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

никак, для этого используйте возможности расширенной фильтрации

Или вооружиться напильником и сломать пару модулей (гуглите "simpleFilter" по конфигурации + можно в quickFilter ещё заглянуть). Ну это прям если совсем надо.

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

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

для основной страницы сделали так. в схеме ActionsDashboard прописали

        methods: {

            

            onBanClick: function() {

                return false;

            }

            

        },

        diff: /**SCHEMA_DIFF*/[

            {

                "operation": "merge",

                "name": "ActionsControl",

                "values": {

                    "activeStageClick": {

                        "bindTo": "onBanClick"

                    }

                }

            }

 

вопрос: как сделать некликабельной на всех страницах

Нравится

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

то же самое проделайте в замещающей схеме SectionActionDashboard.

<EntityName>ActionsDashboard для отдельных разделов типовой поставки базируются на ней, и в остальных случаях используется именно эта имплементация.

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

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

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

Мы работаем на нескольких базах разработки. И, соответственно, изменения переносим через SVN. Когда один разработчик создает, например, справочник, привязывает данные. А второй на своей базы обновляется, то схемы подтягиваются, но автоматически  НЕ обновляется структура БД, НЕ устанавливаются данные, НЕ устанавливаются SQL скрипты, НЕ генерируется исходные коды. И приходится всё это делать вручную. Может есть в веб-конфигах какие-то параметры, чтобы это выполнялось автоматически? А то очень не удобно работать в таком режиме.

Нравится

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

Добрый день! За это отвечают параметры в web.config в директории WebApp:

    <add key="AutoUpdateDBStructure" value="true" />

    <add key="AutoInstallSqlScript" value="true" />

    <add key="AutoInstallPackageData" value="true" />

    <add key="AutoRegenerateSchemaSources" value="true" />

Были такие подозрения. Спасибо большое.

ну следует сказать, что работает сие - "когда как"

так что лучше периодически обновляться и проделывать все таки "ручками"

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

1) Во первых это позволит в случае чего - установить ручками (у данных с таким типом в контекстном меню доступен пункт "Установить выбранные")

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

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