PDA

Просмотр полной версии : 1С ИНАГРО помогите снять защиту СЛК (Бухгалтерия сельскохозяйственного предприятия)



Chvalov
14.07.2015, 22:50
Все делал по примерам из других конфигураций:
1. Конфигурация - Открыть конфигурацию
2. Конфигурация - Поддержка - Настройка поддержки - Включить возможность изменения
3. В появившемся окошке выбираю вторую строчку: "Объект редактируется с сохранением поддержкой", после чего с низу жму кнопку "Открыть"
4. Правой кл.мыши на БухгалтерияСельскохозяйст венногоПредприятия Открыть модуль обычного приложения

Процедуру проверки нашел:

// Процедура - обработчик события "При начале работы системы".
//
Процедура ПриНачалеРаботыСистемы()

// Начало: изменено компанией ИН-АГРО
//Инициализируем механизм защиты
ИНАГРО_ОбщегоНазначенияКл� �ент.ВывестиИнтерфейсПольз ователя(Истина);
Если НЕ ИНАГРО_ДирективыПрепроцес� �ору.ИНАГРО_Инициализирова� �ьЗащитуКонфигурации() Тогда
Предупреждение("Не удалось инициализировать систему СЛК.
|Работа системы будет завершена!", 120);
ЗавершитьРаботуСистемы(Ло� �ь);
Возврат;
КонецЕсли;
ИНАГРО_ОбщегоНазначенияКл� �ент.ВывестиИнтерфейсПольз ователя(Ложь);

Если Константы.ИНАГРО_глИдентиф икаторКонфигурации.Получи� �ь() = ""
ИЛИ Константы.ИНАГРО_глИдентиф икаторКонфигурации.Получи� �ь() <> "AccountingUkr" Тогда
Константы.ИНАГРО_глИдентиф икаторКонфигурации.Устано� �ить("AccountingUkr");
КонецЕсли;

КонтрольВерсииПлатформы.П� �оверитьВерсиюПлатформы();

ПервыйЗапуск = (Константы.НомерВерсииКонф игурации.Получить()="");

ПользовательОпределен = Ложь;
ОписаниеОшибкиОпределения Пользователя = "";
Если Не ЗначениеЗаполнено(Парамет� �ыСеанса.ТекущийПользовате ль) Тогда
Если УправлениеПользователями.� �пределитьТекущегоПользов� �теля(ОписаниеОшибкиОпреде ленияПользователя) Тогда
ПользовательОпределен = ЗначениеЗаполнено(Парамет� �ыСеанса.ТекущийПользовате ль);
КонецЕсли;
Иначе
ПользовательОпределен = Истина;
КонецЕсли;

Если Не ПользовательОпределен Тогда
Если ПустаяСтрока(ОписаниеОшиб� �иОпределенияПользователя) Тогда
ОписаниеОшибкиОпределения Пользователя = НСтр("ru='Ошибка идентификации пользователя. Обратитесь к администратору';uk='Помилка ідентифікації користувача. Зверніться до адміністратора'");
КонецЕсли;
Предупреждение(ОписаниеОш� �бкиОпределенияПользовате� �я);
ЗавершитьРаботуСистемы(Ло� �ь);
Возврат;

КонецЕсли;

ЗаголовокСистемы = Константы.ЗаголовокСистем� �.Получить();
Если НЕ Пустаястрока(ЗаголовокСис� �емы) Тогда
УстановитьЗаголовокСистем ы(ЗаголовокСистемы);
КонецЕсли;

// Открытие Панели функций
Если (НЕ ПервыйЗапуск) Тогда
ПроверитьЗапускСтартового ПомощникаИПанелиФункций();
КонецЕсли;

БИ = Обработки.БухгалтерскиеИт� �ги.Создать();

// Установить начальное значение ТипДетализацииСтандартных Отчетов
Если УправлениеПользователями.� �олучитьЗначениеПоУмолчан� �ю(глЗначениеПеременной("глТекущийПользователь"), "ТипДетализацииСтандартных Отчетов") = Перечисления.ТипДетализац� �иСтандартныхОтчетов.Пуста яСсылка() Тогда
УправлениеПользователями.� �становитьЗначениеПоУмолч� �нию(глЗначениеПеременной("глТекущийПользователь"), "ТипДетализацииСтандартных Отчетов", Перечисления.ТипДетализац� �иСтандартныхОтчетов.Элеме нты);
КонецЕсли;

ОбновлениеИнформационнойБ азы.ВыполнитьОбновлениеИн� �ормационнойБазы();

//-----------------Начало ИН-АГРО Подсистема Элевотор-----------------------
Если ИНАГРО_ОбщийПовторногоИсп� �льзования.ЕстьБЭМКЗУ() Тогда
Если Метаданные.РегистрыНакопл� �ния.Найти("ИНАГРО_Остатки") <> Неопределено Тогда

Выполнить("ИНАГРО_ДирективыПрепроцес� �оруЭлеватор.ИНАГРО_Выполн� �тьОбновлениеИнформационн� �йБазы();");

КонецЕсли;
КонецЕсли;
//-----------------Конец ИН-АГРО Подсистема Элевотор-----------------------

// Выполнить проверку разницы времени с сервером приложения
Если НЕ ПроверкаРазницыВремениКли ент.ВыполнитьПроверку() Тогда
Возврат;
КонецЕсли;

Если ОбработатьПараметрыЗапуск а(ПараметрЗапуска) Тогда
Возврат;
КонецЕсли;

УправлениеСоединениямиИБ.� �становитьКонтрольРежимаЗ� �вершенияРаботыПользовате� �ей();

ЭтоФайловаяИБ = ОпределитьЭтаИнформационн аяБазаФайловая();

Если ЭтоФайловаяИБ Тогда

ПользовательДляВыполнения РеглЗаданий = Константы.ПользовательДля� �ыполненияРегламентныхЗад� �нийВФайловомВарианте.Полу чить();

Если глЗначениеПеременной("глТекущийПользователь") = ПользовательДляВыполнения РеглЗаданий Тогда

// с интервалом секунд вызываем процедуру работы с регламентными заданиями
ПоддержкаРегламентныхЗада ниеДляФайловойВерсии();

ИнтервалДляОпроса = Константы.ИнтервалДляОпро� �аРегламентныхЗаданийВФай� �овомВарианте.Получить();

Если ИнтервалДляОпроса = Неопределено
ИЛИ ИнтервалДляОпроса = 0 Тогда

ИнтервалДляОпроса = 60;

КонецЕсли;

ПодключитьОбработчикОжида ния("ПоддержкаРегламентныхЗада ниеДляФайловойВерсии", ИнтервалДляОпроса);

КонецЕсли;

КонецЕсли;

// автообмен данными
Если глЗначениеПеременной("глОбработкаАвтоОбменДанны ми") <> Неопределено Тогда

// подключим обработчик обменов данными
ПодключитьОбработчикОжида ния("ПроверкаОбменаДанными", глЗначениеПеременной("глКоличествоСекундОпросаО бмена"));

КонецЕсли;

// Открытие Быстрого освоения
ПоказыватьБыстроеОсвоение = УправлениеПользователями.� �олучитьЗначениеПоУмолчан� �ю(глЗначениеПеременной("глТекущийПользователь"), "ПоказыватьБыстроеОсвоение ПриНачалеРаботыСистемы");
Если ПоказыватьБыстроеОсвоение И (НЕ ПервыйЗапуск) Тогда
Обработки.БыстроеОсвоение. ПолучитьФорму().Открыть();
КонецЕсли;

// Начало: изменено компанией ИН-АГРО
глУчетнаяПолитикаПоПерсон алуОрганизации = ИНАГРО_Зарплата.ИНАГРО_Зап� �лнениеУчетнойПолитикиПоП� �рсоналуОрганизации();
// Конец: изменено компанией ИН-АГРО

Если НЕ ПервыйЗапуск Тогда
// Открытие дополнительной информации
Форма = Обработки.ДополнительнаяИ� �формация.ПолучитьФорму("ФормаРабочийСтол");
Форма.Открыть();
КонецЕсли;

// Начнем проверку динамического обновления конфигурации
НачатьПроверкуДинамическо гоОбновленияИБ();

// Автоматическая загрузка почты
Если УправлениеПользователями.� �олучитьЗначениеПоУмолчан� �ю(глЗначениеПеременной("глТекущийПользователь"), "АвтооткрытиеЭлектроннойПо чтыПриЗапускеПрограммы") = Истина
И Константы.ИспользованиеВс� �роенногоПочтовогоКлиента. Получить() Тогда
Обработки.Почта.ПолучитьФо рму().Открыть();
КонецЕсли;

Если УправлениеПользователями.� �олучитьЗначениеПоУмолчан� �ю(глЗначениеПеременной("глТекущийПользователь"), "ЗагружатьАктуальныеКурсыВ алютПриЗапускеСистемы") Тогда

// Автоматическая загрузка курсов валют
ЗначениеКонстанты = Константы.НастройкиЗагруз� �иКурсовВалют.Получить();
Настройки = ЗначениеКонстанты.Получит� �();
ЗагружатьЕжедневно = Ложь;
Если Настройки <> Неопределено Тогда
Попытка
ЗагружатьЕжедневно = Настройки.ЗагружатьЕжедне� �но;
Исключение
КонецПопытки;
КонецЕсли;

Попытка
Если ЗагружатьЕжедневно Тогда

ОбработкаЗагрузкаКурсов = Обработки.ЗагрузкаКурсовВ� �лют.Создать();
Если НЕ ОбработкаЗагрузкаКурсов.К� �дДоступаАктуален() Тогда
ФормаОжиданияКурсов = ОбработкаЗагрузкаКурсов.П� �лучитьФорму("ФормаОжидания");
ФормаОжиданияКурсов.Откры� �ь();
ПодключитьОбработчикОжида ния("ОбработчикЗагрузкаКурсов", 20, Истина);
Иначе
ОбработкаЗагрузкаКурсов.З� �грузитьКурсыПоНастройкам( );
КонецЕсли;
КонецЕсли;
Исключение
КонецПопытки;

КонецЕсли;

Локализация.ПроверитьСоот� �етсвиеЯзыкаПлатформыИПол� �зователя();

Если Не ПервыйЗапуск Тогда
ОткрытьПутеводительПоДемо базе();
КонецЕсли;

// Форма помощника обновления конфигурации выводится поверх остальных окон.
// ИН-АГРО Чтобы не лезла в Интернет за обновлением
//Если РольДоступна(Метаданные.Ро ли.ПолныеПрава) Тогда
// ОбработкаОбновлениеКонфиг урации = Обработки.ОбновлениеКонфи� �урации.Создать();
// ОбработкаОбновлениеКонфиг урации.ПроверитьНаличиеОб� �овлений();
//КонецЕсли;

глПодключитьМенеджерЗвит1� �(Ложь);

КонецПроцедуры // ПриНачалеРаботыСистемы()

Но весь прикол в том что редактировать не можно, модуль открыт со статусом "Только чтение"
1521
Как обойти, или как же все таки ее взломать ?