Добрый день.

Случай:

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

 

Нравится

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

Добрый день!

Вам необходимо переопределить метод save в схеме страницы детали следующим образом:

save: function(config) {
                if (config) {
                    config.isSilent = true;
                }
                else {
                    config = {
                        isSilent: true
                    };
                }
                this.callParent([config]);
            }
        },



 

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

Работает)

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

Невозможно сохранить настройки фильтров, не активна кнопка "сохранить" (а так же кнопка "сохранить и применить")
кнопка
По каким причинам она может быть не активна?
terrasoft XRM+SD 3.40.143.0
Спасибо.

Нравится

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

Добрый день! Скорее всего вы пытаетесь сохранить настройки фильтров в статической группе, а не в динамической

Настройки фильтров сохраняются в динамических группах

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

Здравствуйте!
Стоит задача сохранить карточку детали без выхода из неё. Также обязательным условием является выполнение событий обработки обновления записи, описанной в объекте. (Событие SxMyObjUpdating)

this.save(), this.saveEntity(function () {}); - Событие Udpating отрабатывает, но сразу закрывается карточка

this.saveEntity() - В Событие Updating не попадает + результат:

 Uncaught TypeError: Cannot read property 'call' of undefined
core.js:466 user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
 file: http://pashchenko:7400/0/core/5bd338b22650c32496b5ec4322b7b2eb/combined/... line: 618
 message: Uncaught TypeError: Cannot read property 'call' of undefined
 date: Mon Feb 02 2015 18:19:25 GMT+0300 (Саудовское время (зима))

Как можно решить данную проблему?

Нравится

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

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

Здравствуйте, Александр!
Чтобы понимать, что происходит при вызове методов всегда смотрите исходники. Например, метод save() определен в "BasePageV2", выглядит следующим образом:

save: function(config) {
		this.showBodyMask();
		Terrasoft.chain(
			this.saveCheckCanEditRight,
			this.saveAsyncValidate,
			this.saveEntityInChain,
			function(next) {
				this.saveDetails(function(response) {
					if (this.validateResponse(response)) {
						next();
					}
				}, this);
			},
			function() {
				this.onSaved(this.cardSaveResponse, config);
				this.cardSaveResponse = null;
				delete this.cardSaveResponse;
			},
			this);
	},

Здесь нет переходов в другие разделы, значит нужно смотреть в методы, вызываемые внутри save(). Смотрим метод onSaved() и видим, что карточку можно сохранит в "тихом" режиме, тогда она закрываться не будет и не будет публиковаться сообщение "UpdateDetail", если в объекте config свойство isSilent имеет значение true:

				onSaved: function(response, config) {
					this.hideBodyMask();
					if (!this.get("NextPrcElReady")) {
						this.set("NextPrcElReady", response.nextPrcElReady);
					}
					if (config && config.isSilent) {
						this.onSilentSaved(response, config);
					} else {
........

А config, соответсвенно, берется из save(config).
Итого, нужно сохранять запись следующим образом:

this.save({isSilent:true});

Андрей, спасибо за подсказку.
Действительно так работает. Я так тоже пробовал, но оказалось, что из-за открытого дебаггера не скрывалась кнопка "Сохранить", что ввело в заблуждение.

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

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

Террасофт вер. 3.2.
А администраторе по кнопке "сохранить" (изображение дискеты слева сверху) происходит запись какого-либо сервиса в базу данных.
Появилась потребность получить доступ к обработчику события нажатия этой кнопки. Как это можно сделать?

Спасибо.

Нравится

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

Владислав, кнопку «Сохранить» в Terrasoft Administrator обрабатывает ядро, поэтому получить доступ к обработчику кнопки из конфигурации нет возможности.

Напишите триггер на tbl_Service, если есть большое желание.
По нажатию дискетки в TSAdmin сервис сериализуется в колонку XMLData.
Поделитесь задачей для которой понадобились данные действия

Понятно. Спасибо.

А задача такая: в зависимости от некоторых условий (например, смотря кто вошел в систему) по разному сохранять сервис. И,соответственно, сохраняемые данные будут разными. А решается это всё на этапе между нажатием "сохранить" и запросом к БД "INSERT INTO" :) Так вот.

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