| 
    10
    
        Csar    
       
    
    19.06.13 
            ✎
    17:21 
 | 
         
        Если актуально, то вот обработка выгрузки из источника:
 
 Перем одТипСтрока;                  // Тип("Строка")
  
  Перем ПутьОбмена;
  Перем МаскаФайловЗагрузки;
  Перем МаскаФайловВыгрузки;
  Перем ИмяФайлаПравилОбмена;
  Перем ДлинаКодаПакета;
  
  Перем СерверОбменаFTP;
  Перем ПортОбменаFTP;
  Перем ЛогинОбменаFTP;
  Перем ПарольОбменаFTP;
  
  Процедура Инициализация()Экспорт 
      
      ПутьОбмена = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("ПутьКПакетамОбменаСЛогистикойОС").Значение);
      Если Прав(СокрЛП(ПутьОбмена),1) <> "\" Тогда
          ПутьОбмена = СокрЛП(ПутьОбмена) + "\";
      КонецЕсли;
      МаскаФайловЗагрузки = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("МаскаФайловОбменаДляВыгрузкиБИБ8СохраннаяРасписка").Значение);  // = Logistic8-BIB82-Data_*.xml
      //МаскаФайловВыгрузки = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("МаскаФайловОбменаДляВыгрузки").Значение);  // = V82DataExchanUpL_*.xml
      ИмяФайлаПравилОбмена = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("ИмяФайлаПравилВыгрузкиВ_УИБ82_СохраннаяРасписка").Значение);//"C:\DBASES\Obmen\Logistic\Rules\Правила_Логистика82-БИБ82_СохраннаяЗаписка.xml";
      ДлинаКодаПакета = 10;
      
      ИмяФайлаПравилОбмена = "\\Tsdt3\dbases$\Obmen\Logistic\Rules\Правила_Логистика82-БИБ82_СохраннаяЗаписка.xml";
      ПутьОбмена = "\\Tsdt3\dbases$\Obmen\Logistic\Packets\";
  
  КонецПроцедуры
  
  Процедура ВыполнитьЗагрузку() Экспорт
      ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загрузка.СохраннаяЗаписка",УровеньЖурналаРегистрации.Информация, , ,"Начало загрузки Сохранных записок");
      Инициализация();
      
      //=================================================================================================================================================================================
      //=============================================                       ЗАГРУЗКА ИЗ Логистика8                        ===============================================================
      //=================================================================================================================================================================================
      //
      ////Ищем новый не полученный файл
      МассивФайлов = НайтиФайлы(ПутьОбмена,МаскаФайловЗагрузки);
      Файл = Новый ЧтениеXML;
      МассивФайлов = СортировкаПоДатеИзменения(МассивФайлов);
  
      Если МассивФайлов.Количество() > 0 Тогда 
          //Получаем массив всех файлов и грузим всё
          Загружен = Ложь;
          Индекс = 0;
          Пока (Не Загружен) И (Индекс <= МассивФайлов.ВГраница()) Цикл
              ЭлементМассива = МассивФайлов[МассивФайлов.ВГраница() - Индекс];
              Попытка
                  Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();            
                  Обработка.ИмяФайлаОбмена = ПутьОбмена + ЭлементМассива.Имя;
                  Обработка.РежимОбмена = "Загрузка";            
                  Обработка.ФлагРежимОтладки = Истина;
                  Обработка.ВыполнитьЗагрузку();
                  ТекстСообщения = "Загружен файл: "+ Обработка.ИмяФайлаОбмена;
                  Загружен = Истина;                                                
                  ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загрузка",УровеньЖурналаРегистрации.Информация, , ,ТекстСообщения);    
                  Файл.ОткрытьФайл(ЭлементМассива.ПолноеИмя);
                  СодержимоеЗагруженного = ПолучитьСодержимоеФайла(Файл, Обработка);
                  Файл.Закрыть();
                  
                  Если СодержимоеЗагруженного.Количество() > 0 Тогда
                      //Профиль = Новый ИнтернетПочтовыйПрофиль;
                      Профиль = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("sed@telros-telecom.ru");
                      ОбъектПрофиль = Профиль.ПолучитьОбъект();
                      
                      Текст = "Вследствие  обмена из Логистики были созданы следующие документы:
                      |";
                      Для каждого СтрокаСодержимого Из СодержимоеЗагруженного Цикл
                          Если ЗначениеЗаполнено(СтрокаСодержимого.Номер) И ЗначениеЗаполнено(СтрокаСодержимого.Дата) Тогда
                              Текст = Текст + Строка("Загружен документ №" + СтрокаСодержимого.Номер + " от " + СтрокаСодержимого.Дата + Символы.ПС);
                          КонецЕсли;
                      КонецЦикла;
                      //удалим последний символ
                      Текст = Лев(Текст, СтрДлина(Текст)-1);
                      Текст = Текст + Строка(""+ Символы.ПС + "Перечисленные выше документы нуждаются в обязательном проведении/перепроведении!");
                      Кому = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("АдресаРассылкиРезультатовОбменаЛогистики8-БИБ82_СохраннаяЗаписка").Значение);
                      
                      СтруктураПисьма = Новый Структура("Кому, Тема, Тело, Пароль", Кому, 
                          "Загружены акты ответственного хранения", Текст, ОбъектПрофиль.Пароль);
  
                      
                      Попытка
                          ЭлектроннаяПочта.ОтправитьСообщение(Профиль, СтруктураПисьма);
                          ТекстСообщения = "Загружено " + СодержимоеЗагруженного.Количество()+ " документов";
                          ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загружено",УровеньЖурналаРегистрации.Ошибка, , ,ТекстСообщения);
                      Исключение
                          Сообщить(ОписаниеОшибки());
                          ОбщегоНазначения.СообщитьОбОшибке();
                          //Предупреждение("Произошли ошибки при проверке настроек учетной записи и отправке письма.
                          //|Описание ошибки приведено в окне сообщения.");
                          Возврат;
                      КонецПопытки;
                      
                      //ИнтернетПочта = Новый ИнтернетПочта;
                      //
                      //Попытка
                      //    ИнтернетПочта.Подключиться(Профиль.Наименование, Профиль.Пароль);
                      //Исключение
                      //    Сообщить(ОписаниеОшибки());
                      //    Предупреждение("Произошли ошибки при проверке настроек учетной записи.
                      //    |Описание ошибки приведено в окне сообщения.");
                      //    Возврат;
                      //КонецПопытки;
                      //
                      //Письмо = Новый ИнтернетПочтовоеСообщение;
                      //Текст = "В следствие обмена из Логистики были созданы следующие документы:
                      //|";
                      //Для каждого СтрокаСодержимого Из СодержимоеЗагруженного Цикл
                      //    Текст = Текст + Строка("Загружен документ №" + СтрокаСодержимого.Номер + " от " + СтрокаСодержимого.Дата + "|");
                      //КонецЦикла;
                      //Письмо.Текст = (Текст);
                      //Письмо.Получатели.Добавить("nosov@telros-telecom.ru");
                      //Письмо.Тема = "Загружены акты ответственного хранения";
                      //Письмо.Отправитель = Профиль.АдресЭлектроннойПочты;
                      ////Письмо.ИмяОтправителя = Профиль.ИмяПользователя;
                      //
                      //ИнтернетПочта.Послать(Письмо);
                      //ИнтернетПочта.Отключиться();
                      
                      //Сообщить("Загружены следующие документы ""Акт ответственного хранения"":");
                      //Для каждого СтрокаСодержимого Из СодержимоеЗагруженного Цикл
                      //    Сообщить("Загружен документ №" + СтрокаСодержимого.Номер + " от " + СтрокаСодержимого.Дата);
                      //КонецЦикла;
                  КонецЕсли; 
              Исключение    
                  ТекстСообщения = "Не загружен файл: "+ Обработка.ИмяФайлаОбмена+". "+ОписаниеОшибки();
                  ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загрузка",УровеньЖурналаРегистрации.Ошибка, , ,ТекстСообщения);
                  Загружен = Ложь;
                  Индекс = Индекс + 1;
              КонецПопытки;    
          КонецЦикла; 
          
          //ПодключитьРасширениеРаботыСФайлами();
          Для Каждого ЭлементМассива Из МассивФайлов Цикл 
              НомерПакета = ПолучитьНомерПакета(ЭлементМассива.Имя);
              Попытка
                  УдалитьФайлы(ЭлементМассива.ПолноеИмя);
                  ТекстСообщения = "Файл с пакета обмена с номером "+ Строка(НомерПакета) +" удален!";
                  ЗаписьЖурналаРегистрации("Обмен.БИБ82",УровеньЖурналаРегистрации.Информация, , ,ТекстСообщения);                        
              Исключение    
                  ТекстСообщения = "Не удалось удалить Файл с пакета обмена "+ЭлементМассива.ПолноеИмя+"! "+ОписаниеОшибки();
                  ЗаписьЖурналаРегистрации("Обмен.БИБ82",УровеньЖурналаРегистрации.Ошибка, , ,ТекстСообщения);
                  Сообщить(ТекстСообщения);
              КонецПопытки;    
          КонецЦикла;
      КонецЕсли;
      
  КонецПроцедуры
  
  Функция ПолучитьНомерПакета(ИмяФайла)
      
      Поз_ = Найти(ИмяФайла, "_");
      ПозТочка = Найти(ИмяФайла, ".");
      //СтрокаНомера = Сред(ИмяФайла, Поз_+1, ПозТочка-1 );
      СтрокаНомера = Сред(ИмяФайла, Поз_+1, 10 );//ДлинаКодаПакета = 10;
      //Убираем не значащие нули
      Если Лев(СтрокаНомера, 1) = "0" Тогда
          ЛевСимвол = Лев(СтрокаНомера, 1);
          Пока ЛевСимвол = "0" Цикл
              СтрокаНомераДлина = СтрДлина(СтрокаНомера);
              СтрокаНомера = Прав(СтрокаНомера, СтрокаНомераДлина - 1);
              ЛевСимвол = Лев(СтрокаНомера, 1);
          КонецЦикла;        
      КонецЕсли;    
      //НомерЗагруженногоПакета = Число(Сред(ИмяФайла, Поз_+1, ПозТочка-1 ));
      НомерЗагруженногоПакета = Число(СтрокаНомера);
      Возврат НомерЗагруженногоПакета;
      
  КонецФункции
  
  Функция ПолучитьСодержимоеФайла(ФайлОбмена, Обработка)
  
      ТаблицаДокументов = Новый ТаблицаЗначений;
      ТаблицаДокументов.Колонки.Добавить("Дата");
      ТаблицаДокументов.Колонки.Добавить("Номер");
      
      // Типы
  
      одТипСтрока                  = Тип("Строка");
      одТипБулево                  = Тип("Булево");
      одТипЧисло                   = Тип("Число");
      одТипДата                    = Тип("Дата");
      одТипХранилищеЗначения       = Тип("ХранилищеЗначения");
      одТипУникальныйИдентификатор = Тип("УникальныйИдентификатор");
      одТипДвоичныеДанные          = Тип("ДвоичныеДанные");
      одТипВидДвиженияНакопления   = Тип("ВидДвиженияНакопления");
      одТипУдалениеОбъекта         = Тип("УдалениеОбъекта");
      одТипВидСчета                 = Тип("ВидСчета");
      одТипТип                     = Тип("Тип");
      одТипСоответствие            = Тип("Соответствие");
  
      ЗначениеПустаяДата           = Дата('00010101');
  
      // Типы узлов xml
      
      одТипУзлаXML_КонецЭлемента  = ТипУзлаXML.КонецЭлемента;
      одТипУзлаXML_НачалоЭлемента = ТипУзлаXML.НачалоЭлемента;
      одТипУзлаXML_Текст          = ТипУзлаXML.Текст;
  
      Пока ФайлОбмена.Прочитать() Цикл
      
          ИмяУзла = ФайлОбмена.ЛокальноеИмя;
          
          Если ИмяУзла = "Объект" Тогда
          
              ТипОбъектаСтрокой = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Тип");
              Если ТипОбъектаСтрокой = "ДокументСсылка.ДТ_АктПриемаПередачиОборудованияКонтрагенту" Тогда
              
                  Пока ФайлОбмена.Прочитать() Цикл
                      
                      ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                      
                      Если ИмяУзла = "Ссылка" Тогда
                          
                          Пока ФайлОбмена.Прочитать() Цикл
                              
                              ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                              
                              Имя = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Имя");
                              Если ИмяУзла = "Свойство" И Имя = "Дата" Тогда
                                  
                                  ФайлОбмена.Прочитать();
                                  ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                                  ИскатьПоСвойству = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Свойство");
                                  Значение = Обработка.одЗначениеЭлемента(ФайлОбмена, одТипДата, ИскатьПоСвойству);
                                  СтрокаТД = ТаблицаДокументов.Добавить();
                                  СтрокаТД.Дата = Значение;
                                  ФайлОбмена.Прочитать();
                                  
                              КонецЕсли;
                              
                              Если ИмяУзла = "Свойство" И Имя = "Номер" Тогда
                                  
                                  ФайлОбмена.Прочитать();
                                  ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                                  ИскатьПоСвойству = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Свойство");
                                  Значение = Обработка.одЗначениеЭлемента(ФайлОбмена, одТипСтрока, ИскатьПоСвойству);
                                  //СтрокаТД = ТаблицаДокументов.Добавить();
                                  СтрокаТД.Номер = Значение;
                                  ФайлОбмена.Прочитать();
                                  Прервать;
                              
                              КонецЕсли;
                              
                          КонецЦикла;                        
                          
                      КонецЕсли;
                      
                  КонецЦикла;
              
              КонецЕсли;
          
          КонецЕсли; 
      
      КонецЦикла; 
      
      Возврат ТаблицаДокументов;
  
  КонецФункции // ПолучитьСодержимоеФайла()
  
  Функция СортировкаПоДатеИзменения(Массив)
  
      ТЗ = Новый ТаблицаЗначений;
      ТЗ.Колонки.Добавить("Файл");
      ТЗ.Колонки.Добавить("Дата");
      
      Для каждого ЭлМассива Из Массив Цикл
      
          СтрокаТЗ = ТЗ.Добавить();
          СтрокаТЗ.Файл = ЭлМассива;
          СтрокаТЗ.Дата = ЭлМассива.ПолучитьУниверсальноеВремяИзменения();
      
      КонецЦикла;
  
      Массив.Очистить();
      
      ТЗ.Сортировать("Дата");
      
      Для каждого ЭлТЗ Из ТЗ Цикл
      
          Массив.Добавить(ЭлТЗ.Файл);
      
      КонецЦикла;
      
      Возврат Массив;
      
  КонецФункции // СортировкаПоДатеИзменения()
  
  
  одТипСтрока = Тип("Строка");     
         | 
 | 
    
    
        | 
    12
    
        Csar    
       
    
    19.06.13 
            ✎
    17:23 
 | 
         
        (10) перепутал, это код загрузки в приемник
  
  а тут обработка выгрузки из источника
 
 Перем ПутьОбмена;
  Перем МаскаФайловЗагрузки;
  Перем МаскаФайловВыгрузки;
  Перем ИмяФайлаПравилОбмена;
  Перем ДлинаКодаПакета;
  
  Перем СерверОбменаFTP;
  Перем ПортОбменаFTP;
  Перем ЛогинОбменаFTP;
  Перем ПарольОбменаFTP;
  
  &НаСервере
  Процедура Инициализация()Экспорт 
      
      //ПутьОбмена = "C:\DBASES\Obmen\Logistic\Packets\";
      ПутьОбмена = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("ПутьКПакетамОбменаСЛогистикой").Значение);
      Если Прав(СокрЛП(ПутьОбмена),1) <> "\" Тогда
          ПутьОбмена = СокрЛП(ПутьОбмена) + "\";
      КонецЕсли;
      
      //МаскаФайловЗагрузки = "V81DataHRMDTExch_";//ххххх.xml
      //МаскаФайловЗагрузки = СокрЛП(Справочники.ДТ_НастройкиОрганизации.МаскаФайловЗагрузки.Значение);
      //МаскаФайловЗагрузки = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("МаскаФайловОбменаДляЗагрузкиУИБ8").Значение);  // = UIB81_LOGISTIC_Data*.xml
      МаскаФайловВыгрузки = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("МаскаФайловОбменаДляВыгрузкиБИБ8СохраннаяРасписка").Значение);  // = Logistic8-BIB82-Data_*.xml
      ИмяФайлаПравилОбмена = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("ИмяФайлаПравилВыгрузкиВ_УИБ82_СохраннаяРасписка").Значение);//"\\Tsdt3\dbases$\Obmen\Logistic\Rules\Правила_Логистика82-БИБ82_СохраннаяЗаписка.xml";
      ДлинаКодаПакета = 10;
      
      ПутьОбмена = "\\Tsdt3\dbases$\Obmen\Logistic\Packets\"
      
  КонецПроцедуры
  
  //*******************************************
  &НаСервере
  Функция ПолучитьНомерПакета(ИмяФайла)
      
      Поз_ = Найти(ИмяФайла, "_");
      ПозТочка = Найти(ИмяФайла, ".");
      //СтрокаНомера = Сред(ИмяФайла, Поз_+1, ПозТочка-1 );
      СтрокаНомера = Сред(ИмяФайла, Поз_+1, 10 );//ДлинаКодаПакета = 10;
      //Убираем не значащие нули
      Если Лев(СтрокаНомера, 1) = "0" Тогда
          ЛевСимвол = Лев(СтрокаНомера, 1);
          Пока ЛевСимвол = "0" Цикл
              СтрокаНомераДлина = СтрДлина(СтрокаНомера);
              СтрокаНомера = Прав(СтрокаНомера, СтрокаНомераДлина - 1);
              ЛевСимвол = Лев(СтрокаНомера, 1);
          КонецЦикла;        
      КонецЕсли;    
      //НомерЗагруженногоПакета = Число(Сред(ИмяФайла, Поз_+1, ПозТочка-1 ));
      НомерЗагруженногоПакета = Число(СтрокаНомера);
      Возврат НомерЗагруженногоПакета;
      
  КонецФункции
  
  &НаСервере
  Процедура УстановитьУзелОбменаУСтрокДерева(Дерево, УзелОбмена)Экспорт 
      
      Для Каждого Строка Из Дерево Цикл
          
          Если Строка.ЭтоГруппа Тогда
              
              УстановитьУзелОбменаУСтрокДерева(Строка.Строки, УзелОбмена);
              
          Иначе
              
              Строка.СсылкаНаУзелОбмена = УзелОбмена;
              
          КонецЕсли;
          
      КонецЦикла;
      
  КонецПроцедуры
  
  &НаСервере
  Процедура ВыполнитьВыгрузку() Экспорт
      
      ЗаписьЖурналаРегистрации("ОбменСохранЗаписка.Выгрузка.Старт",УровеньЖурналаРегистрации.Информация);
      
      Инициализация();
      
      //=================================================================================================================================================================================
      //=============================================                        ВЫГРУЗКА В БИБ 8.2                        ==================================================================
      //=================================================================================================================================================================================
      
      //получим все наши файлы с выгрузками. Из них выберем наименьший и вытащим номер. От номера отнимем единицу и число запишем как НомерПоследнегоПолученного
      МассивФайлов = НайтиФайлы(ПутьОбмена,МаскаФайловВыгрузки);
      МассивФайлов = СортировкаПоДатеИзменения(МассивФайлов);
      
      Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
      УзелОбмена = ПланыОбмена.ОбменЛогистика8_БИБ82_СохраннаяРасписка.НайтиПоНаименованию("центр");
      
      Если МассивФайлов.Количество() > 0 Тогда
          НомерПоследнегоПолученного = ПолучитьНомерПакета(МассивФайлов[0].Имя) - 1;
          НомерПоследнегоОтправленного = ПолучитьНомерПакета(МассивФайлов[МассивФайлов.ВГраница()].Имя);
      Иначе
          НомерПоследнегоПолученного = УзелОбмена.НомерОтправленного;
          НомерПоследнегоОтправленного = УзелОбмена.НомерОтправленного;
      КонецЕсли; 
      
      ////временно, удалить.
      //ОбъектУзелОбмена = УзелОбмена.ПолучитьОбъект(); 
      //ОбъектУзелОбмена.НомерПринятого = НомерПоследнегоПолученного;
      //ОбъектУзелОбмена.НомерПоследнегоОтправленного = НомерПоследнегоОтправленного;
      //ОбъектУзелОбмена.Записать();
      ////
      
      ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, НомерПоследнегоПолученного);
      ОбъектУзелОбмена = УзелОбмена.ПолучитьОбъект(); 
      ОбъектУзелОбмена.НомерПринятого = НомерПоследнегоПолученного;
      ОбъектУзелОбмена.Записать();
      
      //Добиваем номер пакета не значащими нулями
      СтрокаНомера = Строка(УзелОбмена.НомерОтправленного + 1);
      //Убираем лишние символы из строки номера пакета
      СтрокаНомера = СтрЗаменить(СтрокаНомера, Символ(160), "");
      ДлинаКодаТек = СтрДлина(СтрокаНомера);
      Для к=1 по (ДлинаКодаПакета-ДлинаКодаТек) Цикл
          СтрокаНомера = "0"+ СтрокаНомера;
      КонецЦикла;
      
      Обработка.ИмяФайлаОбмена = ПутьОбмена + СтрЗаменить(МаскаФайловВыгрузки,"*",СтрокаНомера);
      Обработка.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
      Обработка.ЗагрузитьПравилаОбмена(Обработка.ИмяФайлаПравилОбмена);
      УстановитьУзелОбменаУСтрокДерева(Обработка.ТаблицаПравилВыгрузки.Строки, УзелОбмена.Ссылка);
      Обработка.ВыполнитьВыгрузку();
      
      //Сообщить("Выгружен файл: "+ Обработка.ИмяФайлаОбмена);
      ЗаписьЖурналаРегистрации("ОбменСохранЗаписка.Выгрузка.Файл",УровеньЖурналаРегистрации.Информация,,,"Выгружен файл:" + Обработка.ИмяФайлаОбмена);
      
      ЗаписьЖурналаРегистрации("ОбменСохранЗаписка.Выгрузка.Финиш",УровеньЖурналаРегистрации.Информация);
      
  КонецПроцедуры
  
  Функция СортировкаПоДатеИзменения(Массив)
  
      ТЗ = Новый ТаблицаЗначений;
      ТЗ.Колонки.Добавить("Файл");
      ТЗ.Колонки.Добавить("Дата");
      
      Для каждого ЭлМассива Из Массив Цикл
      
          СтрокаТЗ = ТЗ.Добавить();
          СтрокаТЗ.Файл = ЭлМассива;
          СтрокаТЗ.Дата = ЭлМассива.ПолучитьУниверсальноеВремяИзменения();
      
      КонецЦикла;
  
      Массив.Очистить();
      
      ТЗ.Сортировать("Дата");
      
      Для каждого ЭлТЗ Из ТЗ Цикл
      
          Массив.Добавить(ЭлТЗ.Файл);
      
      КонецЦикла;
      
      Возврат Массив;
      
  КонецФункции // СортировкаПоДатеИзменения()
 
      
         | 
 |