Каталог решений - Автоматическое сохранение редактируемого документа

Автоматическое сохранение редактируемого документа

Автоматическое сохранение редактируемого документа

В наличии

Если пользователь работает сразу в n-документах или набивает большую накладную, и обрывается связь с сервером или происходит обновление базы, то велика вероятность, что он (пользователь) будет не очень счастлив, когда поймёт, что теперь придётся делать всё заново.

Категория:

Описание

Добавляем в текст модуля формы документа следующие строки:

&НаКлиенте
Перем ПоследнееСохранение;

// ...

&НаКлиенте
Процедура АвтосохранениеДокумента() Экспорт
	
	Если ПоследнееСохранение = Неопределено Тогда
		ПоследнееСохранение = ТекущаяДата();
	ИначеЕсли Не Объект.Проведен И Модифицированность И ( Объект.Товары.Количество() Или Объект.ВозвратнаяТара.Количество() )
				И ТекущаяДата() - ПоследнееСохранение >= 30	
	Тогда
		ПоследнееСохранение = ТекущаяДата();
		Попытка
			Записать(Новый Структура("Автосохранение", Истина));
		Исключение
			Сообщить(ОписаниеОшибки());
			ОтключитьОбработчикОжидания("АвтосохранениеДокумента");
		КонецПопытки;
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПодключитьОбработчикОжидания("АвтосохранениеДокумента", 1, Ложь);
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	Если ПараметрыЗаписи.Свойство("Автосохранение") И ПараметрыЗаписи.Автосохранение Тогда
		ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Запись;
	КонецЕсли;
КонецПроцедуры

Если нужно не всем пользователям, можно добавить настройку в хранилище настроек пользователя. Благо сейчас (в 8.3) это сделать просто, используя встроенный объект платформы «ХранилищеНастроек».

Реализовывать этот механизм для всех документов конфигурации определённо не стоит, т.к. с ростом числа активных пользователей в системе растёт и количество запросов на обновление данных, что накладывает блокировку на записи таблиц, что обязательно приведёт к задержкам и, возможно, взаимоблокировкам. Подробнее об этом можно узнать в настольной книге 1С: Эксперта по технологическим вопросам.

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

has been added to your cart:
Оформление заказа