Добрый день.

Случай:

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

 

Нравится

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

Добрый день!

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

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



 

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

Работает)

Показать все комментарии
Terrasoft XRM
XRM+SD
сохранить
сохранить фильтры
фильтр
3.x

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

Нравится

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

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

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

Показать все комментарии
7.4
карточка
сохранение
сохранить
Технические вопросы
7.x

Здравствуйте!
Стоит задача сохранить карточку детали без выхода из неё. Также обязательным условием является выполнение событий обработки обновления записи, описанной в объекте. (Событие 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" :) Так вот.

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