КД2 источник: строка, приемник: справочник

1. s_i_n_mail 29.08.13 16:42 Сейчас в теме
Помогите пожалуйста. Столкнулся с такой проблемой: из семерки выгружается элемент в виде строкового значения
-<Свойство Имя="Субконто1" Тип="Строка">
<Значение>Транспортные услуги</Значение>
</Свойство>
при загрузке необходимо найти нужный элемент справочника статьи затрат и присвоить ссылку на него в соответствующем документе, подскажите как это организовать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. andrewks 1375 29.08.13 16:49 Сейчас в теме
ну настройте ПКО в КД, в чём проблема?
3. s_i_n_mail 29.08.13 16:56 Сейчас в теме
настраиваю ПриЗагрузке(ПКО)
я как то неправильно обращаюсь к источнику,
пробую хотябы вывести значение
Сообщение(Источник.Субконто1);
выдаёт ошибку
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1620)}: Ошибка в обработчике события ПриЗагрузкеОбъекта
ИмяПКО = ПоступлениеТоваровУслугПрочее
ТипОбъекта = Поступление товаров и услуг
Объект = Поступление товаров и услуг П0000629 от 27.06.2013 12:19:58
Обработчик = ПриЗагрузкеОбъекта
ОписаниеОшибки = Значение не является значением объектного типа (Субконто1)
Как нужно?
4. andrewks 1375 29.08.13 17:39 Сейчас в теме
Вы метаданные приёмника загрузили? просто сопоставьте реквизиты
5. s_i_n_mail 29.08.13 17:53 Сейчас в теме
если Вы имеете ввиду наличие полей субконто1 в качестве приемника и источника во вкладке "конвертация свойств" для перегружаемого документа? То да, только тип данных источника и приемника неопределенные
вот
к сожалению после загрузки поле приемника остаётся пустым
6. s_i_n_mail 30.08.13 10:00 Сейчас в теме
наверняка есть простое решение в пару строк, ткните носом куда хоть копать
вот после загрузки к уже сформированным данным в приемнике можно обращаться через "Объект", а как в том же месте обратиться к источнику?
7. s_i_n_mail 30.08.13 16:07 Сейчас в теме
Извращённым способом, но хоть так у меня получилось считывать данные из xml при загрузке конвертации данных
на стороне приемника
ПКО передЗагрузкой
написал следующее:

Пока ФайлОбмена.Прочитать() Цикл

ИмяУзла = ФайлОбмена.ЛокальноеИмя;
ТипУзла = ФайлОбмена.ТипУзла;
Если ИмяУзла="Объект" Тогда
ИимяПравила = одАтрибут(ФайлОбмена, одТипСтрока, "ИмяПравила");
КонецЕсли;
Если ИмяУзла="Свойство" Тогда
ИимяСвойства = одАтрибут(ФайлОбмена, одТипСтрока, "Имя");
КонецЕсли;

Если (ИмяУзла = "Значение")И(ИимяПравила="ПоступлениеТоваровУслугПрочее")И(ИимяСвойства="Номер") Тогда
Изначение = одЗначениеЭлемента(ФайлОбмена, одТипСтрока);
КонецЕсли;
Если (ИмяУзла = "Значение")И(ИимяПравила="ПоступлениеТоваровУслугПрочее")И(ИимяСвойства="Субконто1") Тогда
Сообщить(ИимяПравила+" : "+ИимяСвойства+" : "+Изначение+" : "+одЗначениеЭлемента(ФайлОбмена, одТипСтрока));
КонецЕсли;

КонецЦикла;

в сообщениях хотя бы вижу нужные данные, но такие действия слишком вырвиглазны и ещё код написанный послезагрузки и призагрузке не отрабатывает и не ругается
10. insurgut 208 30.08.13 16:10 Сейчас в теме
(7) s_i_n_mail, книжку по конвертации хоть откройте, что вы мудрите то. Ваша задача полностью решается написанием правил конвертации объекта. Никакого кода не нужно.
8. insurgut 208 30.08.13 16:08 Сейчас в теме
Почему не создано правило конвертации вашего субконто в табличной части? Создаете ПКО Статьи затрат. Поиск по наименованию. В ТЧ соответственно указываете созданное вами правило.
14. s_i_n_mail 30.08.13 17:28 Сейчас в теме
(8)Как должно выглядеть правило? источник - статьиЗатрат, приемник - статьиЗатрат, а как обеспечить поиск по наименованию?
9. s_i_n_mail 30.08.13 16:09 Сейчас в теме
Есть ли более гуманный способ получения тех же результатов(без перебора всей выгрузки)?
11. s_i_n_mail 30.08.13 16:13 Сейчас в теме
insurgut, Я к моему стыду не знаю что там должно быть, то что было мной прочитано на просторах сети было слишком туманно и у меня не получилось переделать под свои нужды, могли бы Вы поподробней рассказать, как это сделать?
Или хотя бы на каких страницах книги Бояркина, описаны нужные мне вещи? Заранее спасибо!
12. insurgut 208 30.08.13 16:27 Сейчас в теме
(11) s_i_n_mail, да тут подробно не объяснить - я даже не знаю какой конкретно объект вы выгружаете. :) Я бы вам порекомендовал найти типовые правила переноса из 7.7 в УТ (или УПП например). В них с разбегу не разобраться, но день - два, и вы уже будете как рыба в воде :)
13. s_i_n_mail 30.08.13 16:34 Сейчас в теме
(12)Я как раз дорабатываю типовую переброску Tr9Ac820 в которую меня попросили добавить счета и субконто.
Со счетами у меня все прекрасно получилось, а вот с субконто - туго, выгрузку значения субконто вроде работает, в xml выгружается
вижу в xml
Для <Объект ИмяПравила="ПоступлениеТоваровУслугПрочее" Тип="ДокументСсылка.ПоступлениеТоваровУслуг" Нпп="12">

-<Свойство Имя="Субконто1" Тип="Строка">
<Значение>Транспортные услуги</Значение>
</Свойство>
но как его "подхватить" ума не приложу, вот и горожу всякие безобразия. Может есть наглядная конвертация с субкното?
15. insurgut 208 30.08.13 17:51 Сейчас в теме
Если вы знаете точно, что ваше субконто содержит только статьи затрат, то при выгрузке реквизита табличной части субконто делаете что-то вроде:

Значение = СоздатьОбъект("СписокЗначений");
Значение.Установить("Наименование", ОбъектКоллекции.Субконто.Значение);


Устанавливаете ПКО для этого реквизита, которое создаем вручную. В этом правиле приемник - справочник статьи затрат, источник пустой. Указываете 1 реквизит "Наименование" и поиск по нему ну все в принципе. Обязательно структура которую мы передаем должна соответствовать той, что мы создаем в ПКО. Значения сами найдут свое место.
nick_krsk; +1 Ответить
16. s_i_n_mail 31.08.13 14:36 Сейчас в теме
(15)Огромное Вам спасибо, все прекрасно получилось!
Оставьте свое сообщение

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