Привет!
Многие знают ТиС 9 и Бух 4.5
В ТиС 9 Контрагенты имеют справочник ЮрФизЛицо, который троит в ЮрЛица, ФизЛица и СвоиЮрЛица
Нужно выгрузить Контрагента ТиС в Контрагента Бух.
Скажем реквизит ИНН.
Можно создать правило " -> ИНН" и в скрипте писать что-то вроде
"Возврат Источник.ЮрФизЛицо.ИНН;" со всеми проверками "Если Выбран() ..."
Я сделал Правило "ЮрФизЛицо -> ИНН" с условием, что этот реквизит заполнен. И дальше выгрузка по правилу "Справочник -> Строка".
При том, что вроде у строки нет реквизитов поиска и прочего, что дает возможность перегружать объекты агрегатных типов друг в друга. У правила "Справочник -> Строка" есть закладка "Преобразование, переадресация". И вот оказывается достаточно на этой закладке указать преобразование: "Источник.ИНН" - как выгрузка работает.
А вот с полным наименованием выдает ошибку.
Потому как в обработке выгрузки вот такой код
ВыборкаУзловЗначений = Правило.ВыбратьУзлы("Значение[@Источник=""" + ИдОбъектаИсточника + """]");
отрабатывает некорректно при наличии кавычек в ИдОбъектаИсточника.
Заплатка такая:
ВыборкаУзловЗначений = Правило.ВыбратьУзлы("Значение[@Источник=""Чухня""]");
Если Найти(ИдОбъектаИсточника,"""") > 0 Тогда
Иначе
ВыборкаУзловЗначений = Правило.ВыбратьУзлы("Значение[@Источник=""" + ИдОбъектаИсточника + """]");
КонецЕсли;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.