В таблицу указаны документы.Разные документы могут иметь один внешний номер.Допустим документ1, документ2 и документ3 имеют внешний код 123. А документы документ4 и документ5 имеют внешний номер 556.
Как сделать так,чтобы первые три документы с внешним номером 123 записались в один xml файл, а другие два документа с внешним номером 556 записались в другой xml файл?

```1c
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
    Диалог.Фильтр = "*.xml";
    Если Диалог.Выбрать() Тогда
    ИмяФайла = Диалог.ПолноеИмяФайла;

    Порядок=1;
    Индекс=0;

    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл("21111.xml", "windows-1251");
    ЗаписьXML.ЗаписатьОбъявлениеXML(); // Записываем объявление XML

    ЗаписьXML.ЗаписатьНачалоЭлемента("AxaptaXMLExport");
    ЗаписьXML.ЗаписатьАтрибут("xmlns:Table","urn:www.navi.com/Formats/Table");
    ЗаписьXML.ЗаписатьАтрибут("version","1.0");
    ЗаписьXML.ЗаписатьНачалоЭлемента("transaction");

    Для Каждого Строка Из Таблица Цикл
    ВнешНомерНовойСтроки = Строка.НомерВходящегоДокумента;
    ДатаДокументаНовойСтроки=Строка.ДатаДокумента;
    Если ВнешНомерНовойСтроки <> ВнешНомерСтаройСтроки И Не ВнешНомерСтаройСтроки = Неопределено Тогда
    Если ЗначениеЗаполнено(ВнешНомерСтаройСтроки) Тогда

    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ЗаписатьОбъявлениеXML(); // Записываем объявление XML

    ЗаписьXML.ЗаписатьНачалоЭлемента("AxaptaXMLExport");
    ЗаписьXML.ЗаписатьАтрибут("xmlns:Table","urn:www.navision.com/Formats/Table");
    ЗаписьXML.ЗаписатьАтрибут("version","1.0");
    ЗаписьXML.ЗаписатьНачалоЭлемента("transaction");
    КонецЕсли;
    КонецЕсли;

    ЗаписьXML.ЗаписатьКонецЭлемента();

    //здесь записываются поля xnl файла

    ЗаписьXML.ЗаписатьКонецЭлемента();
    Порядок=Порядок+1;

    ВнешНомерСтаройСтроки = Строка.НомерВходящегоДокумента;
    ДатаДокументаСтаройСтроки=Строка.ДатаДокумента;
    конецесли;
    конецесли;
    КонецЦикла;
    ЗаписьXML.ЗаписатьКонецЭлемента();//конец атрибута transaction
    ЗаписьXML.ЗаписатьКонецЭлемента();
```

Обычные формы
---
Предлагаю такой вариант:

```1c
    НаборВнешНомер = Таблица.Скопировать(,"НомерВходящегоДокумента");
    НаборВнешНомер.Свернуть("НомерВходящегоДокумента");

    Отбор = Новый Структура();
    Для Каждого ВнешНомер Из НаборВнешНомер Цикл

    Отбор.Вставить("НомерВходящегоДокумента", ВнешНомер.НомерВходящегоДокумента);
    НайдСтроки = Таблица.НайтиСтроки(Отбор);
    //Запись в отдельный xml
    Для Каждого Стр Из НайдСтроки Цикл
    ...
    КонецЦикла;

    КонецЦикла;
```
---
А почему бы просто не создать два объекта?
ЗаписьXML1 = Новый ЗаписьXML;
ЗаписьXML2 = Новый ЗаписьXML;

И согласно условию писать по очереди то в один, то в другой файл.
---
Предлагаю такой вариант:

```1c
    НаборВнешНомер = Таблица.Скопировать(,"НомерВходящегоДокумента");
    НаборВнешНомер.Свернуть("НомерВходящегоДокумента");

    Отбор = Новый Структура();
    Для Каждого ВнешНомер Из НаборВнешНомер Цикл

    Отбор.Вставить("НомерВходящегоДокумента", ВнешНомер.НомерВходящегоДокумента);
    НайдСтроки = Таблица.НайтиСтроки(Отбор);
    //Запись в отдельный xml
    Для Каждого Стр Из НайдСтроки Цикл
    ...
    КонецЦикла;

    КонецЦикла;
```
---
спасибо