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

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

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

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

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


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

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

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

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

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


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

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