Имя: Пароль:
1C
1C 7.7
v7: Как узнать версию файла *.ert программно, для обновления оной более свежей?
0 MobilSoyuz
 
16.05.13
17:23
Есть *.ert и нужно программно проверить, нужно ли обновить на удаленной машине такую же *.ert или нет?

Заранее благодарен за ответы!!!
1 ДенисЧ
 
16.05.13
17:24
у ert нет версии...
2 viktor_vv
 
16.05.13
17:25
Через Файловая система смотришь атрибуты, и сравниваешь. По крайней мере время изменения можно сравнить.
3 ДенисЧ
 
16.05.13
17:26
(2) Это время можно исправить...
4 ЧеловекДуши
 
16.05.13
17:26
(0) Только если ты помнишь Дату и время создания обработки и её размер.
В своё время была та же идея, но не дошло до реализации :)

+ Так так же смотри место запуска обработки, т.е. если не из нужного каталога, то такую обработку не пропускать :)
5 ЧеловекДуши
 
16.05.13
17:27
(3) А как ты подменишь путь запуска обработки?
Ведь по сути этот момент решается на уровне доменной политики.
6 ЧеловекДуши
 
16.05.13
17:27
+ Формекс умеет показывать сей путь.
7 MobilSoyuz
 
16.05.13
17:31
я ищу выход в возможности расчета контрольной суммы файла и его сравнения.. используя операционку...
Есть мысли по этому поводу?
8 Ковычки
 
16.05.13
17:31
(7) а что если отличается то которая новее ?
9 ЧеловекДуши
 
16.05.13
17:32
(7) Как хочешь, выложи потом на инфостарте, если не жалко, мы заценим :)
10 Mikeware
 
16.05.13
17:33
(9) у меня админ хэши считал.
11 ЧеловекДуши
 
16.05.13
17:34
(10) Все ровно без толку и маньяки, оба :)
12 Aleksey
 
16.05.13
17:35
можно через открыть форму модально
13 ptiz
 
16.05.13
17:38
Добавить в ert функцию возврата номера версии?
14 Сияющий Асинхраль
 
16.05.13
17:43
(13) +100500
Думал, когда же всплывет самое правильное и логичное предложение :-)
15 MobilSoyuz
 
16.05.13
17:50
(13) Это всего лишь два одинаковых файла, типа
abc.ert и abc.ert :-)
16 MobilSoyuz
 
16.05.13
17:53
один файл у разработчика
другой на ftp у клиента....
17 Ковычки
 
16.05.13
18:46
Перем Файл,Каталог;
ХТМЛ = СоздатьОбъект("htmlfile");
ХТМЛ.Open("text/html");
//<-- Подготовим нужные методы
ХТМЛ.Write("<script>
|ПолучитьХеш=function(x,y,z){x.Write(y.ComputeHash_2(z.Read(-1)))}
|</script>");
Док=ХТМЛ.documentElement.document;
// Все подготовке -->
Это=Док.script;

Методы = СоздатьОбъект("СписокЗначений");
Методы.ДобавитьЗначение("MD5");
Методы.ДобавитьЗначение("SHA1");

Фильтр="";
Для Сч=1 По Методы.РазмерСписка() Цикл
   Фильтр=Фильтр+"Файлы ("+Методы.ПолучитьЗначение(Сч)+")|*|";
КонецЦикла;
Если ФС.ВыбратьФайл(0,Файл,Каталог,,Фильтр)=0 Тогда
   Возврат;
КонецЕсли;
Стрим=СоздатьОбъект("ADODB.Stream");
Стрим.Type=1;
Стрим.Open();
СтримОтвет=СоздатьОбъект("ADODB.Stream");
Стрим.LoadFromFile(Каталог+Файл);
Для Х=1 По Методы.РазмерСписка() Цикл
   СтримОтвет.Type=1;
   СтримОтвет.Open();
   Метод=Методы.ПолучитьЗначение(Х);
   Енкрипт = СоздатьОбъект("System.Security.Cryptography."+Метод+"CryptoServiceProvider");
   Стрим.position=0;
   Это.ПолучитьХеш(СтримОтвет,Енкрипт,Стрим);
   СтримОтвет.position=0;
   СтримОтвет.Type=2;
   СтримОтвет.CharSet="windows-1251";
   Хеш="";
   Пока СтримОтвет.EOS=0 Цикл
       Хеш = Хеш + КодСимв(СтримОтвет.ReadText(1)) + " ";
   КонецЦикла;
   Сообщить("Файл = " + Каталог+Файл + "; Метод = " + Метод + "; Хеш = " + Хеш);
   СтримОтвет.Close();
КонецЦикла;
Стрим.Close();
18 temsa
 
16.05.13
18:56
(0) Сравни их модули и по коду разницы опрредели какой свежее и нужнее.
А вообще надо было иметь привычку  прямо на форме писать версию. Я такие видел часто. Сам лично просто обзывал 1й 2й итп
19 alex74
 
16.05.13
19:16
(0) есть специальные программы для синхронизации файлов. В т.ч. через ftp
20 NikVars
 
16.05.13
19:44
(16) А зачем такие заморочки?
Считаем, что самая свежая версия у разработчика и обновляем если есть сомнения.
Если ты считаешь, что у разработчика может быть не свежая версия, то наведи у себя порядок, никакие хеши и сверки атрибутов не смогут помочь.
21 NikVars
 
16.05.13
19:52
+(20) Смотрю у своих клиентов что и как лежит у них на фтп для обмена. Разница во времени - минус 3 часа. Хотя территориально находимся в одном городе.
Время на моих обработках и выложенных не совпадает. При активной разработке можно легко себя запутать.
22 Mikeware
 
16.05.13
20:13
(15) если они одинаковые, то зачем их сравнивать?
вообще, у приличных людей давно внешние отчеты нумеруются телепатом автоматически.
23 pumbaEO
 
16.05.13
20:26
(22) + телепат+еще какой нибудь версионник, да еще и gcomp разбирает на исходники.
24 Ковычки
 
16.05.13
20:27
есть железный метод без (23) прочего
25 pumbaEO
 
16.05.13
20:35
(24) Копия Файл.ert, Копия Копия Файл.ert, Копия Копия Копия Файл.ert ?
26 Ковычки
 
16.05.13
20:35
(25) да
27 pumbaEO
 
16.05.13
20:41
(26) но так ведь http://forum.infostart.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=167419 красивей  и понятней.
28 Ковычки
 
16.05.13
20:42
(27) для нормального человека в (27) ничего не понятно - бред какой то.
29 Ковычки
 
16.05.13
20:43
хотя для упоротого "программиста" может казаться понятным
30 Ковычки
 
16.05.13
20:45
к слову - возник интерес как в 77 узнать "индекс" фильтра выборафайла без вк ?
31 Ковычки
 
16.05.13
20:45
думаю, соображаю - шарики вертятся.
32 NikVars
 
17.05.13
10:12
(27) Круто! Хвастал 5 сек, да фигней занимался несколько человеко-дней.
33 ЧеловекДуши
 
17.05.13
10:17
(14) Тупиковая ветвь развития, при открытии можно уже все что угодно обработать, считай, что ты уже выполнил Злую обработку :)
34 ЧеловекДуши
 
17.05.13
10:18
(27) Фигня.