0
imtade2
27.06.13
✎
14:08
|
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьСервер();
КонецПроцедуры
&НаСервере
Процедура СформироватьСервер()
тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить("Магазин", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная)));
тз.Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата", , ,Новый КвалификаторыДаты(ЧастиДаты.ДатаВремя)));
тз.Колонки.Добавить("Вход", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Любой)));
тз.Колонки.Добавить("Выход", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Любой)));
тз.Колонки.Добавить("Среднее", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Любой)));
ИсходныйКаталог = "D:\Dropbox\URBD";
МассивФайлов = НайтиФайлы(ИсходныйКаталог, "Object", Истина);
Для каждого Файл Из МассивФайлов Цикл
Если Файл.ЭтоКаталог() Тогда
Магазин = Файл.Путь;
МассивФайловМагазина = НайтиФайлы(Файл.ПолноеИмя, "*.csv");
Для каждого ФайлЦСВ Из МассивФайловМагазина Цикл
тд = Новый ТекстовыйДокумент;
тд.Прочитать(ФайлЦСВ.ПолноеИмя);
СтрокаДанных = тд.ПолучитьСтроку(2);
б=0;
е=0;
нс = тз.Добавить();
Для а = 1 По СтрДлина(СтрокаДанных) Цикл
Если Сред(СтрокаДанных, а, 1) = ";" Тогда
ТекЗнч = Сред(СтрокаДанных, е+1, а-е-1);
Если б = 4 Тогда
нс.Магазин = ТекЗнч;
ИначеЕсли б = 5 Тогда
нс.Дата = Дата(Сред(ТекЗнч, 7, 4), Сред(ТекЗнч, 4, 2), Сред(ТекЗнч,1,2));
ИначеЕсли б = 6 Тогда
нс.Вход = ТекЗнч;
ИначеЕсли б = 7 Тогда
нс.Выход = ТекЗнч;
ИначеЕсли б = 8 Тогда
нс.Среднее = ТекЗнч;
КонецЕсли;
е = а;
б = б + 1;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ВнешнийНаборДанных = Новый Структура("НаборДанных1", тз);
ЭтотОбъект = РеквизитФормыВЗначение("Объект");
Макет = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//ОбщегоНазначенияРТКлиентСервер.ДобавитьОтбор(Макет.НастройкиПоУмолчанию, Новый ПолеКомпоновкиДанных("Дата"), Период.ДатаНачала, ВидСравнения.БольшеИлиРавно);
//ОбщегоНазначенияРТКлиентСервер.ДобавитьОтбор(Макет.НастройкиПоУмолчанию, Новый ПолеКомпоновкиДанных("Дата"), Период.ДатаОкончания, ВидСравнения.МеньшеИлиРавно);
//
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Макет, Макет.НастройкиПоУмолчанию);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, ВнешнийНаборДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ЭтотОбъект = "";
КонецПроцедуры
|
|