Как востановить удаленный контакт?

Нравится

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

Добрый день! 



Восстановить контакт можно только из бэкапа БД.

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

Добрый день!

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

 

Спасибо!

Нравится

4 комментария
Лучший ответ

Каскадная связь при настройке детали по полю контрагент должна помочь

Каскадная связь при настройке детали по полю контрагент должна помочь

Алексей Следь, спасибо большое!))) В 7.17 не могу её найти((( 

"Удалять записи" не помогает.

 

 

Екатерина, непонятно, почему у Вас подписи переключателей такие, а не «Блокировать удаление, если есть связанные записи в текущем объекте с этим значением» и «Удалять записи из текущего объекта с этим значением», как написано при открытии в дизайнере стандартной детали, вроде «Контрагент в группе». Там у поля связи с разделом выбрано второе значение.

На всякий случай, старая конфигурация доступна на /0/dev_old и можно включить каскадную связь там.

Зверев Александр,

Cпасибо большое! Помогло переключение на старую конфигурацию!)

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

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

 

Столкнулся с проблемой удаления записей. 

Ситуация выглядит так, что не важно из какого раздела пытаюсь удалить запись, "выдаёт" ошибку: 

"Удаление данных произошло с ошибкой. Обратитесь к системному администратору" 

Подскажите, пожалуйста, в какую сторону смотреть?

P.s. права Supervisor'а 

Нравится

2 комментария
Лучший ответ

Проверьте что вэбсокеты настроены

И да, ещё момент - если обновить страницу, то запись может быть удалена. Тут, уж, на усмотрение bpm :/

Проверьте что вэбсокеты настроены

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

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

При попытке удалить Изменение из раздела "Изменения"

DELETE FROM [dbo].[Change]

Where Number = 'CR00001863'

получил ошибку типа:

The DELETE statement conflicted with the REFERENCE constraint "FK5Kbu9RCt70eQZWfPa41rONXsAM". The conflict occurred in database "NameDB", table "dbo.SysChangeRight", column 'RecordId'.

Залез в таблицу dbo.SysChangeRight - да, там есть записи с данным Id изменения.

Вопрос: достаточно ли будет удаления из таблицы dbo.SysChangeRight записей с Id.изменения, чтобы получить возможность выполнить верхний скрипт? 

Нравится

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

Необязательно. Вдруг есть ещё ссылки из других таблиц.

А вообще, в таблице SysChangeRight должна быть каскадная связь на поле RecordId, чтобы удаляло вместе с основной записью автоматически. Если нет, можно добавить, поставив галочку в объекте.

 

Зверев Александр,

Ссылки из других таблиц были - (деталь: активности) - они удалились каскадно средствами дизайнера. Не удалились каскадно, средствами дизайнера, история по данному Изменению и Согласование данного изменения - это все я "навернул"  запросом в SQL. А дальше - проблема, описанная выше...

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

Зверев Александр,

Спасибо, действительно после удаления из таблицы SysChangeRight смог удалить и само изменение. 

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

Добрый день, при попытке удаление какой либо записи с правами Supervisor'а в консоли браузера появляется строка "Метод handler устарел. Вместо него используйте click event" а в случае подтверждения удаления "Метод onDeleteAccept устарел. Вместо него используйте onMultiDeleteAccept". Удаление не происходит, появляется диалоговое окно "Удаление произошло с ошибкой, обратитесь к системному администратору". Кто-то сталкивался с подобной проблемой?

P.s. система стоит на Win Server 2008R2 который не поддерживает web-сокеты, но я не думаю что с обновлением bpm отказался от поддержки sw-сокетов совсем.

Нравится

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

Вопрос решился настройкой Web.config оказывается после обновления его надо заново настраивать

Сафронов Иван Александрович пишет:

Вопрос решился настройкой Web.config оказывается после обновления его надо заново настраивать

А вы просто подменяли конфиг от предыдущей версии что-ль? Так не будет работать, поскольку в конфигах есть ссылки на асембли новых версий.  

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

Коллеги, добрый день!
Столкнулся с проблемой того, что не могу удалить запись из системы (Контакт/Контрагент, например). При попытке удалить, система долго думает (порядка минуты-полторы), и выдает ошибку с текстом "Удаление данных произошло с ошибкой. Обратитесь к системному администратору".
После этой ошибки запись не удаляется. Сижу под супервизором, версия приложения 7.9.0.1228
Заранее благодарен!

Нравится

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

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

Если вы используете решение on-site, то необходимо настроить websocket.
Подробнее с настройкой вы можете ознакомиться по ссылке:
https://academy.terrasoft.ru/documents/sales-enterprise/7-9/nastroyka-v…

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

Добрый день! Необходимо с помощью API вывести список контактов и редактировать, удалять их. Вывести получилось, при удалении возникает ошибка "Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера."

Использую http://academy.terrasoft.ru/documents/docs/technic/SDK/7.6.0/WorkWithBpm...
WebResponse response = request.GetResponse() не хочет выполняться. В чем может быть ошибка?
Спасибо.

Нравится

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

Добрый день!
Посмотрите, например Fiddler'ом какой ответ от сервера, ведь 500 - это все что угодно. Далее, 99% что там будет ошибка Method not allowed. Это означает, что у вас включен компонент IIS'а WebDAV. Он запрещает выполнение запросов типа DELETE. Для этого нужно выключить этот компонент

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

Добрый день,

Каким образом можно удалить Обращения, если при их удалении пишется о том, что "Удаление элементов, используемых в других объектах невозможно".

можно, например, удалить данные сообщения напрямую в БД?

Нравится

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

Маргарита, здравствуйте!

Данное сообщение означает, что у записи присутствует связь с другими объектами. Например, запись задействована в БП или присутствует на детали у другого объекта.

Приложение предусматривает накопление данных, а не удаление.
Также если удалить записи, то могут возникнуть другие ошибки при работе с другими объектами, где данные записи присутствовали.

Если же необходимо удалить такие записи, то это возможно только через БД.

Необходимо выполнить скрипт на удаление, например:

Delete from "Case"
Where Number=’CR-1

Но выполнив скрипт запись не удалиться, а выдаст результат с ошибкой, что данная запись присутствует в конкретной таблице/колонке.
В результате необходимо с начала удалить запись (по ID записи) с связанных таблиц, а затем саму запись.

Спасибо Дмитрий за ваш ответ)

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

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

Нравится

6 комментариев

Валерий, Вам необходимо в замещающем модуле страницы раздела [Контрагенты] переопределить функцию OnDelete.
Пример кода:

var baseOnDelete = this.methods.OnDelete;
this.methods.OnDelete = function() {
 //Ваша проверка
            if (Ext.isFunction(baseOnDelete)) {
                baseOnDelete.call(this);
            }
 
        };

Наталья, не работает...
Вот полный код замещающего модуля: (раздел Лиды, но думаю это не принципиально)

define('LeadSection', ['Lead', 'sandbox', 'LeadSectionStructure', 'LeadSectionResources', 'MaskHelper'],
	function(Lead, sandbox, structure, resources, MaskHelper) {
		structure.userCode = function() {
			// deleting
			var baseOnDelete = this.methods.OnDelete;
			this.methods.OnDelete = function() {
				alert('my check');
				if (Ext.isFunction(baseOnDelete)) {
					baseOnDelete.call(this);
				}
			};
		};
		return structure;
	});

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

define('LeadSection', ['Lead', 'sandbox', 'LeadSectionStructure', 'LeadSectionResources', 'MaskHelper'],
	function(Lead, sandbox, structure, resources, MaskHelper) {
		structure.userCode = function() {
			// deleting
			var baseOnDelete = this.methods.OnDelete;
			this.methods.OnDelete = function() {
				//alert('my check');
				//if (Ext.isFunction(baseOnDelete)) {
				//	baseOnDelete.call(this);
				//}
			};
		};
		return structure;
	});

Валерий, попробуйте так:

define('LeadSection', ['Lead', 'sandbox', 'LeadSectionStructure', 'LeadSectionResources', 'MaskHelper'],
        function(Lead, sandbox, structure, resources, MaskHelper) {
                structure.userCode = function() {
                        // deleting
			var baseInitViewModel = this.methods.initViewModel;
			this.methods.initViewModel = function() {
			baseInitViewModel.call(this);
			var baseOnDelete = this.onDelete;
			this.onDelete = function() {
                            alert('my check');
			    baseOnDelete.call(this);
			 }
			};
 
                };
                return structure;
        });

Наталия, спасибо, работает!

Но только в режиме выбора одной записи... Если переключиться в режим выбора нескольких записей, пометить их и выбрать действие "Удалить" - этот обработчик не работает.
Как в таком случае быть? Переопределять действие "Удалить", видимо...

Валерий, во втором случае нужно переопределять метод onMultiSelectDelete (this.onMultiSelectDelete).

Спасибо, Наталия, все получилось! :smile:

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

Здравствуйте, господа.
В определенный момент была обнаружена следующая ошибка: даже администратор не может удалить запись в разделе "Договоры", при попытке сделать это появляется предупреждени "Не удалено N из N записей. Нет доступа: N".

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

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

Нравится

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

Я бы попробовал удалить эту запись в SQL Managment Studio и посмотрел бы, что на это MS SQL скажет :wink:

Оказалось, дело в слетевшем запросе на удаление. Всё пофиксил, спасибо за внимание.

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