8.х ОБМЕН Изменение каталога сохранения файла

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Guren, 26 апр 2012.

  1. TopicStarter Overlay
    Guren
    Offline

    Guren

    Регистрация:
    26 апр 2012
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, Радченко при организации обмена данными использует Каталог временных файлов



    Сообщить("--------Выгрузка в узел " + Строка(ЭтотОбъект) + " ------------");
    Каталог = КаталогВременныхФайлов();
    // Сформировать имя временного файла
    ИмяФайла = Каталог +?(Прав(Каталог, 1) = "\","", "\") + "Message"
    + СокрЛП(ПланыОбмена.Филиалы.ЭтотУзел().Код) + "_" + СокрЛП(Ссылка.Код) + ".xml";

    здесь файл XML сохраняется в каталоге временных файло (т.е по адресу C:\Documents and Settings\....) , подскажи пожалуйста, как изменить процедуру чтобы файл XML находился по адресу \\ имя компьютера\папка.. Пожалуйста, подскажите.
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Нужно так:
    Код:
    Каталог = "ваш полный путь";
  3. TopicStarter Overlay
    Guren
    Offline

    Guren

    Регистрация:
    26 апр 2012
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1

    Спасибо за ответ)))

    Подскажите пожалуйста, как указать полный путь к файлу, если он расположен C:\1\1.txt , а имя компьютера Alika, т.е как указать путь с использование имени компьютера? Пожалуйста, подскажите....
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Откройте сетевое окружение, найдите комп на который нужно сохранить, в строке адреса будет полный путь, что-то типа этого: \\Комп\Какая-тоПапка\ВашФайл.рсш
  5. TopicStarter Overlay
    Guren
    Offline

    Guren

    Регистрация:
    26 апр 2012
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Адрес настроить получилось, спасибо за помощь. Просто я дошла до раздела книги Радченко Универсальный обмен данными и решила проверить его на деле. Если использовать Каталог временных файлов то обмен работает, но при этом и Центральная база и База Отделов находится на одном компьютере.

    У меня есть два компа соединенных в локальную сеть, я на один скинула саму базу, а на другом загрузила конфигурацию из файла, задала константы, в итоге и на компе 1 (там где сама база) и на компе 2 происходит только Запись в узел, а считывание не происходит

    вот процедуры

    Код:
    Процедура ЗаписатьСообщениеСИзменениями() Экспорт
    Сообщить("-------- Выгрузка в узел " + Строка(ЭтотОбъект) + " ------------");
    Каталог = "\\Comp-24-202-07\1";
    // Сформировать имя временного файла
    ИмяФайла = "Message.xml";
    // Создать объект записи XML
    // *** Запись XML-документов
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл(ИмяФайла);
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    // *** Инфраструктура сообщений
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Ссылка);
    Сообщить("    Номер сообщения: " + ЗаписьСообщения.НомерСообщения);
    // Получить выборку измененных данных
    // *** Механизм регистрации изменений
    ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения);
    Пока ВыборкаИзменений.Следующий() Цикл
    // Записать данные в сообщение
    // *** XML-сериализация
    ЗаписатьXML(ЗаписьXML, ВыборкаИзменений.Получить());
    КонецЦикла;
    ЗаписьСообщения.ЗакончитьЗапись();
    ЗаписьXML.Закрыть();
    Сообщить("-------- Конец выгрузки------------");
    КонецПроцедуры
    Процедура ПрочитатьСообщениеСИзменениями() Экспорт
    Каталог = "\\Comp-24-202-07\1";
    // Сформировать имя файла
    ИмяФайла = "Message1.xml";
    Файл = Новый Файл(ИмяФайла);
    Если Не Файл.Существует() Тогда
    Возврат;
    КонецЕсли;
    // *** Чтение документов XML
    // Попытаться открыть файл
    ЧтениеXML = Новый ЧтениеXML;
    Попытка
    ЧтениеXML.ОткрытьФайл(ИмяФайла);
    Исключение
    Сообщить("Невозможно открыть файл обмена данными.");
    Возврат;
    КонецПопытки;
    Сообщить("-------- Загрузка из " + Строка(ЭтотОбъект) + "------------");
    Сообщить(" - Считывается файл " + ИмяФайла);
    
    // Загрузить из найденного файла
    // *** Инфраструктура сообщений
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    // Читать заголовок сообщения обмена данными - файла XML
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
    
    // Сообщение предназначено не для этого узла
    Если ЧтениеСообщения.Отправитель <> Ссылка Тогда
    ВызватьИсключение "Неверный узел";
    КонецЕсли;
    // Удаляем регистрацию изменений
    // для узла отправителя сообщения
    // *** Служба регистрации изменений
    ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель,ЧтениеСообщения.НомерПринятого);
    
    // Читаем данные из сообщения
    // *** XML-сериализация
    Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
    // Читаем очередное значение
    Данные = ПрочитатьXML(ЧтениеXML);
    // Не переносим изменение, полученное
    // в главный из неглавного,
    // если есть регистрация изменения
    Если Не ЧтениеСообщения.Отправитель.Главный
    И ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда
    Сообщить("- Изменения отклонены");
    Продолжить;
    КонецЕсли;
    // Записать полученные данные
    Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
    Данные.ОбменДанными.Загрузка = Истина;
    Данные.Записать();
    КонецЦикла;
    ЧтениеСообщения.ЗакончитьЧтение();
    ЧтениеXML.Закрыть();
    УдалитьФайлы(ИмяФайла);
    Сообщить("-------- Конец загрузки------------");
    КонецПроцедуры

    как я поняла имена файлов в этих процедурах должны быть разные. Файл Message.xml из первой процедуры создается. Не знаю, может в учебной версии вообще нереально сделать обмен данными между конфигурациями, если они на компах соединенных в локальную сеть. Вы не можете подсказать в чем ошибка или это вообще нереально сделать в учебной версии :blush:
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    В учебной версии вроде как идет ограничение на обмен, вроде:)
  7. TopicStarter Overlay
    Guren
    Offline

    Guren

    Регистрация:
    26 апр 2012
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    получается в учебной версии никак нельзя сделать хотя бы подобие распределенной базы? :cry_1:
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Да. РИБ в учебной отключен.

    Для таких целей существуют дэмо базы.

Поделиться этой страницей