Имя: Пароль:
1C
1С v8
{ОбщийМодуль.Хеш.Модуль(267)} execution exceeded the specified timeout period.
,
0 Adecvator
 
27.11.14
12:49
Встроил механизм версионирования, по началу не взлетел, но после поднятия флага в свойствах модуля: Клиент (обычное приложение), все взлетело, но со временем появилась другая ошибка:
{ОбщийМодуль.Хеш.Модуль(267)}: Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (ScriptControl): The script was aborted because execution exceeded the specified timeout period.
http://pixs.ru/showimage/Bezimyanni_3207963_14905211.png
1 ilyavorobyev
 
27.11.14
12:49
2 ДенисЧ
 
27.11.14
12:50
к версионированию эта ошибка никакого отношения не имеет
3 Adecvator
 
27.11.14
12:51
(2) но ошибка, та происходит в модули версионирования?!?
4 DrZombi
 
гуру
27.11.14
12:54
(3) Ну дак, ты посмотри, что там стоит в строке "267".
Нам тут не видно. Иль ты не программист? :)
5 Adecvator
 
27.11.14
12:54
(1) а у меня тайм аута вообще не было, посмотрю как будет работать.
6 DrZombi
 
гуру
27.11.14
12:54
+(4) Позвать специалиста еще не предлагали?
7 ДенисЧ
 
27.11.14
12:54
(3) Ошибка у тебя происходит в ОбщийМодуль.Хеш.Модуль(267)
В типовом версионировании я такого не помню.
8 ДенисЧ
 
27.11.14
12:55
(6) Он же программист! (с)
9 DrZombi
 
гуру
27.11.14
12:55
(8) Не уверен. У меня почему то было бы желание посмотреть в код. У него поспросить на мисте :)
10 ДенисЧ
 
27.11.14
12:56
(9) Да что ж вы гадость всякую смотрите! (с)
11 Adecvator
 
27.11.14
12:56
ошибка при выполнении скрипта: ЗначениеВозврата = ScrptCtrl.Run("hex_md5", КодируемаяСтрока);
12 DrZombi
 
гуру
27.11.14
13:03
(11) И зачем тебе кодировать в версионировании?
13 DrZombi
 
гуру
27.11.14
13:04
+(11) Может все же проверить настройки безопасности сервера, или где ты там запускаешь? :)
14 ДенисЧ
 
27.11.14
13:04
(11) ну нету в типовых никаких md5!
15 Adecvator
 
27.11.14
13:05
Процедура МеханизмВерсионированияОбъектов_ПриЗаписиОбъекта(Источник, Отказ) Экспорт
    
    Перем ЧислоВерсийОбъекта;
    
    Если ОбъектВерсионируется(Источник, ЧислоВерсийОбъекта) Тогда
        
        ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
        
        //проверим хеш последнего объекта, если совпадает - не будем добавлять новую запись
        ХешНовогоОбъекта = Хеш.МД5(XMLСтрока(Источник.Ссылка));
        ХешСтарогоОбъекта = Хеш.ПолучитьСтарыйХеш(Источник.Ссылка,ЧислоВерсийОбъекта);
        
        ЗаписьXML = Новый ЗаписьXML;
        ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла);
        ЗаписьXML.ЗаписатьОбъявлениеXML();
        ЗаписатьXML(ЗаписьXML, Источник, НазначениеТипаXML.Явное);
        ЗаписьXML.Закрыть();
        
        ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
        
        //проверим хеш последнего объекта, если совпадает - не будем добавлять новую запись
        ХешНовогоОбъекта = Хеш.МД5(XMLСтрока(ДвоичныеДанные));
        ХешСтарогоОбъекта = Хеш.ПолучитьСтарыйХеш(Источник.Ссылка,ЧислоВерсийОбъекта);
        
        Если ХешНовогоОбъекта <> ХешСтарогоОбъекта Тогда //значит что-то изменилось    
            
            ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));
            
            УдалитьФайлы(ИмяВременногоФайла);
            
            ВерсионированиеОбъектовПривилегированный.ЗаписатьВерсиюОбъекта(Источник.Ссылка, ЧислоВерсийОбъекта, ХранилищеДанных,ХешНовогоОбъекта);
            
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
16 DrZombi
 
гуру
27.11.14
13:06
(15) Держи, как оно там работает :)
http://css-tricks.com/snippets/javascript/javascript-md5/
17 DrZombi
 
гуру
27.11.14
13:07
+(15) Это создано кем-то... в надежде избежать лишней записи. :)
18 DrZombi
 
гуру
27.11.14
13:07
+ В типовой тупо пишет всегда :)
19 Adecvator
 
27.11.14
13:08
(16) думаешь этот будет работать лучше?
20 DrZombi
 
гуру
27.11.14
13:09
(19) Нет, будет работать так же.
Скорей всего на сервере или еще где, снесли какое либо приложение для хеширования.
21 DrZombi
 
гуру
27.11.14
13:10
+(19) Что за переменная Хеш?
22 Adecvator
 
27.11.14
13:14
(21) библиотека (общий модуль), с функциями МД5() и ПолучитьСтарыйХеш()
23 DrZombi
 
гуру
27.11.14
13:25
(22) А можешь выложить Код модуля?
24 DrZombi
 
гуру
27.11.14
13:25
Хоть на Яндекс диск, Или майл диск
25 DrZombi
 
гуру
27.11.14
13:25
В текстовом виде
26 Adecvator
 
27.11.14
13:45
(25) вот исходник, который я скопировал: http://www.ex.ua/133650243013
27 DrZombi
 
гуру
27.11.14
13:57
(26) Как вариант, попробуй обновить скрипт ;)

http://pajhome.org.uk/crypt/md5/scripts.html
28 DrZombi
 
гуру
27.11.14
13:57
там 2.2 уже
29 DrZombi
 
гуру
27.11.14
13:57
у тебя 2.1 ;)
30 DrZombi
 
гуру
27.11.14
13:58
+(26)  И проверь права, можут у тебя на сервере нет прав для выполнения скриптов :)
31 Adecvator
 
27.11.14
17:24
мне надо обновить из скрипта md5, выдрать скрипт?
32 H A D G E H O G s
 
27.11.14
17:26
(31) Что мешает поставить 8.3 ?
33 Adecvator
 
27.11.14
17:35
(32) платформа: 1С:Предприятие 8.3 (8.3.5.1068)
34 ДенисЧ
 
27.11.14
17:36
(33) а чего не взять ХешированиеДанных ?
35 Adecvator
 
27.11.14
17:39
(34) типа того:
ХешSHA1 = Новый ХешированиеДанных(ХешФункция.SHA1);
ХешSHA1.Добавить(НачальнаяСтрока);
    
ХешMD5 = Новый ХешированиеДанных(ХешФункция.MD5);
ХешMD5.Добавить(ХешSHA1.ХешСумма);

Результат = ХешMD5.ХешСумма
36 DrZombi
 
гуру
28.11.14
07:58
(35) А разве ты не тоже самое получаешь скриптом? :)