Ошибка при синхронизации данных меду УТ и Бух базой
Всем добрый день.
Во время синхронизации данных между УТ и Бухгалтерской базой, вылазит ошибка такого содержания:
ВНЕШНЕЕ СОЕДИНЕНИЕ: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4398)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = РТУ_ПродажаТоваровУслуг
ТипОбъекта = Реализация товаров и услуг
Объект = Реализация товаров и услуг 00УУ-010725 от 07.09.2021 23:59:59
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Преобразование значения к типу Булево не может быть выполнено
ПозицияМодуля = (112)
КСообщенияОбОшибках = 21
ВызватьИсключение СтрокаСообщенияОбОшибке;
В ПКО "РТУ_ПродажаТоваровУслуг" в обработчике ПослеЗагрузкиОбъекта, строки 112, где показывает ошибку вообще нет.
Какую вывел закономерность, в документ РТУ был добавлен новый реквизит, так вот обмен стопорится на тех документах, где этот реквизит НЕ заполнен, а там, где заполнен все норм. Причем в самом обмене это реквизит не принимает участия.
Новую структуру базы УТ загрузил в Конвертацию, и обновил правила обмена что в УТ что в БУХ базе. В чем именно может быть проблема?
Я так подозреваю, что этот новый реквизит как-то не конвертируется в Булево если не заполнено, но где это исправить, без понятия.
Во время синхронизации данных между УТ и Бухгалтерской базой, вылазит ошибка такого содержания:
ВНЕШНЕЕ СОЕДИНЕНИЕ: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(4398)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = РТУ_ПродажаТоваровУслуг
ТипОбъекта = Реализация товаров и услуг
Объект = Реализация товаров и услуг 00УУ-010725 от 07.09.2021 23:59:59
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Преобразование значения к типу Булево не может быть выполнено
ПозицияМодуля = (112)
КСообщенияОбОшибках = 21
ВызватьИсключение СтрокаСообщенияОбОшибке;
В ПКО "РТУ_ПродажаТоваровУслуг" в обработчике ПослеЗагрузкиОбъекта, строки 112, где показывает ошибку вообще нет.
Какую вывел закономерность, в документ РТУ был добавлен новый реквизит, так вот обмен стопорится на тех документах, где этот реквизит НЕ заполнен, а там, где заполнен все норм. Причем в самом обмене это реквизит не принимает участия.
Новую структуру базы УТ загрузил в Конвертацию, и обновил правила обмена что в УТ что в БУХ базе. В чем именно может быть проблема?
Я так подозреваю, что этот новый реквизит как-то не конвертируется в Булево если не заполнено, но где это исправить, без понятия.
По теме из базы знаний
Найденные решения
В общем итог следствия - проблема была в договоре контрагента, который был с типом "с поставщиком", а В РТУ он естественно должен быть "с покупателем". в итоге, скорее всего при выборке счетов учета в Бух базе, что-то не так срабатывало. Как они его вообще выбрали в документе, одному Ктулху известно.
В итоге убито несколько дней на какую-то дичь. Почему в 1С до сих пор нет нормального способа дебагинга проблем при перекачке данных, я не понимаю, зато есть целый мессенджер.
В итоге убито несколько дней на какую-то дичь. Почему в 1С до сих пор нет нормального способа дебагинга проблем при перекачке данных, я не понимаю, зато есть целый мессенджер.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Ну вы же сами пишите
P/S правая рука не знает что делает левая?
Нету, его нет даже в правилах конвертации, поскольку необходимости его перекидывать в бух базу нет.
Ну вы же сами пишите
Новую структуру базы УТ загрузил в Конвертацию, и обновил правила обмена что в УТ что в БУХ базе. В чем именно может быть проблема?
P/S правая рука не знает что делает левая?
Выполнить(Алгоритмы.ОбработатьЗаписьДокументаПослеЗагрузки);
Если РежимЗагрузкиДанныхВИнформационнуюБазу() Тогда
ДанныеОбъекта = Новый Структура("Дата, Организация, Склад, ЭтоКомиссия, Реализация");
ЗаполнитьЗначенияСвойств(ДанныеОбъекта, Объект);
ДанныеОбъекта.Реализация = Истина;
ДанныеОбъекта.ЭтоКомиссия = (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДоговорКонтрагента, "ВидДоговора")
= Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
СоответствиеСведенийОНоменклатуре = БухгалтерскийУчетПереопределяемый.ПолучитьСведенияОСпискеНоменклатуры(
ОбщегоНазначения.ВыгрузитьКолонку(Объект.Товары, "Номенклатура", Истина), ДанныеОбъекта);
Для каждого СтрокаТЧ из Объект.Товары Цикл
СведенияОНоменклатуре = СоответствиеСведенийОНоменклатуре.Получить(СтрокаТЧ.Номенклатура);
СчетаУчета = СведенияОНоменклатуре.СчетаУчета;
Если ЗначениеЗаполнено(СтрокаТЧ.СчетУчетаБУ) Тогда
СтрокаТЧ.СхемаРеализации = Справочники.СхемыРеализации.Товары;
Иначе
Если ЗначениеЗаполнено(СчетаУчета.СчетУчетаБУ) Тогда
СтрокаТЧ.СчетУчетаБУ = СчетаУчета.СчетУчетаБУ;
КонецЕсли;
Если ЗначениеЗаполнено(СчетаУчета.СчетПередачиБУ) Тогда
СтрокаТЧ.ПереданныеСчетУчетаБУ = СчетаУчета.СчетПередачиБУ;
КонецЕсли;
Если НЕ ДанныеОбъекта.ЭтоКомиссия Тогда
Если ЗначениеЗаполнено(СчетаУчета.СхемаРеализации) Тогда
СтрокаТЧ.СхемаРеализации = СчетаУчета.СхемаРеализации;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(СчетаУчета.НалоговоеНазначение) Тогда
СтрокаТЧ.НалоговоеНазначение = СчетаУчета.НалоговоеНазначение;
КонецЕсли;
Если ЗначениеЗаполнено(СчетаУчета.НалоговоеНазначениеДоходовИЗатрат) Тогда
СтрокаТЧ.НалоговоеНазначениеДоходовИЗатрат = СчетаУчета.НалоговоеНазначениеДоходовИЗатрат;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ТабЧасть = "ВозвратнаяТара";
Выполнить(Алгоритмы.ЗаполнитьСчетаУчетаВТабЧасти);
СчетаУчета = БухгалтерскийУчетПереопределяемый.ПолучитьСчетаРасчетовСКонтрагентом(Объект.Организация, Объект.Контрагент, Объект.ДоговорКонтрагента);
Если Объект.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда
Объект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
Объект.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
Объект.СчетУчетаРасчетовПоТаре = ПланыСчетов.Хозрасчетный.ПустаяСсылка();
Иначе
Объект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя;
Объект.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансовПокупателя;
Объект.СчетУчетаРасчетовПоТаре = СчетаУчета.СчетУчетаТарыПокупателя;
КонецЕсли;
Объект.СчетУчетаРасчетовПоТаре = СчетаУчета.СчетУчетаТарыПокупателя;
ДанныеОбъекта = Новый Структура("Дата, Организация, Склад, ЭтоКомиссия, Реализация");
ЗаполнитьЗначенияСвойств(ДанныеОбъекта, Объект);
ДанныеОбъекта.Реализация = Истина;
ДанныеОбъекта.ЭтоКомиссия = (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДоговорКонтрагента, "ВидДоговора")
= Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
СоответствиеСведенийОНоменклатуре = БухгалтерскийУчетПереопределяемый.ПолучитьСведенияОСпискеНоменклатуры(
ОбщегоНазначения.ВыгрузитьКолонку(Объект.Услуги, "Номенклатура", Истина), ДанныеОбъекта);
Для каждого СтрокаТЧ из Объект.Услуги Цикл
СведенияОНоменклатуре = СоответствиеСведенийОНоменклатуре.Получить(СтрокаТЧ.Номенклатура);
СчетаУчета = СведенияОНоменклатуре.СчетаУчета;
Если НЕ ДанныеОбъекта.ЭтоКомиссия Тогда
Если ЗначениеЗаполнено(СчетаУчета.СхемаРеализации) Тогда
СтрокаТЧ.СхемаРеализации = СчетаУчета.СхемаРеализации;
КонецЕсли;
КонецЕсли;
//++ noxvel
Если СтрокаТЧ.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
СтрокаТЧ.НалоговоеНазначение = Справочники.НалоговыеНазначенияАктивовИЗатрат.НДС_НеоблагаемаяХозДеятельность;
Иначе
Если ЗначениеЗаполнено(СчетаУчета.НалоговоеНазначение) Тогда
СтрокаТЧ.НалоговоеНазначение = СчетаУчета.НалоговоеНазначение;
КонецЕсли;
КонецЕсли;
//Если ЗначениеЗаполнено(СчетаУчета.НалоговоеНазначение) Тогда
// СтрокаТЧ.НалоговоеНазначение = СчетаУчета.НалоговоеНазначение;
//КонецЕсли;
//--
Если ЗначениеЗаполнено(СчетаУчета.НалоговоеНазначениеДоходовИЗатрат) Тогда
СтрокаТЧ.НалоговоеНазначениеДоходовИЗатрат = СчетаУчета.НалоговоеНазначениеДоходовИЗатрат;
КонецЕсли;
КонецЦикла;
Выполнить(Алгоритмы.ЗаполнитьСчетаУчетаРасчетов);
//Занесем данные об объекте в таблицу отложенной обработки
НоваяСтрока = Параметры.ЗагруженныеОбъекты.Добавить();
НоваяСтрока.ИмяПКО = "РТУ_ПродажаТоваровУслуг";
НоваяСтрока.Объект = Объект;
НоваяСтрока.Параметры = ПараметрыОбъекта;
КонецЕсли;
ПоказатьМой реквизит называется - АдресКонтрагента, это справочник
В общем итог следствия - проблема была в договоре контрагента, который был с типом "с поставщиком", а В РТУ он естественно должен быть "с покупателем". в итоге, скорее всего при выборке счетов учета в Бух базе, что-то не так срабатывало. Как они его вообще выбрали в документе, одному Ктулху известно.
В итоге убито несколько дней на какую-то дичь. Почему в 1С до сих пор нет нормального способа дебагинга проблем при перекачке данных, я не понимаю, зато есть целый мессенджер.
В итоге убито несколько дней на какую-то дичь. Почему в 1С до сих пор нет нормального способа дебагинга проблем при перекачке данных, я не понимаю, зато есть целый мессенджер.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот