Дополнительная информация о проекте
В версии 19b была предпринята попытка добавить процедура расформатирования текста, для защиты исходного теста от понимания и редактирования третьими лицами. Скорее всего эта функция будет выделена в отдельную процедуру. НЕ ИСПОЛЬЗУЙТЕ ПОКА ДАННУЮ ФУНКЦИЯ ДЛЯ РЕАЛЬНОЙ ЗАЩИТЫ КОНФИГУРАЦИЙ! Процедура реализует следующие функции:
Удаление всех комментариев.
Формирование строки путем добавления встретившихся токенов, длиною не более 255 символов.
Приведения этой строки к нижнему регистру.
Форматирование строк по центру.
Замена локальных переменных бессмысленным набором из 15 символов, соответственно обратное преобразование невозможно.
Далее планируется добавить:
Замена переменных в вызове процедуры.
Замена имени процедур и функций бессмысленным набором символов.
Корректировка модулей формы соответствующими изменениями.
Замена русских методов или свойств их английскими аналогами (полностью или случайным образом).
Вот два теста, до и после обработки его процедурой расформатирования:
Исходный текст (Valuta.ert):
| Перем ВалютыЦБ; Перем Сообщение; Перем Сообщение2; //=================================================== Процедура ДобавитьКолонку() Если Число(ВалютыЦБ.Код)=0 Тогда Возврат;КонецЕсли;//чтобы пустые не выводились КурсыВалют.НоваяСтрока(); КурсыВалют.Код=ВалютыЦБ.Код; КурсыВалют.Имя=ВалютыЦБ.Имя; КурсыВалют.Кратность=ВалютыЦБ.Кратность; КурсыВалют.ПолнИмя=ВалютыЦБ.ПолноеИмя; КурсыВалют.Курс=ВалютыЦБ.Курс; КурсыВалют.КурсЗаЕд=ВалютыЦБ.КурсЗаЕдиницу; КонецПроцедуры //ДобавитьКолонку() //==================================================== Процедура ПолучитьКурсыВалют() Если (ВыбДата>РабочаяДата()) Или (Число(ВыбДата)=0) Тогда ВыбДата=РабочаяДата(); КонецЕсли; Если ВалютыЦБ.ПолучитьИнформацию(ВыбДата)<>1 Тогда Предупреждение("Не удалось получить котировки курсов валют с сайта ЦБ РФ",5); Возврат; КонецЕсли; Сообщение="Центральный банк Российской Федерации установил с "+Строка(ВалютыЦБ.Дата)+ " следующие курсы иностранных валют к рублю РФ для целей учета и таможенных платежей.*"; КурсыВалют.УдалитьСтроки(); ВалютыЦБ.Найти("AUD"); ДобавитьКолонку(); ВалютыЦБ.Найти("ATS"); ДобавитьКолонку(); ВалютыЦБ.Найти("GBP"); ДобавитьКолонку(); ВалютыЦБ.Найти("BYR"); ДобавитьКолонку(); ВалютыЦБ.Найти("BEF"); ДобавитьКолонку(); ВалютыЦБ.Найти("GRD"); ДобавитьКолонку(); ВалютыЦБ.Найти("DKK"); ДобавитьКолонку(); ВалютыЦБ.Найти("USD"); ДобавитьКолонку(); ВалютыЦБ.Найти("EUR"); ДобавитьКолонку(); ВалютыЦБ.Найти("IEP"); ДобавитьКолонку(); ВалютыЦБ.Найти("ISK"); ДобавитьКолонку(); ВалютыЦБ.Найти("ESP"); ДобавитьКолонку(); ВалютыЦБ.Найти("ITL"); ДобавитьКолонку(); ВалютыЦБ.Найти("KZT"); ДобавитьКолонку(); ВалютыЦБ.Найти("CAD"); ДобавитьКолонку(); ВалютыЦБ.Найти("DEM"); ДобавитьКолонку(); ВалютыЦБ.Найти("NLG"); ДобавитьКолонку(); ВалютыЦБ.Найти("NOK"); ДобавитьКолонку(); ВалютыЦБ.Найти("PTE"); ДобавитьКолонку(); ВалютыЦБ.Найти("XDR"); ДобавитьКолонку(); ВалютыЦБ.Найти("SGD"); ДобавитьКолонку(); ВалютыЦБ.Найти("TRL"); ДобавитьКолонку(); ВалютыЦБ.Найти("UAH"); ДобавитьКолонку(); ВалютыЦБ.Найти("FIM"); ДобавитьКолонку(); ВалютыЦБ.Найти("FRF"); ДобавитьКолонку(); ВалютыЦБ.Найти("SEK"); ДобавитьКолонку(); ВалютыЦБ.Найти("CHF"); ДобавитьКолонку(); ВалютыЦБ.Найти("JPY"); ДобавитьКолонку(); Сообщение2="* Курсы установлены без обязательств Банка России покупать и продавать указанные Валюты ЦБ по данному курсу."; КонецПроцедуры //******************************************* КурсыВалют.НоваяКолонка("Код","Строка",4,,"Код"); КурсыВалют.НоваяКолонка("Имя","Строка",4,,"Имя"); КурсыВалют.НоваяКолонка("Кратность","Число",10,0,"Кратность"); КурсыВалют.НоваяКолонка("ПолнИмя","Строка",,,"Полное имя"); КурсыВалют.НоваяКолонка("Курс","Число",5,2,"Курс"); КурсыВалют.НоваяКолонка("КурсЗаЕд","Число",10,5,"Курс за единицу"); Сообщение=""; Сообщение2=""; ЗагрузитьВнешнююКомпоненту("valuta.dll"); ВыбДата=РабочаяДата(); Попытка ВалютыЦБ = СоздатьОбъект("AddIn.КотировкиВалюты"); Исключение Предупреждение("Отсутствует файл Valuta.dll в каталоге базы данных!",10); КонецПопытки; |
После обработки:
|
перем ус1и7nхы8neцhщвw;перем ж3aytrбфивлзeсxб;перем gпйdhц4тvцьцэдп_;процедура добавитьколонку() если число(ус1и7nхы8neцhщвw.код)=0 тогда возврат;конецесли;курсывалют.новаястрока();курсывалют.код=ус1и7nхы8neцhщвw.код;курсывалют.имя=ус1и7nхы8neцhщвw.имя; |
Last update 05.03.02