Skip to content

Commit

Permalink
Merge branch 'release/v.0.5.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
arkuznetsov committed Sep 30, 2019
2 parents a7f3187 + 7bc36dd commit a15f9ca
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 8 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Yet another brace reader (os): Чтение "скобкофайлов" 1С (yabr.os)

[![GitHub release](https://img.shields.io/github/release/ArKuznetsov/yabr.os.svg?style=flat-square)](https://github.com/ArKuznetsov/yabr.os/releases)
[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/yabr.os.svg?style=flat-square)](https://github.com/ArKuznetsov/yabr.os/blob/develop/LICENSE.md)
[![GitHub license](https://img.shields.io/github/license/ArKuznetsov/yabr.os.svg?style=flat-square)](https://github.com/ArKuznetsov/yabr.os/blob/develop/LICENSE)
[![Build Status](https://travis-ci.org/arkuznetsov/yabr.os.svg?branch=develop)](https://travis-ci.org/arkuznetsov/yabr.os)
[![Quality Gate](https://oskk-sonar.1solution.ru/api/badges/gate?key=yabr.os)](https://oskk-sonar.1solution.ru/dashboard/index/yabr.os)
[![Coverage](https://oskk-sonar.1solution.ru/api/badges/measure?key=yabr.os&metric=coverage)](https://oskk-sonar.1solution.ru/dashboard/index/yabr.os)
Expand Down
3 changes: 2 additions & 1 deletion examples/clusterdata/ib-list2jsonfile.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
"ИмяОбработки":"ЧтениеСкобкофайла",
"ИдОбработчика":"ФайлСпискаИБ",
"Параметры":{
"УровниЗаписей":[3]
"УровниЗаписей":[3],
"ИспользоватьВременныйФайл" : true
},
"Обработчики":[
{
Expand Down
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Описание.Имя("yabr")
.Версия("0.5.2")
.Версия("0.5.3")
.ВерсияСреды("1.0.21")
.ЗависитОт("logos", "1.2.1")
.ЗависитОт("delegate", "0.2.0")
Expand Down
57 changes: 52 additions & 5 deletions src/Классы/ЧтениеСкобкоФайла.os
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
Перем КаталогПозицийЧтения; // Строка - путь к каталогу для сохранения позиций начала чтения
Перем ПрефиксФайлаПозицииЧтения; // Строка - префикс, добавляемый к имени файла для сохранения
// позиции начала чтения
Перем ИспользоватьВременныйФайл; // Булево - Истина - чтение будет выполняться из временной копии файла

Перем ЧастотаЗамераСкоростиВыполнения; // Число - через указанное количество прочитанных строк
// будет выполняться замер скорости чтения
Expand Down Expand Up @@ -104,7 +105,14 @@
0,
"Количество прочитанных записей для которых будет выполнен расчет скорости чтения данных.
|Если указан 0, то расчет скорости выполняться не будет.");


ДобавитьОписаниеПараметра(Параметры,
"ИспользоватьВременныйФайл",
"Булево",
Ложь,
Ложь,
"Истина - чтение будет выполняться из временной копии файла.");

Возврат Параметры;

КонецФункции // ОписаниеПараметров()
Expand Down Expand Up @@ -208,6 +216,11 @@
ЧастотаЗамераСкоростиВыполнения = ПараметрыОбработки.ЧастотаЗамераСкоростиВыполнения;
КонецЕсли;

ИспользоватьВременныйФайл = Ложь;
Если ПараметрыОбработки.Свойство("ИспользоватьВременныйФайл") Тогда
ИспользоватьВременныйФайл = ПараметрыОбработки.ИспользоватьВременныйФайл;
КонецЕсли;

КонецПроцедуры // УстановитьПараметрыОбработкиДанных()

// Функция - Возвращает значение параметра обработки данных
Expand Down Expand Up @@ -261,6 +274,8 @@
ПрефиксФайлаПозицииЧтения = Значение;
ИначеЕсли ВРег(ИмяПараметра) = ВРег("ЧастотаЗамераСкоростиВыполнения") Тогда
ЧастотаЗамераСкоростиВыполнения = Значение;
ИначеЕсли ВРег(ИмяПараметра) = ВРег("ИспользоватьВременныйФайл") Тогда
ИспользоватьВременныйФайл = Значение;
Иначе
Возврат;
КонецЕсли;
Expand Down Expand Up @@ -291,11 +306,41 @@
ОбновитьЗамерСкоростиВыполнения(НачальнаяСтрока, 1);

Лог.Информация("[%1] Начало чтения файла ""%2"", начальная позиция чтения: %3.",
ТипЗнч(ЭтотОбъект),
ПолноеИмяФайла(),
НачальнаяСтрока);
ТипЗнч(ЭтотОбъект),
ПолноеИмяФайла(),
НачальнаяСтрока);

ВремФайл = Данные;
Если ИспользоватьВременныйФайл Тогда

Если ТипЗнч(Данные) = Тип("Строка") Тогда
ВремФайл = Новый Файл(Данные);
Расширение = ВремФайл.Расширение;
ИначеЕсли ТипЗнч(Данные) = Тип("Файл") Тогда
Расширение = Данные.Расширение;
Иначе
Расширение = "tmp";
КонецЕсли;

ВремФайл = ПолучитьИмяВременногоФайла(Расширение);

КопироватьФайл(Данные, ВремФайл);

Лог.Информация("[%1] Создана временная копия ""%2"" файла ""%3"".",
ТипЗнч(ЭтотОбъект),
ВремФайл,
ПолноеИмяФайла());
КонецЕсли;

ПрочитатьСкобкоФайл(ВремФайл);

ПрочитатьСкобкоФайл(Данные);
Если ИспользоватьВременныйФайл Тогда
УдалитьФайлы(ВремФайл);
Лог.Информация("[%1] Удалена временная копия ""%2"" файла ""%3"".",
ТипЗнч(ЭтотОбъект),
ВремФайл,
ПолноеИмяФайла());
КонецЕсли;

ОбновитьЗамерСкоростиВыполнения(НачальнаяСтрока, 1);

Expand Down Expand Up @@ -521,6 +566,8 @@
ПрочитанныеДанные = ПрочитанныеДанные.Родитель;
КонецЦикла;

Текст.Закрыть();

КонецПроцедуры // ПрочитатьСкобкоФайл()

// Процедура - Добавляет номер строки в струткуру прочитанных строк
Expand Down

0 comments on commit a15f9ca

Please sign in to comment.