Конвертация свойства справочника строкового типа в реквизит составного типа

1. Jestery 02.08.18 23:37 Сейчас в теме
Доброго времени суток всем. Подскажите пож что я делаю не так.
Конвертация данных 2. Есть ПКО из справочника Работники одной базы в справочник "Работники" другой базы. В базе-источнике реквизит "ПричинаУвольнения" имеет строковый тип данных, в то время как в приемнике этот реквизит составного типа и может быть как строкой, так и перечислением с двумя значениями "ПоСобственномуЖеланию" или "ЗаПрогул". Соответственно настроено ПКС ПричинаУвольнения -> ПричинаУвольнения. В обработчике "ПередВыгрузкой" помещен следующий код:

Если НЕ Источник.ЭтоГруппа Тогда
	
	ПричинаУвольнения = ВРег(Источник.ПричинаУвольнения);
	
	Если Найти(ПричинаУвольнения,"ПРОГУЛ") Тогда
		ТипПриемника = "ПеречислениеСсылка.ПричиныУвольнения";
		Значение = "ЗаПрогул";
	ИначеЕсли Найти(ПричинаУвольнения,"СОБСТВЕННОМУ") Тогда
		ТипПриемника = "ПеречислениеСсылка.ПричиныУвольнения";
		Значение = "ПоСобственномуЖеланию";
	Иначе
		ТипПриемника = "Строка";
		Значение = Источник.ПричинаУвольнения;
	КонецЕсли;
	
КонецЕсли;      
Показать


Вроде бы в базу приемник строки, имеющие внутри себя "ПРОГУЛ" или "СОБСТВЕННОМУ" должны переноситься как значения перечисления, но этого не происходит. В конечную базу значение попадает всегда в виде строки "ЗаПрогул" или "ПоСобственномуЖеланию". В чем здесь может быть причина?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user705522_constantin_h 36 02.08.18 23:55 Сейчас в теме
(1)А ПКС ПричинаУвольнения без источника?
3. user603532_fan_club_chelsea 03.08.18 06:27 Сейчас в теме
(1) попробуй так может поможет..."ПеречислениеСсылка.ПричиныУвольнения.ЗаПрогул"...

или же на каждый Приемник создать свой источник... Перед выгрузкой написать что то типа... Если Источник <> "Прогул" тогда отказ конец если; во втором аналогично...
6. khiliy 04.09.20 14:39 Сейчас в теме
(1) У меня была такая же проблема.
Решение, перед выгрузкой данных в обработке V8Exchan82.epf:
на вкладке Дополнительные настройки убрать галочку "Использовать оптимизированный формат для обмена данными (V8 - V8, версия обработки не ниже 2.0.18)"
Прикрепленные файлы:
_DaFNa_; user1252779; +2 Ответить
4. Jestery 12.08.18 19:18 Сейчас в теме
Хм, странно, попробовал сделать аналогичные действия в других базах, и заработало, т.е. код рабочий, однако проблема была с исходной и конечной конфигурацией в первом варианте. Какая именно пока так и не понял.
5. dmitrit 22 15.08.18 16:06 Сейчас в теме
Я так думаю что если в приемнике реквизит составного типа, то выгрузку надо делать более конкретно. Делать два варианта выгрузки ПКС для этого реквизита.
Для каждого варианта подставлять свое правило конвертации. Для каждого варианта в "ПередВыгрузкой" определять условия, по которому Отказ = Истина; так сказать блокировать работу правила... Может и не сильно по феншую, зато можно четко отследить работу каждго варианта
Оставьте свое сообщение

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