Отмена и возврат изменений формы
Разработка - Работа с интерфейсом
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
При открытии или повторном чтении объекта состояние формы фиксируется, и после этого начинается запись каждого нового состояния после изменений. Учитываются изменения сохраняемых реквизитов, а также результат вызова подчиненных форм открываемых по кнопкам и гиперссылкам.
Записываются все реквизиты формы, в том числе добавленные в табличную часть объекта.
Разработка может использоваться как расширением, так и встраиванием в конфигурацию. Помимо добавления общего модуля ОтменаВозвратИзменений в модуль каждой формы, для которой необходимо включить данную возможность необходимо добавить следующий код:
#Область ОтменаВозвратИзменений
&НаКлиенте
Процедура ОтменаВозвратИзменений_ПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа, Параметр)
ОтменаВозвратИзменений.ПередНачаломДобавления(ЭтаФорма, Элемент, Отказ, Копирование, Родитель, ЭтоГруппа, Параметр);
КонецПроцедуры
&НаКлиенте
Процедура ОтменаВозвратИзменений_ПриИзменении(Элемент)
ОтменаВозвратИзменений.ПриИзменении(ЭтаФорма, Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ОтменаВозвратИзменений_ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
ОтменаВозвратИзменений.ПриНачалеРедактирования(ЭтаФорма, Элемент, НоваяСтрока, Копирование);
КонецПроцедуры
&НаКлиенте
Процедура ОтменаВозвратИзменений_ПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
ОтменаВозвратИзменений.ПриОкончанииРедактирования(ЭтаФорма, Элемент, НоваяСтрока, ОтменаРедактирования);
КонецПроцедуры
&НаКлиенте
Процедура ОтменаВозвратИзменений_Нажатие(Элемент, СтандартнаяОбработка)
ОтменаВозвратИзменений.Нажатие(ЭтаФорма, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ОтменаВозвратИзменений_ДействиеКоманды(ИмяКоманды)
ОтменаВозвратИзменений.ДействиеКоманды(ЭтаФорма, ИмяКоманды);
КонецПроцедуры
&НаКлиенте
Процедура ОтменаВозвратИзменений_ОбработчикОжидания()
ОтменаВозвратИзменений.ОбработчикОжидания(ЭтаФорма);
КонецПроцедуры
&НаСервере
Процедура ОтменаВозвратИзменений_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОтменаВозвратИзменений.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);
КонецПроцедуры
&НаСервере
Процедура ОтменаВозвратИзменений_ПриЧтенииНаСервере(ТекущийОбъект)
ОтменаВозвратИзменений.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры
&НаСервере
Процедура ОтменаВозвратИзменений_ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ОтменаВозвратИзменений.ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура ОтменаВозвратИзменений_ВыполнитьДействиеНаКлиенте(ТекстВыполнить, Параметры = Неопределено) Экспорт
Выполнить(ТекстВыполнить);
КонецПроцедуры
&НаСервере
Процедура ОтменаВозвратИзменений_ВыполнитьДействиеНаСервере(ТекстВыполнить, Параметры = Неопределено) Экспорт
Выполнить(ТекстВыполнить);
КонецПроцедуры
#КонецОбласти
#Если Сервер Тогда
ОтменаВозвратИзменений.Инициализировать(ЭтаФорма, "<имя процедуры настройки элементов формы>");
#КонецЕсли
В качестве второго параметра процедуры ОтменаВозвратИзменений.Инициализировать необходимо указать процедуру, которая будет вызываться после каждого применения изменений, чтобы были правильно настроены свойства элементов формы. Например для документа ЗаказКлиента конфигурации 1C:ERP необходимо указать ПриЧтенииСозданииНаСервере
Работает на платформе 1С предприятие 8.3.16 и выше.
Для Платформы 8.3.24 и выше отдельно доступна обработка для генерации расширения, которое будет содержать необходимую функциональность для каждой описанной формы. В поле Параметр для каждой формы необходимо указать имя процедуры настройки элементов формы. Работа с обработкой описана в публикации Генератор расширения формы
- отказ от записи истории при изменении реквизита таблицы
- при окончании редактирования строки история записыватся только если редактировались реквизиты строки
- учитываются сокращенное количество параметров у обработчика события
- исправление ошибок
Вступайте в нашу телеграмм-группу Инфостарт