Помогите доработать правила обмена ТиС 7.7 - БП 2.0 8.2.
Что не получается сделать:
1) При переносе справочника "Контрагенты" поиск в БП 2.0 идет по коду, а нужно сделать по ИНН. Но проблема в том, в 7.7 в этом справочнике нет такого реквизита. Есть только реквизит "ЮрФизлицо", который ведет либо на справочник "Юрлица", либо на "Физлица". А вот там уже этот реквизит есть. Как это завязать?
2) При переносе документов "Приходный кассовый ордер" не переносится договор контрагента. В 7.7 он находится в шапке документа, а в БП 2.0 - в табличной части "Расшифровка платежа".
Может кто возьмется? Вознаграждение гарантирую.
---
Я делал для комплексной в ПКГС Группа -> РасшифровкаПлатежа
ПередОбработкой

```1c
    КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
    КоллекцияОбъектов.НоваяКолонка("ДоговорКонтрагента");
    КоллекцияОбъектов.НоваяКолонка("КратностьВзаиморасчетов");
    КоллекцияОбъектов.НоваяКолонка("КурсВзаиморасчетов");
    КоллекцияОбъектов.НоваяКолонка("СпособПогашенияЗадолженности");
    КоллекцияОбъектов.НоваяКолонка("СтавкаНДС");
    КоллекцияОбъектов.НоваяКолонка("СтатьяДвиженияДенежныхСредств");
    КоллекцияОбъектов.НоваяКолонка("СуммаВзаиморасчетов");
    КоллекцияОбъектов.НоваяКолонка("СуммаНДС");
    КоллекцияОбъектов.НоваяКолонка("СуммаПлатежа");
    КоллекцияОбъектов.НоваяКолонка("СчетНаОплату");
    КоллекцияОбъектов.НоваяКолонка("СчетУчетаРасчетовПоАвансам");
    КоллекцияОбъектов.НоваяКолонка("СчетУчетаРасчетовСКонтрагентом");

    КоллекцияОбъектов.НоваяСтрока();
    КоллекцияОбъектов.СтатьяДвиженияДенежныхСредств = Источник.ДвижениеДенежныхСредств;
    КоллекцияОбъектов.СуммаПлатежа = Источник.Сумма;
    КоллекцияОбъектов.ДоговорКонтрагента = Источник.Договор;
    КоллекцияОбъектов.СтавкаНДС = "БезНДС";
    КоллекцияОбъектов.СуммаНДС = 0;
    КоллекцияОбъектов.КратностьВзаиморасчетов = 1;
    КоллекцияОбъектов.КурсВзаиморасчетов = 1;
    КоллекцияОбъектов.СуммаВзаиморасчетов = Источник.Сумма;
    КоллекцияОбъектов.СпособПогашенияЗадолженности = "Автоматически";
```

нормально перенесло.

В ваших правилах получается что договор заполнится только, если это оплата от покупателя или возврат от поставщика, да ещё должны быть движения по документу.
---
В обработчике реквизита "Перед выгрузкой"

Значение = ЮрФИзЛицо.ИНН;
---
Этот код там есть, как сделать так, чтобы контрагент при загрузке искался по ИНН? Если поставить флажок "Поиск объекта при загрузке по свойству", то БП 2.0 вылетает с ошибкой "Недостаточно памяти" при загрузке XML.
---
Uncore, как сделать так, чтобы контрагент при загрузке искался по ИНН?
отметить флажок поиска у ИНН, убрать у кода
---
При такой комбинации загрузка в 8.2 вообще не происходит - программа вылетает с ошибкой "Недостаточно памяти".
---
Uncore, а какой размер файла обмена? и до какого размера доходит размер используемой 1cv7 памяти перед падением?
---
Файл XML размером 66 Мб, содержит выгрузку 7000 объектов из 7.7. При установке поиска только по коду, все работает. Как только снимаю галочку с кода - не грузится в 8.2. Всю ОП съедает 1cv8.exe при загрузке.
---
Uncore, Файл XML размером 66 Мб
не очень большой файл.

а можно скрины ПКО Контрагенты ?
---
Да, это данные за 1 день, а планируется перегружать данные за неделю...
С кода флажок снят, установлен на ИНН.
Файлы прилагаю:
---
Uncore, а зачем флажок поиска стоит на наименовании?
---
andrewks, что бы группу искать
---
VoShk, по наименованию, да ещё неогр.длины? не очень красиво. а завтра изменят пару буковок в наименовании - и начнётся раздрыг.

группы надо по коду искать. видимо, с полями поиска нужно поиграться
---
andrewks, согласен, но по коду не всегда возможно, например, когда параллельно данные вводятся, тогда надо делать префиксы... в целом слишком мало данных для полноценных выводов...
---
Изначально стояли флажки только на полях "Код"и "ЭтоГруппа", остальные ставил экспериментируя.
---
1) делать всё-таки так, как указал hombre (надеюсь, продолжать поиск Вы указали), ошибка при загрузке, возможно, связана с перегрузкой большого объёма информации, либо другой ошибкой. Ещё можно попробовать поставить "не запоминать выгруженные объекты" - по идее это должно снизить расход памяти.
2) в табличной части в перегрузке договора можно указать Значение=Источник.Договор - в каждой строке ТЧ в таком случае будет указываться договор из шапки
---
Спасибо, попробую.
---
VoShk, Ещё можно попробовать поставить "не запоминать выгруженные объекты" - по идее это должно снизить расход памяти.
зато существенно увеличит объём файла
---
Прикрепляю также сами правила, может так удобнее будет посмотреть проблему.
---
По первому вопросу решили сделать реквизит ИНН в справочнике контрагентов и по нему уже связывать с ИНН в 1С 8. Второй вопрос еще в силе.
---
В ПКГС РасшифровкаПлатежа создаете КоллекцияОбъектов
В ПКС ДоговорКонтрагента группы РасшифровкаПлатежа ПередВыгрузкой пишете

```1c
    Значение = ОбъектКоллекции.ДоговорКонтрагента;
```
---
ОбъектКоллекции.ДоговорКонтрагента;
---
Я делал для комплексной в ПКГС Группа -> РасшифровкаПлатежа
ПередОбработкой

```1c
    КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
    КоллекцияОбъектов.НоваяКолонка("ДоговорКонтрагента");
    КоллекцияОбъектов.НоваяКолонка("КратностьВзаиморасчетов");
    КоллекцияОбъектов.НоваяКолонка("КурсВзаиморасчетов");
    КоллекцияОбъектов.НоваяКолонка("СпособПогашенияЗадолженности");
    КоллекцияОбъектов.НоваяКолонка("СтавкаНДС");
    КоллекцияОбъектов.НоваяКолонка("СтатьяДвиженияДенежныхСредств");
    КоллекцияОбъектов.НоваяКолонка("СуммаВзаиморасчетов");
    КоллекцияОбъектов.НоваяКолонка("СуммаНДС");
    КоллекцияОбъектов.НоваяКолонка("СуммаПлатежа");
    КоллекцияОбъектов.НоваяКолонка("СчетНаОплату");
    КоллекцияОбъектов.НоваяКолонка("СчетУчетаРасчетовПоАвансам");
    КоллекцияОбъектов.НоваяКолонка("СчетУчетаРасчетовСКонтрагентом");

    КоллекцияОбъектов.НоваяСтрока();
    КоллекцияОбъектов.СтатьяДвиженияДенежныхСредств = Источник.ДвижениеДенежныхСредств;
    КоллекцияОбъектов.СуммаПлатежа = Источник.Сумма;
    КоллекцияОбъектов.ДоговорКонтрагента = Источник.Договор;
    КоллекцияОбъектов.СтавкаНДС = "БезНДС";
    КоллекцияОбъектов.СуммаНДС = 0;
    КоллекцияОбъектов.КратностьВзаиморасчетов = 1;
    КоллекцияОбъектов.КурсВзаиморасчетов = 1;
    КоллекцияОбъектов.СуммаВзаиморасчетов = Источник.Сумма;
    КоллекцияОбъектов.СпособПогашенияЗадолженности = "Автоматически";
```

нормально перенесло.

В ваших правилах получается что договор заполнится только, если это оплата от покупателя или возврат от поставщика, да ещё должны быть движения по документу.
---
там все просто, если что звони - подскажу
---
Всем спасибо за помощь, разобрались вроде сами.