Доброго времени суток!
При попытке встроить внешнюю обработку из одной БП КОРП базы в другую идентичную столкнулся с проблемой, что она не срабатывает, хотя в первой базе все работает исправно. Может кто-то сталкивался с таким?
Обработка формирует акты сверки для выбранного списка пользователей и заполняет ТЧ "По данным организации", выполняя функции модуля формы и модуля менеджера документа. В обеих конфигурациях эти функции идентичны. Таким образом, на этапе заполнения где-то идет сбой, и документ записывается с пустой ТЧ.

Мой код:

```1c
    &НаСервере
    Процедура ЗаполнитьДокументНаСервере()

    Для каждого стр Из Объект.Контрагенты Цикл

    НовыйДокумент = Документы.АктСверкиВзаиморасчетов.СоздатьДокумент();
    НовыйДокумент.Дата = КонецДня(Объект.Период.ДатаОкончания) + 43200;
    НовыйДокумент.Контрагент = стр.Контрагент;
    НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
    НовыйДокумент.ВалютаДокумента = Объект.Валюта;
    НовыйДокумент.ДатаНачала = Объект.Период.ДатаНачала;
    НовыйДокумент.ДатаОкончания = Объект.Период.ДатаОкончания;
    НовыйДокумент.РазбитьПоДоговорам = Истина;

    ТаблицаСчетов = УчетВзаиморасчетов.ПолучитьТаблицуСчетовУчетаВзаиморасчетов(Истина, Ложь);
    ТаблицаСчетов.Колонки.СчетРасчетов.Имя = "Счет";
    ТаблицаСчетов.Колонки.Добавить("УчаствуетВРасчетах");
    ТаблицаСчетов.ЗаполнитьЗначения(Истина, "УчаствуетВРасчетах");

    НовыйДокумент.СписокСчетов.Загрузить(ТаблицаСчетов);

    СтруктураПараметров = Новый Структура;

    СтруктураПараметров.Вставить("ДатаНачала", НовыйДокумент.ДатаНачала);
    СтруктураПараметров.Вставить("ДатаОкончания", Новый Граница(КонецДня(НовыйДокумент.ДатаОкончания), ВидГраницы.Включая));
    СтруктураПараметров.Вставить("Организация", НовыйДокумент.Организация);
    СтруктураПараметров.Вставить("Контрагент", НовыйДокумент.Контрагент);
    СтруктураПараметров.Вставить("СОбособленнымиПодразделениями", НовыйДокумент.СОбособленнымиПодразделениями);
    СтруктураПараметров.Вставить("ВыводитьСчетаФактуры", НовыйДокумент.ВыводитьСчетаФактуры);
    СтруктураПараметров.Вставить("ЗаполнятьДанныеКонтрагента", Ложь);
    СтруктураПараметров.Вставить("Валюта", Неопределено);

    ФильтрСписокСчетов = Новый Массив();

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

    Если ФильтрСписокСчетов.Количество() = 0 Тогда
    ТекстОшибки = НСтр("ru='Не задан список счетов, по которым производится сверка.'");
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , , "Объект.СписокСчетов");
    Возврат;
    КонецЕсли;

    СтруктураПараметров.Вставить("ФильтрСписокСчетов", ФильтрСписокСчетов);

    АналитикаРасчетов = Новый Массив();
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
    СтруктураПараметров.Вставить("АналитикаРасчетов", АналитикаРасчетов);

    СтруктураПараметров.Вставить("ДоговорКонтрагента",
    ?(НЕ ЗначениеЗаполнено(НовыйДокумент.ДоговорКонтрагента), Неопределено, НовыйДокумент.ДоговорКонтрагента));

    СтруктураПараметров.Вставить("ВыводитьПолныеНазванияДокументов", НовыйДокумент.ВыводитьПолныеНазванияДокументов);
    СтруктураПараметров.Вставить("ВалютаДокумента", НовыйДокумент.ВалютаДокумента);
    СтруктураПараметров.Вставить("РазбитьПоДоговорам", НовыйДокумент.РазбитьПоДоговорам);
    СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета", НовыйДокумент.ВалютаДокумента);
    СтруктураПараметров.Вставить("ЭтоЭлектронныйДокумент", НовыйДокумент.ЭтоЭлектронныйДокумент);

    АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор);

    Документы.АктСверкиВзаиморасчетов.ПодготовитьДанныеДляЗаполнения(СтруктураПараметров, АдресРезультата);

    СтруктураДанных = ПолучитьИзВременногоХранилища(АдресРезультата);

    РезультатВыполнения = Новый Структура();
    РезультатВыполнения.Вставить("ЗаданиеВыполнено", Истина);
    РезультатВыполнения.Вставить("Успешно", Ложь);

    Если ТипЗнч(СтруктураДанных) <> Тип("Структура") Тогда
    Возврат;
    КонецЕсли;

    РезультатВыполнения.Успешно = СтруктураДанных.Успешно;

    Если СтруктураДанных.Успешно Тогда

    НовыйДокумент.ОстатокНаНачало = СтруктураДанных.ОстатокНаНачало;
    НовыйДокумент.ПоДаннымОрганизации.Загрузить(СтруктураДанных.ПоДаннымОрганизации);

    Если СтруктураДанных.Свойство("ПоДаннымКонтрагента") Тогда
    НовыйДокумент.ПоДаннымКонтрагента.Загрузить(СтруктураДанных.ПоДаннымКонтрагента);
    КонецЕсли;

    КонецЕсли;

    Возврат РезультатВыполнения;

    НовыйДокумент.Записать();

    КонецЦикла;

    КонецПроцедуры
```

Код первой функции из модуля формы документа

```1c
    &НаСервере
    Функция ЗаполнитьПоДаннымБухгалтерскогоУчета(ЗаполнятьДанныеКонтрагента)

    // проверим заполненность обязательных реквизитов
    Если НЕ ПроверитьЗаполнение() Тогда
    Возврат Неопределено;
    КонецЕсли;

    СтруктураПараметров = Новый Структура;

    СтруктураПараметров.Вставить("ДатаНачала", Объект.ДатаНачала);
    СтруктураПараметров.Вставить("ДатаОкончания", Новый Граница(КонецДня(Объект.ДатаОкончания), ВидГраницы.Включая));
    СтруктураПараметров.Вставить("Организация", Объект.Организация);
    СтруктураПараметров.Вставить("Контрагент", Объект.Контрагент);
    СтруктураПараметров.Вставить("СОбособленнымиПодразделениями", Объект.СОбособленнымиПодразделениями);
    СтруктураПараметров.Вставить("ВыводитьСчетаФактуры", Объект.ВыводитьСчетаФактуры);
    СтруктураПараметров.Вставить("ЗаполнятьДанныеКонтрагента", ЗаполнятьДанныеКонтрагента);
    СтруктураПараметров.Вставить("Валюта", ?((Объект.ВалютаДокумента = ВалютаРегламентированногоУчета), Неопределено, Объект.ВалютаДокумента));

    ФильтрСписокСчетов = Новый Массив();
    Для Каждого СтрокаСчета Из Объект.СписокСчетов Цикл
    Если ЗначениеЗаполнено(СтрокаСчета.Счет) И СтрокаСчета.УчаствуетВРасчетах Тогда
    ФильтрСписокСчетов.Добавить(СтрокаСчета.Счет);
    КонецЕсли;
    КонецЦикла;
    Если ФильтрСписокСчетов.Количество() = 0 Тогда
    ТекстОшибки = НСтр("ru='Не задан список счетов, по которым производится сверка.'");
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , , "Объект.СписокСчетов");
    Возврат Неопределено;
    КонецЕсли;

    СтруктураПараметров.Вставить("ФильтрСписокСчетов", ФильтрСписокСчетов);

    АналитикаРасчетов = Новый Массив();
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
    АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
    СтруктураПараметров.Вставить("АналитикаРасчетов", АналитикаРасчетов);

    СтруктураПараметров.Вставить("ДоговорКонтрагента",
    ?(НЕ ЗначениеЗаполнено(Объект.ДоговорКонтрагента), Неопределено, Объект.ДоговорКонтрагента));

    СтруктураПараметров.Вставить("ВыводитьПолныеНазванияДокументов", Объект.ВыводитьПолныеНазванияДокументов);
    СтруктураПараметров.Вставить("ВалютаДокумента", Объект.ВалютаДокумента);
    СтруктураПараметров.Вставить("РазбитьПоДоговорам", Объект.РазбитьПоДоговорам);
    СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета", ВалютаРегламентированногоУчета);
    СтруктураПараметров.Вставить("ЭтоЭлектронныйДокумент", Объект.ЭтоЭлектронныйДокумент);

    Если ЭтоАдресВременногоХранилища(АдресХранилищаСОшибками) Тогда
    УдалитьИзВременногоХранилища(АдресХранилищаСОшибками);
    АдресХранилищаСОшибками = ";
    КонецЕсли;

    АдресХранилищаСОшибками = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
    СтруктураПараметров.Вставить("АдресХранилищаСОшибками", АдресХранилищаСОшибками);

    ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
    ПараметрыВыполнения.НаименованиеФоновогоЗадания = "ЗаполнитьПоДаннымОрганизации";

    Результат = ДлительныеОперации.ВыполнитьВФоне(
    "Документы.АктСверкиВзаиморасчетов.ПодготовитьДанныеДляЗаполнения",
    СтруктураПараметров,
    ПараметрыВыполнения);

    Возврат Результат;

    КонецФункции
```

Код второй функции из модуля менеджера

```1c
    &НаСервере
    Функция ЗагрузитьПодготовленныеДанные(Результат)

    СтруктураДанных = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);

    РезультатВыполнения = Новый Структура();
    РезультатВыполнения.Вставить("ЗаданиеВыполнено", Истина);
    РезультатВыполнения.Вставить("Успешно", Ложь);

    Если ТипЗнч(СтруктураДанных) <> Тип("Структура") Тогда
    Возврат РезультатВыполнения;
    КонецЕсли;

    РезультатВыполнения.Успешно = СтруктураДанных.Успешно;

    Если СтруктураДанных.Успешно Тогда

    Объект.ОстатокНаНачало = СтруктураДанных.ОстатокНаНачало;
    Объект.ПоДаннымОрганизации.Загрузить(СтруктураДанных.ПоДаннымОрганизации);
    Если СтруктураДанных.Свойство("ПоДаннымКонтрагента") Тогда
    Объект.ПоДаннымКонтрагента.Загрузить(СтруктураДанных.ПоДаннымКонтрагента);
    КонецЕсли;

    УстановитьДоступностьДокументов();
    ПересчитатьОстатки(ЭтотОбъект);

    ОбновитьЗамечанияНаСервере();
    КонецЕсли;

    Возврат РезультатВыполнения;

    КонецФункции
```
---
Базы идентичны конфигурациями или данными?

Самое банальное -

```1c
    НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
```

В одной БД у организации код 000000001 и она находится, в другой код другой и она не находится.
---
Базы идентичны конфигурациями или данными?

Самое банальное -

```1c
    НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
```

В одной БД у организации код 000000001 и она находится, в другой код другой и она не находится.
---
о самом банальном я не догадался
большое спасибо