Две процедуры Автосохранения и Автовосстановления реквизитов Объекта

Автоматическое сохранение реквизитов в Обработке или Отчёте, или в любом другом объекте

Бывает часто нужно сделать сохранение реквизитов в какой-нибудь обработке, если реквизитов мало, то это не так трудно,  например, пишешь:

    СохранитьЗначение(«Дата», Дата);

а потом при открытии

    Дата = ВосстановитьЗначение(«Дата»);

Но! Бывает реквизитов много и они часто меняются в процессе разработки, что создаёт лишнюю работу по исправлению комбинаций Сохранить/Восстановить.

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

//-автосохранятор
Процедура автосохранятор_СохранитьРеквизиты(Объект)
   
М = Объект.Метаданные();
   
имя = М.Имя;
    для каждого
Рекв из М.Реквизиты цикл
       
Имя_сохр = М.Имя+«__»+Рекв.Имя;
       
СохранитьЗначение(Имя_сохр,Объект[Рекв.Имя]);
    КонецЦикла;
КонецПроцедуры

Процедура автосохранятор_ВостановитьРеквизиты(Объект)
   
М = Объект.Метаданные();
   
имя = М.Имя;
    для каждого
Рекв из М.Реквизиты цикл
       
Имя_сохр = М.Имя+«__»+Рекв.Имя;
       
//СохранитьЗначение(Имя_сохр,Объект[Рекв.Имя]);
       
Объект[Рекв.Имя] = ВосстановитьЗначение(Имя_сохр);
    КонецЦикла;
КонецПроцедуры


В качестве примера использования этих функций выложил обработочку для 8.2, но сам код будет работать и на 8.1, и 8.0

4 Comments

  1. DrAku1a

    Зачем это нужно? Проще же в свойствах формы настроить автосохранение и сохраняемые свойства.

    Reply
  2. sashapere

    Так наверное быстрее

    Reply
  3. fuxic

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

    2. для типовых лучше хранить в «СохраненныеНастройки», любой шифт/стрл+ф5 и «пока-пока» все настройки

    при это можно предусмотреть в разрезе пользователей, если это критично по настройкам

    а для форм и скорости лучше в таких случаях настройками сохранения платформы воспользоваться — там есть галочка «установить все».

    *занудствует 🙂

    Reply
  4. wrooom

    Платформа 8.2.14.540 . ( обычная форма, не УФ)

    2 что должно произойти при шифт/стрл+ф5

    3 Атосохранение в форме. Не могу найти галочку «установить все»., да и для отдельного реквизита тоже не могу

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *