Проблема при переносе данных

1. Tohsmucgod 07.04.20 14:16 Сейчас в теме
Добрый день.

Столкнулся с небольшой проблемой, но то ли я дурак, то ли лыжи не едут. Переношу данные из КА 1 в КА 2. При загрузке данных выводится ошибка:

Ошибка в обработчике события ПослеЗагрузкиДанных (конвертация)
Обработчик = ПослеЗагрузкиДанных (конвертация)
ОписаниеОшибки = Недостаточно фактических параметров
ПозицияМодуля = (15)
КодСообщения = 23

Но проблема в том, что сообщение ошибки указывает на строчку, в которой такой ошибки быть не может:

//+изм
//ускоряем обмен этим действием, используем только для оборотов документов
Если Не Параметры.ОтключитьРегДействияПриЗагрузкеОборотовДокументов  Тогда
    //-изм
    
    Выполнить(Алгоритмы.УстановитьИспользованиеОпциональныхВозможностей);
    Выполнить(Алгоритмы.ЗагрузитьКурсыВалют);
    
    Если Параметры.ЗагруженыНовыеПользователи Тогда
        ПользователиСлужебный.ОбновитьСоставыГруппПользователей(Справочники.ГруппыПользователей.ВсеПользователи);
    КонецЕсли;
    Если Параметры.ЗагруженыНовыеГруппыПользователей Тогда
        РегистрыСведений.СоставыГруппПользователей.ОбновитьДанныеРегистра();
    КонецЕсли; //код ошибки указывает на эту строку
    
    
    // Обновление наборов свойств партнеров.
    ОбщиеСвойстваПартнеров = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Партнеры_Общие.ПолучитьОбъект();
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ПартнерыДополнительныеРеквизиты.Свойство КАК Свойство
    |ИЗ
    |    Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
    |ГДЕ
    |    (НЕ ПартнерыДополнительныеРеквизиты.Свойство.ЭтоДополнительноеСведение)";
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Если ОбщиеСвойстваПартнеров.ДополнительныеРеквизиты.Найти(Выборка.Свойство, "Свойство") = Неопределено Тогда
            НовоеСвойство = ОбщиеСвойстваПартнеров.ДополнительныеРеквизиты.Добавить();
            НовоеСвойство.Свойство = Выборка.Свойство;
        КонецЕсли;
    КонецЦикла;
    ОбщиеСвойстваПартнеров.Записать();
    
    //// Обновление наборов свойств физических лиц.
    //ОбщиеСвойстваФизическихЛиц = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_ФизическиеЛица.ПолучитьОбъект();
    //Запрос = Новый Запрос;
    //Запрос.Текст = 
    //"ВЫБРАТЬ РАЗЛИЧНЫЕ
    //|    ФизическиеЛицаДополнительныеРеквизиты.Свойство КАК Свойство
    //|ИЗ
    //|    Справочник.ФизическиеЛица.ДополнительныеРеквизиты КАК ФизическиеЛицаДополнительныеРеквизиты
    //|ГДЕ
    //|    (НЕ ФизическиеЛицаДополнительныеРеквизиты.Свойство.ЭтоДополнительноеСведение)";
    //
    //Результат = Запрос.Выполнить();
    //Выборка = Результат.Выбрать();
    //Пока Выборка.Следующий() Цикл
    //    Если ОбщиеСвойстваФизическихЛиц.ДополнительныеРеквизиты.Найти(Выборка.Свойство, "Свойство") = Неопределено Тогда
    //        НовоеСвойство = ОбщиеСвойстваФизическихЛиц.ДополнительныеРеквизиты.Добавить();
    //        НовоеСвойство.Свойство = Выборка.Свойство;
    //    КонецЕсли;
    //КонецЦикла;
    //ОбщиеСвойстваФизическихЛиц.Записать();
    
    // Обновление наборов свойств соглашений с клиентами.
    ОбщиеСвойстваСоглашенийСКлиентами = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_СоглашенияСКлиентами.ПолучитьОбъект();
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    СоглашенияСКлиентамиДополнительныеРеквизиты.Свойство КАК Свойство
    |ИЗ
    |    Справочник.СоглашенияСКлиентами.ДополнительныеРеквизиты КАК СоглашенияСКлиентамиДополнительныеРеквизиты
    |ГДЕ
    |    (НЕ СоглашенияСКлиентамиДополнительныеРеквизиты.Свойство.ЭтоДополнительноеСведение)";
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Если ОбщиеСвойстваСоглашенийСКлиентами.ДополнительныеРеквизиты.Найти(Выборка.Свойство, "Свойство") = Неопределено Тогда
            НовоеСвойство = ОбщиеСвойстваСоглашенийСКлиентами.ДополнительныеРеквизиты.Добавить();
            НовоеСвойство.Свойство = Выборка.Свойство;
        КонецЕсли;
    КонецЦикла;
    ОбщиеСвойстваСоглашенийСКлиентами.Записать();
    
    // Обновление наборов свойств соглашений с поставщиками.
    ОбщиеСвойстваСоглашенийСПоставщиками = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_СоглашенияСПоставщиками.ПолучитьОбъект();
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    СоглашенияСПоставщикамиДополнительныеРеквизиты.Свойство КАК Свойство
    |ИЗ
    |    Справочник.СоглашенияСПоставщиками.ДополнительныеРеквизиты КАК СоглашенияСПоставщикамиДополнительныеРеквизиты
    |ГДЕ
    |    (НЕ СоглашенияСПоставщикамиДополнительныеРеквизиты.Свойство.ЭтоДополнительноеСведение)";
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Если ОбщиеСвойстваСоглашенийСПоставщиками.ДополнительныеРеквизиты.Найти(Выборка.Свойство, "Свойство") = Неопределено Тогда
            НовоеСвойство = ОбщиеСвойстваСоглашенийСПоставщиками.ДополнительныеРеквизиты.Добавить();
            НовоеСвойство.Свойство = Выборка.Свойство;
        КонецЕсли;
    КонецЦикла;
    ОбщиеСвойстваСоглашенийСПоставщиками.Записать();
    
    // Обновление наборов свойств номенклатуры.
    ОбщиеСвойстваНоменклатуры = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие.ПолучитьОбъект();
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    НоменклатураДополнительныеРеквизиты.Свойство
    |ИЗ
    |    Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
    |ГДЕ
    |    (НЕ НоменклатураДополнительныеРеквизиты.Свойство В
    |                (ВЫБРАТЬ РАЗЛИЧНЫЕ
    |                    Т.Свойство
    |                ИЗ
    |                    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК Т
    |                ГДЕ
    |                    Т.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура))))
    |";
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Если ОбщиеСвойстваНоменклатуры.ДополнительныеРеквизиты.Найти(Выборка.Свойство, "Свойство") = Неопределено Тогда
            НовоеСвойство = ОбщиеСвойстваНоменклатуры.ДополнительныеРеквизиты.Добавить();
            НовоеСвойство.Свойство = Выборка.Свойство;
        КонецЕсли;
    КонецЦикла;
    ОбщиеСвойстваНоменклатуры.Записать();
    
    // Обновление наборов свойств характеристик.
    ОбщиеСвойстваХарактеристик = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_ХарактеристикиНоменклатуры_Общие.ПолучитьОбъект();
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство
    |ИЗ
    |    Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты
    |ГДЕ
    |    (НЕ ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство В
    |                (ВЫБРАТЬ РАЗЛИЧНЫЕ
    |                    Т.Свойство
    |                ИЗ
    |                    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК Т
    |                ГДЕ
    |                    Т.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.Справочник_ХарактеристикиНоменклатуры))))
    |";
    
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Если ОбщиеСвойстваХарактеристик.ДополнительныеРеквизиты.Найти(Выборка.Свойство, "Свойство") = Неопределено Тогда
            НовоеСвойство = ОбщиеСвойстваХарактеристик.ДополнительныеРеквизиты.Добавить();
            НовоеСвойство.Свойство = Выборка.Свойство;
        КонецЕсли;
    КонецЦикла;
    ОбщиеСвойстваХарактеристик.Записать();
    
    // Заполнение регистра сведений "Градации качества номенклатуры"
    ТаблицаСоответствияКачественнойИНекачественнойНоменклатуры = Параметры.ТаблицаСоответствияКачественнойИНекачественнойНоменклатуры;
    ТаблицаСоответствияКачественнойИНекачественнойНоменклатуры.Свернуть("КачественнаяНоменклатура,НекачественнаяНоменклатура");
    Для Каждого Строка Из ТаблицаСоответствияКачественнойИНекачественнойНоменклатуры Цикл
        РегистрыСведений.ТоварыДругогоКачества.ЗаписатьСвязьСТоваромДругогоКачества(Строка.КачественнаяНоменклатура, Строка.НекачественнаяНоменклатура);
    КонецЦикла;
    
    // Обновление иерархии партнеров
    Для Каждого Партнер Из Параметры.МассивЗагруженныхПартнеров Цикл
        Если Не Партнер.ЭтоНовый() Тогда
            ПартнерыИКонтрагенты.ЗаписатьИерархиюПартнера(Партнер.Ссылка);
        КонецЕсли;
    КонецЦикла;
    
    // Установка признака у складов с учетом серий
    Для Каждого Склад Из Параметры.СкладыСУчетомСерий Цикл
        
        СкладОбъект = Склад.ПолучитьОбъект();
        СкладОбъект.ИспользоватьОрдернуюСхемуПриОтраженииИзлишковНедостач = Истина;
        СкладОбъект.ИспользоватьСерииНоменклатуры = Истина;
        
        НайденнаяПолитика = Справочники.ПолитикиУчетаСерий.НайтиПоНаименованию(НСтр("ru='Учет остатков по сериям'"), Истина);
        Если СкладОбъект.ПолитикиУчетаСерий.Найти(НайденнаяПолитика, "ПолитикаУчетаСерий") = Неопределено Тогда
            НоваяСтрока = СкладОбъект.ПолитикиУчетаСерий.Добавить();
            НоваяСтрока.ПолитикаУчетаСерий = НайденнаяПолитика;
        КонецЕсли;
        
        СкладОбъект.Записать();
        
    КонецЦикла;
    
    //+изм
КонецЕсли;
//-изм

ЗагруженныеОбъектыПереноса = Параметры.ЗагруженныеОбъектыПереноса;
ЗагруженныеОбъектыПереноса.Сортировать("ИмяПКО");

Для Каждого СтрокаТаблицы Из ЗагруженныеОбъектыПереноса Цикл
    
    Если СтрокаТаблицы.Объект.ЭтоНовый() Тогда
        Продолжить;
    КонецЕсли;
    
    Объект = СтрокаТаблицы.Объект.Ссылка.ПолучитьОбъект();
    ПараметрыОбъекта = СтрокаТаблицы.Параметры;
    ИмяПКО = СтрокаТаблицы.ИмяПКО;
    
    ОбъектМодифицирован = Истина;
    
    Если Метаданные.Справочники.Содержит(Объект.МетаДанные()) Тогда
        Выполнить(Алгоритмы.ОбработкаСправочниковОтложенная);
    КонецЕсли;
    
    Если ОбъектМодифицирован Тогда
        Объект.ОбменДанными.Загрузка = Истина;
        Объект.Записать();
    КонецЕсли;
    
КонецЦикла;

//+изм
Если Не Параметры.ОтключитьРегДействияПриЗагрузкеОборотовДокументов Тогда
    //-изм
    
    // Заполнение файла изображения номенклатуры.
    Для Каждого СтрокаТаблицы Из Параметры.ОсновныеИзображенияНоменклатуры Цикл
        Если СтрокаТаблицы.Номенклатура.ФайлКартинки <> СтрокаТаблицы.ФайлКартинки Тогда
            НоменклатураОбъект = СтрокаТаблицы.Номенклатура.ПолучитьОбъект();
            НоменклатураОбъект.ФайлКартинки = СтрокаТаблицы.ФайлКартинки;
            НоменклатураОбъект.ОбменДанными.Загрузка = Истина;
            НоменклатураОбъект.Записать();
        КонецЕсли;
    КонецЦикла;
    
    Выполнить(Алгоритмы.ОбработатьПослеЗаписиСкладыУчитывающиеСерии);
    Выполнить(Алгоритмы.ОбработатьВидыНоменклатурыПослеЗаписи);
    Выполнить(Алгоритмы.ЗаполнитьНастройкиКонтроляОбеспеченияУСкладов);
    Выполнить(Алгоритмы.НастроитьСпособыОтраженияВРегламентированномУчете);
    Выполнить(Алгоритмы.СформироватьСчетаФактурыНДСПредъявленный);
    
    //+изм
КонецЕсли;
//-изм

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

Показать


В чем может быть проблема?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1536 07.04.20 14:41 Сейчас в теме
(1) для начала посмотреть, что хочет "ПослеЗагрузкиДанных" в параметрах.
Далее включить отладку и посмотреть, где падает код.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот