Ошибка при синхронизации данных меду УТ и Бух базой

1. noxvel 22.10.21 11:38 Сейчас в теме
Всем добрый день.
Во время синхронизации данных между УТ и Бухгалтерской базой, вылазит ошибка такого содержания:

ВНЕШНЕЕ СОЕДИНЕНИЕ: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4398)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = РТУ_ПродажаТоваровУслуг
ТипОбъекта = Реализация товаров и услуг
Объект = Реализация товаров и услуг 00УУ-010725 от 07.09.2021 23:59:59
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Преобразование значения к типу Булево не может быть выполнено
ПозицияМодуля = (112)
КСообщенияОбОшибках = 21
ВызватьИсключение СтрокаСообщенияОбОшибке;

В ПКО "РТУ_ПродажаТоваровУслуг" в обработчике ПослеЗагрузкиОбъекта, строки 112, где показывает ошибку вообще нет.

Какую вывел закономерность, в документ РТУ был добавлен новый реквизит, так вот обмен стопорится на тех документах, где этот реквизит НЕ заполнен, а там, где заполнен все норм. Причем в самом обмене это реквизит не принимает участия.
Новую структуру базы УТ загрузил в Конвертацию, и обновил правила обмена что в УТ что в БУХ базе. В чем именно может быть проблема?
Я так подозреваю, что этот новый реквизит как-то не конвертируется в Булево если не заполнено, но где это исправить, без понятия.
По теме из базы знаний
Найденные решения
12. noxvel 25.10.21 15:24 Сейчас в теме
В общем итог следствия - проблема была в договоре контрагента, который был с типом "с поставщиком", а В РТУ он естественно должен быть "с покупателем". в итоге, скорее всего при выборке счетов учета в Бух базе, что-то не так срабатывало. Как они его вообще выбрали в документе, одному Ктулху известно.
В итоге убито несколько дней на какую-то дичь. Почему в 1С до сих пор нет нормального способа дебагинга проблем при перекачке данных, я не понимаю, зато есть целый мессенджер.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ZergKRSK 130 22.10.21 12:32 Сейчас в теме
(1)
в обработчике ПослеЗагрузкиОбъекта

есть там хоть одна строка кода, связанная с вашим новым реквизитом?
3. noxvel 22.10.21 12:54 Сейчас в теме
(2)
Нету, его нет даже в правилах конвертации, поскольку необходимости его перекидывать в бух базу нет.
Возможно в стандартных правилах обмена есть перебор всех значений, или в самой Бух базе, что-то в конфигурации срабатывает, понять бы хоть где копать.
4. Torin 828 22.10.21 13:07 Сейчас в теме
(3)
Нету, его нет даже в правилах конвертации, поскольку необходимости его перекидывать в бух базу нет.

Ну вы же сами пишите
Новую структуру базы УТ загрузил в Конвертацию, и обновил правила обмена что в УТ что в БУХ базе. В чем именно может быть проблема?

P/S правая рука не знает что делает левая?
5. noxvel 22.10.21 13:48 Сейчас в теме
(4)
Я обновил само описание Конфигурации УТ с этим реквизитом, но само правило не делал, поскольку мне его не к чему привязывать в бух базе, да и не зачем. И почему с заполненным значением оно грузит, а с пустым ругается?
6. Torin 828 22.10.21 14:16 Сейчас в теме
(5) используйте типовые правила или Универсальный формат обмена 1.8
7. noxvel 22.10.21 16:04 Сейчас в теме
(6)
используйте типовые правила или Универсальный формат обмена 1.8

Типовые не могу, есть другие изменеия в правилах которые нормально работают.
8. gybson 22.10.21 16:19 Сейчас в теме
9. noxvel 22.10.21 16:29 Сейчас в теме
Выполнить(Алгоритмы.ОбработатьЗаписьДокументаПослеЗагрузки);

Если РежимЗагрузкиДанныхВИнформационнуюБазу() Тогда

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

		КонецЕсли;
	КонецЦикла;

	ТабЧасть = "ВозвратнаяТара";
	Выполнить(Алгоритмы.ЗаполнитьСчетаУчетаВТабЧасти);
	СчетаУчета = БухгалтерскийУчетПереопределяемый.ПолучитьСчетаРасчетовСКонтрагентом(Объект.Организация, Объект.Контрагент, Объект.ДоговорКонтрагента);
	Если Объект.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда
		Объект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
		Объект.СчетУчетаРасчетовПоАвансам     = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
		Объект.СчетУчетаРасчетовПоТаре        = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
	Иначе
		Объект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя;
		Объект.СчетУчетаРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателя;
		Объект.СчетУчетаРасчетовПоТаре        = СчетаУчета.СчетУчетаТарыПокупателя;
	КонецЕсли;
	Объект.СчетУчетаРасчетовПоТаре        = СчетаУчета.СчетУчетаТарыПокупателя;

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

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


Мой реквизит называется - АдресКонтрагента, это справочник
10. noxvel 22.10.21 18:11 Сейчас в теме
Оказалось проблема вообще не в новом реквизите.
Затык идет на документах по конкретному контрагенту, а в чем он отличается от других непонятно.
11. muskul 25.10.21 02:33 Сейчас в теме
(10)Неправильно заполнен тип контрагента. ЮР физ лицо или ИНН один а тип другой
12. noxvel 25.10.21 15:24 Сейчас в теме
В общем итог следствия - проблема была в договоре контрагента, который был с типом "с поставщиком", а В РТУ он естественно должен быть "с покупателем". в итоге, скорее всего при выборке счетов учета в Бух базе, что-то не так срабатывало. Как они его вообще выбрали в документе, одному Ктулху известно.
В итоге убито несколько дней на какую-то дичь. Почему в 1С до сих пор нет нормального способа дебагинга проблем при перекачке данных, я не понимаю, зато есть целый мессенджер.
Оставьте свое сообщение

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