Захист зовнішньої обробки або зовнішнього звіту 1С 8 - ховаємо і шифруємо систему компоновки даних (СКД)
Файли для скачування:
Створимо основну схему компоновки даних. налагодимо наш звіт . Створимо основну форму звіту.
Принцип шифрування:
Вивантажимо схему компоновки даних в файл, заархівіруем в zip -архів з паролем. Додамо запаролений zip -архів як макет двійкових даних. Видалимо основну схему даних. У модулі звіту програмно встановимо схему компоновки даних звіту і захистимо модуль звіту паролем.
- Вивантаження схеми компонування в файл. За кнопці «Зберегти схему в файл» (виділив маркером) збережемо, наприклад, в файл «Основна СКД. xml »:
- Додамо в архів, наприклад, «Основна СКД. zip »(нехай, пароль архіву« мойпароль »):
- Додамо в звіт новий макет «Двійкові дані». Дані завантажимо з файлу «Основна СКД. zip »:
- Тепер можна видалити основну схему компоновки даних:
- У модулі основної форми в процедурі «відкриття»:
Процедура відкриття () ІніціалізіроватьСхемуКомпоновкіДанних (); КонецПроцедури
- У модулі об'єкта:
Процедура ІніціалізіроватьСхемуКомпоновкіДанних () Експорт ІмяфайлаСКД = "Основна СКД.xml"; ІмяВременногоФайлаZIP = ПолучітьІмяВременногоФайла ( "zip"); ДвоічниеДанние = ПолучітьМакет ( "МакетДанних"); ДвоічниеДанние .Запісать (ІмяВременногоФайлаZIP); // Витягуємо з ZIP-архіву XML-файл нашої схеми компонування даних і зберігаємо його в тимчасовий файл ЧтеніеZIP = Новий ЧтеніеZipФайла (ІмяВременногоФайлаZIP, "мойпароль"); ЕлементZIPАрхіва = ЧтеніеZIP .Елементи .Знайти (ІмяфайлаСКД); ЧтеніеZIP .Ізвлечь (ЕлементZIPАрхіва, КаталогВременнихФайлов (), РежімВосстановленіяПутейФайловZIP .НеВосстанавлівать); ЧтеніеZIP .Закрить (); // Читаємо Схему компонування даних Читання = Новий ЧтеніеXML; НовийСXDTO = Новий СеріалізаторXDTO (ФабрікаXDTO); Читання .ОткритьФайл (КаталогВременнихФайлов () + ІмяфайлаСКД); ПервоначальниеДанниеСхемаКомпоновкіДанних = НовийСXDTO .ПрочітатьXML (Читання); // Встановлюємо основну схему компоновки даних - без цього будуть недоступні кнопки "Сформувати", "Конструктор налаштувань", "Налаштування" //т.к. ми ж видалили основну схему компоновки даних ЕтотОб'ект .СхемаКомпоновкіДанних = ПервоначальниеДанниеСхемаКомпоновкіДанних; КомпоновщікНастроек .Ініціалізіровать (Новий ІсточнікДоступнихНастроекКомпоновкіДанних (ПервоначальниеДанниеСхемаКомпоновкіДанних)); КонецПроцедури
- Тепер встановимо пароль на модуль звіту - відкриємо модуль і виберемо пункт меню «Текст -> Встановити пароль». Увага! Якщо не виконати цей пункт, то всі наші старання марні !!!