Обфускация данных (управляемая форма) - 9 Марта 2014 - Профессиональные решения для 1С 8.2
      Профессиональные решения для 1С 8.2 Среда, 29.03.2017, 06:18
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поделиться ссылкой


Главная » 2014 » Март » 9 » Обфускация данных (управляемая форма)
11:37
Обфускация данных (управляемая форма)
Информация стоит денег и доступ к базам данных требует жесткого контроля и недопущения утечки. Как минимум все дорожат клиентской базой. Некоторые предприятия работают с приходящими программистами и, отдавая базу сторонней организации или индивидуальному исполнителю для анализа ошибок или отладки кода, вынуждены верить честному слову или заключать договор о конфиденциальности. Но можно отдать базу после обфускации данных. Обфускация это процесс запутывания данных, который не влияет на функциональность программы, но искажает реальную информацию. Кстати для защиты кода программы также можно использовать алгоритмы обфускации, которые усложняют использование или редактирование оригинального кода разработчика. Предлагаю вашему вниманию обработку, которая заменяет все строковые значения в выбранных пользователем справочниках. Возможно, вы захотите также изменить другие данные. Например, регистры сведений или документы с суммовыми показателями. Применяя аналогичный подход к проблеме, вы сможете создать и более универсальную обработку.
На рисунке представлена форма обработки:
Результат обработки справочника Контрагенты:
Код представлен ниже:

&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
    Если Вопрос("Все данные выбранных справочников будут утеряны!",РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да Тогда
        ВыполнитьНаСервере();
    КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ВыполнитьНаСервере()
    Для Каждого Спр из Объект.ТабСправочники Цикл
        Если НЕ Спр.Выбор Тогда
            Продолжить;
        КонецЕсли;
        Сч=0;
        ТекСпр=Справочники[Спр.ИмяСпр].Выбрать();
        Пока ТекСпр.Следующий() Цикл
            Сч=Сч+1;
            Об=ТекСпр.ПолучитьОбъект();
            Если Об.Метаданные().ДлинаНаименования>0 Тогда
                Об.Наименование=Сч;
            КонецЕсли;
            Для Каждого ТекРек из Об.Метаданные().Реквизиты Цикл
                Если ТипЗнч(Об[ТекРек.Имя])=ТипЗнч("Строка") Тогда
                    Сч=Сч+1;
                    Об[ТекРек.Имя]=Сч;
                КонецЕсли;
            КонецЦикла;
            Сч2=0;
            Для Каждого ТекТЧ из Об.Метаданные().ТабличныеЧасти Цикл
                Для Каждого ТекСтр из Об[ТекТЧ.Имя] Цикл
                    Для Каждого ТекРек из ТекТЧ.Реквизиты Цикл
                        Если ТипЗнч(ТекСтр[ТекРек.Имя])=ТипЗнч("Строка") Тогда
                            Сч2=Сч2+1;
                            ТекСтр[ТекРек.Имя]=Сч2;
                        КонецЕсли;
                    КонецЦикла;
                КонецЦикла;
             КонецЦикла; 
             Об.Записать();
          КонецЦикла;  
     КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ЗаполнитьНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере()
     Для Каждого Спр из Метаданные.Справочники Цикл
        НовСтр=Объект.ТабСправочники.Добавить();
        НовСтр.ИмяСпр=Спр.Имя;
    КонецЦикла;
КонецПроцедуры
 
Код 1С добавлен на сайт при помощи оригинальной обработки
 
Обработку можно скачать здесь ОбфускацияДанных.epf
 
Просмотров: 2099 | Добавил: Programmer1C | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Календарь
«  Март 2014  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31
Архив записей
Друзья сайта
  • Создать сайт
  • Современная Ароматерапия
  • Биодобавки из США
  • Заработок для web-мастера

  • Рейтинг@Mail.ru
    www.professional-1c.ru © 2017
    Бесплатный хостинг uCoz