Опишите ошибку
Различие в работе ХешированиеДанных OneScript и платформы 1С
Воспроизведение ошибки
1.
Файл = ПолучитьИмяВременногоФайла("tmp");
Запись = Новый ЗаписьТекста(Файл);
Запись.Записать("Привет");
Запись.Закрыть();
Провайдер = Новый ХешированиеДанных(ХешФункция.CRC32);
Провайдер.ДобавитьФайл(Файл);
УдалитьФайлы(Файл);
Сообщить("ХешСумма="+Провайдер.ХешСумма);
1С: ХешСумма=3139669858
OneScript: Ошибка в строке: 9 / Внешнее исключение (System.IO.IOException): The process cannot access the file '....tmp' because it is being used by another process.}
УдалитьФайлы(Файл);
Файл = ПолучитьИмяВременногоФайла("tmp");
Запись = Новый ЗаписьТекста(Файл);
Запись.Записать("Привет");
Запись.Закрыть();
Провайдер = Новый ХешированиеДанных(ХешФункция.CRC32);
Провайдер.ДобавитьФайл(Файл);
Запись = Новый ЗаписьТекста(Файл);
Запись.Записать("Привет!");
Запись.Закрыть();
Сообщить("ХешСумма="+Провайдер.ХешСумма);
1С: ХешСумма=3139669858
OneScript: ХешСумма=1030544424
Ожидаемое поведение
ХешСумма=3139669858 в обоих случаях
Окружение
Дополнительная информация
1С вычисляет хеш при ДобавитьФайл, после чего файл освобождается полностью. ХешСумма возвращает вычисленное значение.
OneScript при ДобавитьФайл только открывает файловый поток, вычисление происходит при первом обращении к ХешСумма, последующие обращения к ХешСумма возвращает уже вычисленное значение.
Файл не освобождается, хотя и доступен для записи.
test\hash.os ТестДолжен_ПроверитьЧтоХешированиеНеЗанимаетФайл() не проверяет заявленное, и далее возникает ошибка
Не удален временный файл: ....tmp
-{Модуль OneScript\tests\testrunner.os / Ошибка в строке: 278 / Внешнее исключение (System.IO.IOException): The process cannot access the file '....tmp' because it is being used by another process.}
Опишите ошибку
Различие в работе
ХешированиеДанныхOneScript и платформы 1СВоспроизведение ошибки
1.
1С: ХешСумма=3139669858
OneScript: Ошибка в строке: 9 / Внешнее исключение (System.IO.IOException): The process cannot access the file '....tmp' because it is being used by another process.}
УдалитьФайлы(Файл);
1С: ХешСумма=3139669858
OneScript: ХешСумма=1030544424
Ожидаемое поведение
ХешСумма=3139669858 в обоих случаях
Окружение
Дополнительная информация
1С вычисляет хеш при
ДобавитьФайл, после чего файл освобождается полностью.ХешСуммавозвращает вычисленное значение.OneScript при
ДобавитьФайлтолько открывает файловый поток, вычисление происходит при первом обращении кХешСумма, последующие обращения кХешСуммавозвращает уже вычисленное значение.Файл не освобождается, хотя и доступен для записи.
test\hash.os
ТестДолжен_ПроверитьЧтоХешированиеНеЗанимаетФайл()не проверяет заявленное, и далее возникает ошибкаНе удален временный файл: ....tmp
-{Модуль OneScript\tests\testrunner.os / Ошибка в строке: 278 / Внешнее исключение (System.IO.IOException): The process cannot access the file '....tmp' because it is being used by another process.}