Имя: Пароль:
1C
1С v8
Обмен из УТ в БП
0 selvador
 
19.06.13
16:52
Создаю одностеронний обмен данными между УТ и БП (из Ут в БП), вылетает ошибка

Настройка обмена данными не может быть изменена.
Существуют зарегистрированные изменения данных для обмена.
Выполните обмен данными два раза и повторите попытку.
Не удалось записать "Buh (Настройка обмена данными с "Управление торговлей, редакция 11.0")"!

Подскажите в чем проблема пожалуйста
1 selvador
 
19.06.13
16:57
Если кому не сложно в кратце опишите создание обмена
2 Csar
 
19.06.13
16:59
(0) в УТ создается план обмена. В режиме предприятия создаешь узел в этом плане обмена. Я парился из-за того, что использовал узел с зеленой точкой, а надо без нее. Что такое зеленая точка можно почитать в сети.
3 Csar
 
19.06.13
17:01
(0) а, собственно, что за настройки вы проводили?
4 selvador
 
19.06.13
17:03
Создал в Ут план обмена с бп 2.0, оттуда сохранил настройки обмена, теперь нужно создать план_обмена в БП используя эти настройки, но когда уже жму "готово" выдает

Настройка обмена данными не может быть изменена.
Существуют зарегистрированные изменения данных для обмена.
Выполните обмен данными два раза и повторите попытку.
Не удалось записать "Buh (Настройка обмена данными с "Управление торговлей, редакция 11.0")"!
5 Csar
 
19.06.13
17:05
если обмен односторонний, то зачем создавать план обмена в БП?
6 selvador
 
19.06.13
17:06
Через через общий ресурс осуществляется, т.е из УТ выгружается файлик xml и в БП грузится
7 Csar
 
19.06.13
17:10
(6) ну, и зачем в БП план обмен создавать? Мысль такая: План обмена в УТ регистрирует новые созданные Заказы (пусть выгружаются документы Заказы), а также измененные Заказы. Вы выгружаете это дело в xml, а затем просто загружаете все это добро в БП, причем без какого либо плана обмена в БП.
8 selvador
 
19.06.13
17:13
т.е. план нужно создовать только в УТ?
9 Csar
 
19.06.13
17:18
(8) да, я создавал план только в конфигурации-Источнике. Задача Плана лишь накопить информацию что изменилось. В Приемнике неважно содержимое - все принимаем.
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 Тогда
                   //Профиль = Новый ИнтернетПочтовыйПрофиль;
                   Профиль = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("[email protected]");
                   ОбъектПрофиль = Профиль.ПолучитьОбъект();
                   
                   Текст = "Вследствие  обмена из Логистики были созданы следующие документы:
                   |";
                   Для каждого СтрокаСодержимого Из СодержимоеЗагруженного Цикл
                       Если ЗначениеЗаполнено(СтрокаСодержимого.Номер) И ЗначениеЗаполнено(СтрокаСодержимого.Дата) Тогда
                           Текст = Текст + Строка("Загружен документ №" + СтрокаСодержимого.Номер + " от " + СтрокаСодержимого.Дата + Символы.ПС);
                       КонецЕсли;
                   КонецЦикла;
                   //удалим последний символ
                   Текст = Лев(Текст, СтрДлина(Текст)-1);
                   Текст = Текст + Строка(""+ Символы.ПС + "Перечисленные выше документы нуждаются в обязательном проведении/перепроведении!");
                   Кому = СокрЛП(Справочники.ДТ_НастройкиОрганизации.НайтиПоНаименованию("АдресаРассылкиРезультатовОбменаЛогистики8-БИБ82_СохраннаяЗаписка").Значение);
                   
                   СтруктураПисьма = Новый Структура("Кому, Тема, Тело, Пароль", Кому,
                       "Загружены акты ответственного хранения", Текст, ОбъектПрофиль.Пароль);

                   
                   Попытка
                       ЭлектроннаяПочта.ОтправитьСообщение(Профиль, СтруктураПисьма);
                       ТекстСообщения = "Загружено " + СодержимоеЗагруженного.Количество()+ " документов";
                       ЗаписьЖурналаРегистрации("Обмен.БИБ82.Загружено",УровеньЖурналаРегистрации.Ошибка, , ,ТекстСообщения);
                   Исключение
                       Сообщить(ОписаниеОшибки());
                       ОбщегоНазначения.СообщитьОбОшибке();
                       //Предупреждение("Произошли ошибки при проверке настроек учетной записи и отправке письма.
                       //|Описание ошибки приведено в окне сообщения.");
                       Возврат;
                   КонецПопытки;
                   
                   //ИнтернетПочта = Новый ИнтернетПочта;
                   //
                   //Попытка
                   //    ИнтернетПочта.Подключиться(Профиль.Наименование, Профиль.Пароль);
                   //Исключение
                   //    Сообщить(ОписаниеОшибки());
                   //    Предупреждение("Произошли ошибки при проверке настроек учетной записи.
                   //    |Описание ошибки приведено в окне сообщения.");
                   //    Возврат;
                   //КонецПопытки;
                   //
                   //Письмо = Новый ИнтернетПочтовоеСообщение;
                   //Текст = "В следствие обмена из Логистики были созданы следующие документы:
                   //|";
                   //Для каждого СтрокаСодержимого Из СодержимоеЗагруженного Цикл
                   //    Текст = Текст + Строка("Загружен документ №" + СтрокаСодержимого.Номер + " от " + СтрокаСодержимого.Дата + "|");
                   //КонецЦикла;
                   //Письмо.Текст = (Текст);
                   //Письмо.Получатели.Добавить("[email protected]");
                   //Письмо.Тема = "Загружены акты ответственного хранения";
                   //Письмо.Отправитель = Профиль.АдресЭлектроннойПочты;
                   ////Письмо.ИмяОтправителя = Профиль.ИмяПользователя;
                   //
                   //ИнтернетПочта.Послать(Письмо);
                   //ИнтернетПочта.Отключиться();
                   
                   //Сообщить("Загружены следующие документы ""Акт ответственного хранения"":");
                   //Для каждого СтрокаСодержимого Из СодержимоеЗагруженного Цикл
                   //    Сообщить("Загружен документ №" + СтрокаСодержимого.Номер + " от " + СтрокаСодержимого.Дата);
                   //КонецЦикла;
               КонецЕсли;
           Исключение    
               ТекстСообщения = "Не загружен файл: "+ Обработка.ИмяФайлаОбмена+". "+ОписаниеОшибки();
               ЗаписьЖурналаРегистрации("Обмен.БИБ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.Текст;

   Пока ФайлОбмена.Прочитать() Цикл
   
       ИмяУзла = ФайлОбмена.ЛокальноеИмя;
       
       Если ИмяУзла = "Объект" Тогда
       
           ТипОбъектаСтрокой = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Тип");
           Если ТипОбъектаСтрокой = "ДокументСсылка.ДТ_АктПриемаПередачиОборудованияКонтрагенту" Тогда
           
               Пока ФайлОбмена.Прочитать() Цикл
                   
                   ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                   
                   Если ИмяУзла = "Ссылка" Тогда
                       
                       Пока ФайлОбмена.Прочитать() Цикл
                           
                           ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                           
                           Имя = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Имя");
                           Если ИмяУзла = "Свойство" И Имя = "Дата" Тогда
                               
                               ФайлОбмена.Прочитать();
                               ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                               ИскатьПоСвойству = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Свойство");
                               Значение = Обработка.одЗначениеЭлемента(ФайлОбмена, одТипДата, ИскатьПоСвойству);
                               СтрокаТД = ТаблицаДокументов.Добавить();
                               СтрокаТД.Дата = Значение;
                               ФайлОбмена.Прочитать();
                               
                           КонецЕсли;
                           
                           Если ИмяУзла = "Свойство" И Имя = "Номер" Тогда
                               
                               ФайлОбмена.Прочитать();
                               ИмяУзла = ФайлОбмена.ЛокальноеИмя;
                               ИскатьПоСвойству = Обработка.одАтрибут(ФайлОбмена, одТипСтрока, "Свойство");
                               Значение = Обработка.одЗначениеЭлемента(ФайлОбмена, одТипСтрока, ИскатьПоСвойству);
                               //СтрокаТД = ТаблицаДокументов.Добавить();
                               СтрокаТД.Номер = Значение;
                               ФайлОбмена.Прочитать();
                               Прервать;
                           
                           КонецЕсли;
                           
                       КонецЦикла;                        
                       
                   КонецЕсли;
                   
               КонецЦикла;
           
           КонецЕсли;
       
       КонецЕсли;
   
   КонецЦикла;
   
   Возврат ТаблицаДокументов;

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

Функция СортировкаПоДатеИзменения(Массив)

   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Файл");
   ТЗ.Колонки.Добавить("Дата");
   
   Для каждого ЭлМассива Из Массив Цикл
   
       СтрокаТЗ = ТЗ.Добавить();
       СтрокаТЗ.Файл = ЭлМассива;
       СтрокаТЗ.Дата = ЭлМассива.ПолучитьУниверсальноеВремяИзменения();
   
   КонецЦикла;

   Массив.Очистить();
   
   ТЗ.Сортировать("Дата");
   
   Для каждого ЭлТЗ Из ТЗ Цикл
   
       Массив.Добавить(ЭлТЗ.Файл);
   
   КонецЦикла;
   
   Возврат Массив;
   
КонецФункции // СортировкаПоДатеИзменения()


одТипСтрока = Тип("Строка");
11 Молодой 1Снег
 
19.06.13
17:23
(0) Пользуйся помощником обмена. Четко следуй его инструкциям. И все будет хорошо.
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"+ СтрокаНомера;
   КонецЦикла;
   
   Обработка.ИмяФайлаОбмена = ПутьОбмена + СтрЗаменить(МаскаФайловВыгрузки,"*",СтрокаНомера);
   Обработка.ИмяФайлаПравилОбмена = ИмяФайлаПравилОбмена;
   Обработка.ЗагрузитьПравилаОбмена(Обработка.ИмяФайлаПравилОбмена);
   УстановитьУзелОбменаУСтрокДерева(Обработка.ТаблицаПравилВыгрузки.Строки, УзелОбмена.Ссылка);
   Обработка.ВыполнитьВыгрузку();
   
   //Сообщить("Выгружен файл: "+ Обработка.ИмяФайлаОбмена);
   ЗаписьЖурналаРегистрации("ОбменСохранЗаписка.Выгрузка.Файл",УровеньЖурналаРегистрации.Информация,,,"Выгружен файл:" + Обработка.ИмяФайлаОбмена);
   
   ЗаписьЖурналаРегистрации("ОбменСохранЗаписка.Выгрузка.Финиш",УровеньЖурналаРегистрации.Информация);
   
КонецПроцедуры

Функция СортировкаПоДатеИзменения(Массив)

   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Файл");
   ТЗ.Колонки.Добавить("Дата");
   
   Для каждого ЭлМассива Из Массив Цикл
   
       СтрокаТЗ = ТЗ.Добавить();
       СтрокаТЗ.Файл = ЭлМассива;
       СтрокаТЗ.Дата = ЭлМассива.ПолучитьУниверсальноеВремяИзменения();
   
   КонецЦикла;

   Массив.Очистить();
   
   ТЗ.Сортировать("Дата");
   
   Для каждого ЭлТЗ Из ТЗ Цикл
   
       Массив.Добавить(ЭлТЗ.Файл);
   
   КонецЦикла;
   
   Возврат Массив;
   
КонецФункции // СортировкаПоДатеИзменения()
13 Csar
 
19.06.13
17:26
(0) блин, ты говоришь не про программный обмен, а через режим предприятия... Я то про конфигуратор...
14 zhivaz
 
19.06.13
17:31
(11) +1
(0) ты уже создал настройку и записал. удаляй эту настройку(в бухии тоже проверь чтоб не было) и создавай заново из УТ11 через помощник
15 selvador
 
19.06.13
17:35
как в БП удалить настройку?
16 Csar
 
19.06.13
17:52
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.