Для будущих поколений... // определение имени файла нстроек внешнего отчета Функция Из_10_В_Любую(Знач Значение=0,Нотация=36) // функция перевода (с) avb Если Нотация<=0 Тогда Возврат("") КонецЕсли; Значение=Число(Значение); Если Значение<=0 Тогда Возврат("0") КонецЕсли; Значение=Цел(Значение); Результат=""; Пока Значение>0 Цикл Результат=Сред("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Значение%Нотация+1,1)+Результат; Значение=Цел(Значение/Нотация) ; КонецЦикла; Возврат Результат; КонецФункции
Процедура Сформировать() Имя = ""; Путь = ""; РасположениеФайла(Путь,Имя); ПутьИмя = Врег(Путь+Имя); Сообщить(ПутьИмя); Сум = 0; Для инд = 1 по СтрДлина(ПутьИмя) Цикл с = Сред(ПутьИмя,инд,1); КодС = КодСимв(с) + ?(КодСимв(с) > 127,4294967039,0); Сум = (((Сум + Сум*4) % 4294967296) + КодС) % 4294967295; КонецЦикла; Сум = (Сум + 1000000) % 4294967295; Если Сум > 0 Тогда Сообщить("Результат: rh"+Лев(""+Сум,6)+".lst"); Иначе Сообщить("Результат: rh"+Лев(""+Из_10_В_Любую(Сум,16),6)+".lst"); КонецЕсли; КонецПроцедуры