Имя: Пароль:
1C
1С v8
Не сохраняется внешняя обработка. Где тут кольцевая ссылка?
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", тз);
   ЭтотОбъект = РеквизитФормыВЗначение("Объект");
   Макет = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   
   //ОбщегоНазначенияРТКлиентСервер.ДобавитьОтбор(Макет.НастройкиПоУмолчанию, Новый ПолеКомпоновкиДанных("Дата"), Период.ДатаНачала, ВидСравнения.БольшеИлиРавно);
   //ОбщегоНазначенияРТКлиентСервер.ДобавитьОтбор(Макет.НастройкиПоУмолчанию, Новый ПолеКомпоновкиДанных("Дата"), Период.ДатаОкончания, ВидСравнения.МеньшеИлиРавно);
   //
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Макет, Макет.НастройкиПоУмолчанию);
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, ВнешнийНаборДанных);
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ТабДок);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   
   ЭтотОбъект = "";
   
КонецПроцедуры
1 imtade2
 
27.06.13
14:08
Это модуль формы. Модуль объекта пуст.
AdBlock убивает бесплатный контент. 1Сергей