Конвертация данных, Виды субконто
30.10.2014
12:01
#1
На примере:
Переносится документ "Поступление товаров и услуг" из УПП в БП.
В табличной части "Услуги" имеется набор реквизитов СчетЗатрат, Субконто1, Субконто2, Субконто3
Пусть счет затрат = 26
В УПП виды субконто счета = Подразделения, Статьи затрат
В БП виды субконто счета = Статьи затрат
То есть, при переносе "документ в документ" надо значение реквизита Субконто2 источника затолкать в Субконто1 приемника в данном примере.
Так вот... Вопрос в чем? Не могу найти как вообще на стороне источника при выгрузке получить сведения о том какие виды субконто есть на стороне приемника. Сделал пока это место "некрасиво", а вот как сделать грамотно, хотел и узнать.
Переносится документ "Поступление товаров и услуг" из УПП в БП.
В табличной части "Услуги" имеется набор реквизитов СчетЗатрат, Субконто1, Субконто2, Субконто3
Пусть счет затрат = 26
В УПП виды субконто счета = Подразделения, Статьи затрат
В БП виды субконто счета = Статьи затрат
То есть, при переносе "документ в документ" надо значение реквизита Субконто2 источника затолкать в Субконто1 приемника в данном примере.
Так вот... Вопрос в чем? Не могу найти как вообще на стороне источника при выгрузке получить сведения о том какие виды субконто есть на стороне приемника. Сделал пока это место "некрасиво", а вот как сделать грамотно, хотел и узнать.
Ответили:
пост #2
30.10.2014
15:16
#2
Ответ на
пост №1
Thorvardr, зачем это делать на стороне "Источника"? Выгрузил что есть, а уже при загрузке разбираешь что тебе нужно, а что нет. 30.10.2014
15:47
#3
Думал и так сделать.
Но тоже неудобно и сложно там получается.
Обработчик "При загрузке" отрабатывает в целом для Объекта, т.е., в моем случае, для документа. Но нет обработчика "После загрузки элемента коллекции", а моя россыпь субконто - это элементы коллекции (табличная часть). То есть, предлагается, похоже, передать сведения о значениях субконто и их видах как параметры, чтобы их движок явно не пытался сам в какие то реквизиты положить, а потом "При загрузке" как то снова обратиться к xml объекту (там в справке по обработчику есть пример) и вынуть оттуда коллекцию и снова перебрать ее и найти место всем значениям. Это еще некрасивее чем то что я сделал будет
Но тоже неудобно и сложно там получается.
Обработчик "При загрузке" отрабатывает в целом для Объекта, т.е., в моем случае, для документа. Но нет обработчика "После загрузки элемента коллекции", а моя россыпь субконто - это элементы коллекции (табличная часть). То есть, предлагается, похоже, передать сведения о значениях субконто и их видах как параметры, чтобы их движок явно не пытался сам в какие то реквизиты положить, а потом "При загрузке" как то снова обратиться к xml объекту (там в справке по обработчику есть пример) и вынуть оттуда коллекцию и снова перебрать ее и найти место всем значениям. Это еще некрасивее чем то что я сделал будет

30.10.2014
16:39
#4
Пока до дома рулил, вот что придумал.
Можно перенести значения как есть, то есть, Субконто1 в Субконто1, Субконто2 в Субконто2, Субконто3 в Субконто3.
А потом на стороне приемника посмотреть на них и если надо подчистить, переставить на нужные места или дополнить как то. Это проще, но есть небольшой минус, при таком подходе в приемник "мусор" пойдет, то есть, значения аналитики, которые постобработкой все время будут чиститься, но в справочниках все равно будут появляться. Идеально все таки - прямо в момент подготовки данных в источнике уже знать как надо все расставить по местам, чтобы в приемник четко вошло. Так я и сделал, но уж слишком экзотический способ вышел. Удивлен я был, что нет в КД сведений о том какая аналитика по счетам в базе приемнике раскрыта. Думал, что плохо смотрю.
Можно перенести значения как есть, то есть, Субконто1 в Субконто1, Субконто2 в Субконто2, Субконто3 в Субконто3.
А потом на стороне приемника посмотреть на них и если надо подчистить, переставить на нужные места или дополнить как то. Это проще, но есть небольшой минус, при таком подходе в приемник "мусор" пойдет, то есть, значения аналитики, которые постобработкой все время будут чиститься, но в справочниках все равно будут появляться. Идеально все таки - прямо в момент подготовки данных в источнике уже знать как надо все расставить по местам, чтобы в приемник четко вошло. Так я и сделал, но уж слишком экзотический способ вышел. Удивлен я был, что нет в КД сведений о том какая аналитика по счетам в базе приемнике раскрыта. Думал, что плохо смотрю.
Ответили:
пост #5
30.10.2014
17:35
#5
Ответ на
пост №4
Thorvardr, вообще это нормальная практика после выгрузки объекта в отдельный узел довыгружать такие сложные данные и после загрузки считывать эти данные и дополнять ими созданный объект. При чем с точки зрения механизма работы загрузки данных это ни чем не будет отличаться от чтения той же коллекции. 07.11.2014
21:17
#6
Я отбился от текучки и снова вернулся к этой задачке. Все получилось в лучшем виде.
Сведения о видах субконто источника и значениях субконто я выгрузил как "выгрузка в параметр".
На стороне приемника в обработчике "При загрузке" поймал все эти параметры, и разложил их по требуемым реквизитам табличной части с анализом соответствий пришедших видов субконто и тех, что есть в приемнике.
Спасибо, в общем.
Сведения о видах субконто источника и значениях субконто я выгрузил как "выгрузка в параметр".
На стороне приемника в обработчике "При загрузке" поймал все эти параметры, и разложил их по требуемым реквизитам табличной части с анализом соответствий пришедших видов субконто и тех, что есть в приемнике.
Спасибо, в общем.
Ответили:
пост #7
Читают тему
(гостей: 1)