Конвертация свойства справочника строкового типа в реквизит составного типа
Доброго времени суток всем. Подскажите пож что я делаю не так.
Конвертация данных 2. Есть ПКО из справочника Работники одной базы в справочник "Работники" другой базы. В базе-источнике реквизит "ПричинаУвольнения" имеет строковый тип данных, в то время как в приемнике этот реквизит составного типа и может быть как строкой, так и перечислением с двумя значениями "ПоСобственномуЖеланию" или "ЗаПрогул". Соответственно настроено ПКС ПричинаУвольнения -> ПричинаУвольнения. В обработчике "ПередВыгрузкой" помещен следующий код:
Вроде бы в базу приемник строки, имеющие внутри себя "ПРОГУЛ" или "СОБСТВЕННОМУ" должны переноситься как значения перечисления, но этого не происходит. В конечную базу значение попадает всегда в виде строки "ЗаПрогул" или "ПоСобственномуЖеланию". В чем здесь может быть причина?
Конвертация данных 2. Есть ПКО из справочника Работники одной базы в справочник "Работники" другой базы. В базе-источнике реквизит "ПричинаУвольнения" имеет строковый тип данных, в то время как в приемнике этот реквизит составного типа и может быть как строкой, так и перечислением с двумя значениями "ПоСобственномуЖеланию" или "ЗаПрогул". Соответственно настроено ПКС ПричинаУвольнения -> ПричинаУвольнения. В обработчике "ПередВыгрузкой" помещен следующий код:
Если НЕ Источник.ЭтоГруппа Тогда
ПричинаУвольнения = ВРег(Источник.ПричинаУвольнения);
Если Найти(ПричинаУвольнения,"ПРОГУЛ") Тогда
ТипПриемника = "ПеречислениеСсылка.ПричиныУвольнения";
Значение = "ЗаПрогул";
ИначеЕсли Найти(ПричинаУвольнения,"СОБСТВЕННОМУ") Тогда
ТипПриемника = "ПеречислениеСсылка.ПричиныУвольнения";
Значение = "ПоСобственномуЖеланию";
Иначе
ТипПриемника = "Строка";
Значение = Источник.ПричинаУвольнения;
КонецЕсли;
КонецЕсли;
ПоказатьВроде бы в базу приемник строки, имеющие внутри себя "ПРОГУЛ" или "СОБСТВЕННОМУ" должны переноситься как значения перечисления, но этого не происходит. В конечную базу значение попадает всегда в виде строки "ЗаПрогул" или "ПоСобственномуЖеланию". В чем здесь может быть причина?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) У меня была такая же проблема.
Решение, перед выгрузкой данных в обработке V8Exchan82.epf:
на вкладке Дополнительные настройки убрать галочку "Использовать оптимизированный формат для обмена данными (V8 - V8, версия обработки не ниже 2.0.18)"
Решение, перед выгрузкой данных в обработке V8Exchan82.epf:
на вкладке Дополнительные настройки убрать галочку "Использовать оптимизированный формат для обмена данными (V8 - V8, версия обработки не ниже 2.0.18)"
Прикрепленные файлы:
![](/upload/forum/upload/e7b/e7b1574316bec4a96318e6d5a2ce6b4d.jpg)
Я так думаю что если в приемнике реквизит составного типа, то выгрузку надо делать более конкретно. Делать два варианта выгрузки ПКС для этого реквизита.
Для каждого варианта подставлять свое правило конвертации. Для каждого варианта в "ПередВыгрузкой" определять условия, по которому Отказ = Истина; так сказать блокировать работу правила... Может и не сильно по феншую, зато можно четко отследить работу каждго варианта
Для каждого варианта подставлять свое правило конвертации. Для каждого варианта в "ПередВыгрузкой" определять условия, по которому Отказ = Истина; так сказать блокировать работу правила... Может и не сильно по феншую, зато можно четко отследить работу каждго варианта
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот