В обработке КонвертацияОбъектовИнформационныхБаз в конфигурации
Бухгалтерия КОРП МСФО (3.1.17.20) (http://v8.1c.ru/buh8corp/)
Copyright (С) ООО "1C-Софт", 2009 - 2022. Все права защищены
(http://www.1c.ru)
Компания 1С добавила фикс, в методе ПрочитатьОбъект.
// Обход ошибки платформы 30178033.
// Порядок субконто в записи регистра бухгалтерии не соответствует порядку,
// который указан в счете учета.
УстранитьОшибкуНазначенияВидаСубконто(ЗагруженныеДвижения);
Суть фикса в корректировки порядке Вида Субконто.
Компания 1с выпустила фикс, который упорядочивает субконто в соответствии с порядоком в базе приемнике. Но алгоритм фикса написан криво, в следствии чего субконто Дт может переехать в Кт. В код внесены изменения в следствии чего фикс выполняет свою задачу.
Исправленный код
ЕстьОшибка = Ложь;
ЗначенияДоИсправления = Новый Соответствие;
ПроверитьКоллекциюСубконто(СтрокаТаблицы, ЗначенияДоИсправления, "Дт", ЕстьОшибка);
ПроверитьКоллекциюСубконто(СтрокаТаблицы, ЗначенияДоИсправления, "Кт", ЕстьОшибка);
Если ЕстьОшибка Тогда
Для каждого ЭлементСоответствия Из ЗначенияДоИсправления Цикл
ОписаниеСубконто = ЭлементСоответствия.Значение;
Если НЕ ОписаниеСубконто.ЕстьОшибка Тогда
Продолжить;
КонецЕсли;
ФильтрДтКтЭлементСоответствия = Лев(ЭлементСоответствия.Ключ,2);
ИмяВидаСубконтоИсправляемого = "ВидСубконто" + ЭлементСоответствия.Ключ;
Для каждого АльтернативныйЭлемент Из ЗначенияДоИсправления Цикл
АльтернативноеОписание = АльтернативныйЭлемент.Значение;
Если НЕ АльтернативноеОписание.ЕстьОшибка
ИЛИ ЭлементСоответствия.Ключ = АльтернативныйЭлемент.Ключ Тогда
Продолжить;
КонецЕсли;
ФильтрДтКтАльтернативныйЭлемент = Лев(АльтернативныйЭлемент.Ключ,2);
Если ФильтрДтКтЭлементСоответствия <> ФильтрДтКтАльтернативныйЭлемент Тогда
Продолжить;
КонецЕсли;
ТипЗначенияСубконто = СтрокаТаблицы[ИмяВидаСубконтоИсправляемого].ТипЗначения;
Если СтрокаТаблицы[ИмяВидаСубконтоИсправляемого] = АльтернативноеОписание.ВидСубконто
И ТипЗначенияСубконто.СодержитТип(ТипЗнч(АльтернативноеОписание["Субконто"])) Тогда
СтрокаТаблицы["Субконто" + ЭлементСоответствия.Ключ] = АльтернативноеОписание["Субконто"];
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;