Ознакомился со статьей http://kb.mista.ru/article.php?id=356

Начал работу:

1. Зашел в Конфигуратор - Общие - Планы Обмена. Добавляю новый план обмена, указываю Имя: "МойПланОбмена" и жму готово.
2. В режиме "Предприятия" зашел в план обмена "МойПланОбмена" и добавил узел с кодом "00001" и наименованием "МояБаза77".
3. Скопировал правила в КД2. В правилах "Правила выгрузки данных" захожу в правило документа1 и меняю в способе выборки на "Произвольный алгоритм".
4. В этом же правиле в "Перед Обработкой" вставил код:

```1c
    Узел = ПланыОбмена.МойПланОбмена.НайтиПоКоду("00001");
    Выборка = ПланыОбмена.ВыбратьИзменения(Узел, 1);
    ВыборкаДанных = Новый Массив;
    Пока Выборка.Следующий() Цикл
    Данные = Выборка.Получить();
    Если Данные.Метаданные().Имя = "Документ1" Тогда
    ВыборкаДанных.Добавить(Данные.Ссылка);
    ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Данные.Ссылка);
    КонецЕсли;
    КонецЦикла;
```

Теперь вопрос, как мне сделать чтобы выгружался документ1, когда в нем устанавливают реквизит (назовем "РегистрацияДокумента") в Истина?

И что скажите про вторую часть кода в статье?

По использованию данного метода: получается делаю регламентное задание для выгрузки через УниверсальныйОбменДаннымиXML. А попадать будут лишь документы которые были изменены? Или как?
---
Получилось все реализовать.

По коду все работает. Но регламентное задание запускает по ОЛЕ 1с7. В одной теме на инфостарте затрагивалось, что у системной учетной записи должен быть подключен рабочий стол.

Данная тема полностью раскрыта, а решать проблема буду в теме http://forum.infostart.ru/forum26/topic121228/
---
Что сделал не так?

Проделал (1), захожу в УниверсальныйОбменДаннымиXML, хочу выгрузить данные, но выгружается ноль объектов.

Наверно понял, изменил в конфигураторе "МойПланОбмена". В состав добавил авторегистрацию по "Документ1".
---
Xershi, Если нужно выполнять обмен по РегистрацияДокумента = Истина тогда ПриЗаписи() нужно написать ПланыОБмена.ЗарегистрироватьИзмениня(УзелСсылка, Ссылка);
---
dj_serega, я так понял вы говорите про то, что когда в новом элементе конфигурации план обмена "МойПланОбмена" в составе так и оставить авторегистрацию по "Документ1", а вот в документе1 при записи и написать при каком условии исполнять:
```1c
    ПланыОБмена.ЗарегистрироватьИзмениня(УзелСсылка, Ссылка);
```

Я правильно понял?
---
Xershi,
Это если РегистрацияДокумента это есть реквизит объекта.

если установить автоматическую регистрацию тогда ВСЕ документы будут попадать в обмен.
Вам же нужно.
1. Включить док в обмен.
2. Отключить авторегистрацию.
3. В модуле объекта ПриЗаписи() написать:

```1c
    Если РегистрацияДокумента Тогда
    ПланыОБмена.ЗарегистрироватьИзмениня(УзелСсылка, Ссылка);
    КонецЕсли;
```

Получится что только те документы у которых РегистрацияДокумента = Истина будут попадать в обмен.

Я правильно понял?
---
dj_serega, я уже это написал в (6). Сейчас тема уже на (11) посте.
---
Где
```1c
    УзелСсылка = ПланыОбмена.МойПланОбмена.НайтиПоКоду("00001");
```
?
---
Теперь вопрос, как мне сделать чтобы выгружался документ1, когда в нем устанавливают реквизит (назовем "РегистрацияДокумента") в Истина?

Для этого сделал в модуле формы документа1 экспортную переменную "РегистрацияДокумента". По умолчанию установи в Ложь.

Далее при записи добавил код:
```1c
    УзелСсылка = ПланыОбмена.МойПланОбмена.НайтиПоКоду("00001");
    Если РегистрацияДокумента Тогда
    ПланыОбмена.ЗарегистрироватьИзменения(УзелСсылка,Ссылка);
    Иначе
    ПланыОбмена.УдалитьРегистрациюИзменений(УзелСсылка, Ссылка);
    КонецЕсли;
```

Также в процедуре при изменении "РегистрацияДокумента":

```1c
    РегистрацияДокумента = Элемент.Значение;
```

В плане обмена "МойПланОбмена" в составе есть документ1, но поставил запретить авторегистрацию.
---
По использованию данного метода: получается делаю регламентное задание для выгрузки через УниверсальныйОбменДаннымиXML. А попадать будут лишь документы которые были изменены? Или как?

Есть такой справочник Настройка обмена данными. Он получается заменит регламентное задание и обработку "УниверсальныйОбменДаннымиXML".
Вопрос как его правильно настроить?
---
Xershi, Он получается заменит регламентное задание и обработку "УниверсальныйОбменДаннымиXML".Ни в коей мере. "УниверсальныйОбменДаннымиXML" - это одна из основ обмена по Планам обмена.
---
AlexO, тогда можете пояснить какой план дальше?
---
Xershi, что значит, какой "план"? Это у вас должен быть свой "план" - раз вы уперлись в КД и ПланыОбмена.
Пробуйте, выкручивайтесь. Обмениваться по Планам можно и не только "измененными", всем можно.
Есть события "передВыгрузкой". Проверяйте там свои отборы. Это все КД уже, не планы обмена.
Тут народ кричит, как у них все здорово получается на КД, спросите у них - "Где
УзелСсылка = ПланыОбмена.МойПланОбмена.НайтиПоКоду("00001")?"
Я знаю, что как раз обмен через КД 8-ки и семерки - самый показательный "работоспособности" и качества обмена по КД. Т.е. самый проблемный.
---
AlexO, речь шла о справочник "Настройка обмена данными".

Посмотрел его настройки, он выходит мне не подойдет. Т.к. он делается для РИБ как я понял.

Остается написать регламентное задание, которое будет выгружать зарегистрированные документы через "УниверсальныйОбменДаннымиXML". И на этом задача выполнена.
---
Подготовил следующий этап в модуле регламентных заданий написал процедуру по выгрузки:

```1c
    НайденныйФайл=НайтиФайлы("\\КаталогДляВыгрузкиНаСервере77\ФайлВыгрузки.xml");
    Если НайденныйФайл.Количество()=0 Тогда
    УниверсальнаяВыгрузка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
    УниверсальнаяВыгрузка.РежимОбмена = "Выгрузка";
    УниверсальнаяВыгрузка.ИмяФайлаПравилОбмена = "\\КаталогДляВыгрузкиНаСервере77\ПравилаОбменаДаннымиИнкреме­нтальные.xml";
    УниверсальнаяВыгрузка.ИмяФайлаОбмена = "\\КаталогДляВыгрузкиНаСервере77\ФайлВыгрузки.xml";
    УниверсальнаяВыгрузка.ЗагрузитьПравилаОбмена();
    УниверсальнаяВыгрузка.ВыполнитьВыгрузку();
    КонецЕсли;
```
---
В параметре регламентного задания прописал Выполнять: каждый день; с 8:45:00 по 18:00:00 каждые 900 сек.
---
Файл создается.

Осталось подключиться по ком-соединению к базе 77 выполнить обработку по загрузке и когда она закончит загрузку удалить файл.
---
Подключаюсь с сервера 8.3 к 7.7 (она должна быть у вас на сервере и ком зарегистрирован):
```1c
    Попытка
    БазаОле=Новый COMОбъект("V77.Application");
    Исключение
    БазаОле=Новый COMОбъект("V1CEnterprise.Application");
    КонецПопытки;
    КаталогБазыОЛе = "\\КаталогБазы77\";
    ПользовательОле = "АвтоботПозагрузке";
    ПарольОле = "АвтоботПозагрузкеПароль";
    МонопольныйРежимOLE = " ";
    //МонопольныйРежимOLE = " /m";
    // для немонопольного запуска указать пустую строку!

    ЗапускБезЗаставки = 1;
    // для появления заставки поставьте "0"

    РезультатПодключения = БазаОле.Initialize ( БазаОле.RMTrade , "/d" +
    Сокрлп(КаталогБазыОле) + " /n" +
    Сокрлп(ПользовательОле)+ " /p" +
    Сокрлп(ПарольОле) + МонопольныйРежимOLE ,
    ?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW","));

    Если РезультатПодключения = 0 Тогда
    Предупреждение("Ошибка подключения.");
    КонецЕсли;
```
---
Все останется написать код в 1с7 при старте системы. В котором будет прописано открыть обработку по загрузке документа1. В обработке будет дописан код, когда открыл "АвтоботПозагрузке", то сразу выполнить загрузить. И по окончанию удалить загруженный файл и закрыть 1с7.
На завтра это оставлю.
---
Получилось все реализовать.

По коду все работает. Но регламентное задание запускает по ОЛЕ 1с7. В одной теме на инфостарте затрагивалось, что у системной учетной записи должен быть подключен рабочий стол.

Данная тема полностью раскрыта, а решать проблема буду в теме http://forum.infostart.ru/forum26/topic121228/