|
Конвертация данных. .Перенос ТЧ в регистр сведений | ☑ | ||
---|---|---|---|---|
0
Wefast
22.10.15
✎
15:11
|
Собственно есть БСО 3.0 и УСО
в БСО контактная информация контрагентов в виде табличной части. А в УСО в виде регистра сведений В идеале хотелось бы узнать конкретно что куда написать и добавить. Но сойдет и пример правил типовых. Потому пока нашел только с обратным переносом |
|||
1
MadJhey
22.10.15
✎
15:30
|
Какая разница откуда выбирать данные. Запросом получил поля из табличной части. Результат передал в выгрузитьПоПравилу.
|
|||
2
MadJhey
22.10.15
✎
15:32
|
Запрос = Новый Запрос("
|ВЫБРАТЬ | КонтактнаяИнформация.Тип, | КонтактнаяИнформация.Вид, | КонтактнаяИнформация.Представление, | КонтактнаяИнформация.Поле1, | КонтактнаяИнформация.Поле2, | КонтактнаяИнформация.Поле3, | КонтактнаяИнформация.Комментарий |ИЗ | Справочник.Контрагенты.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Ссылка= &Ссылка"); Запрос.УстановитьПараметр("Объект", Источник); Выборка = Запрос.Выполнить().Выбрать(); Сообщить(Выборка.Количество()); Пока Выборка.Следующий() Цикл ВыгрузитьПоПравилу(Выборка, , , , "КонтактнаяИнформация"); КонецЦикла; |
|||
3
MadJhey
22.10.15
✎
15:33
|
В ПКО регистра сведений должны совпадать поля выборки и РС.
|
|||
4
Wefast
22.10.15
✎
16:34
|
(3) а куда этот запрос пихать? В событие после выгрузки?
|
|||
5
Wefast
22.10.15
✎
17:43
|
Ладко у ПКО при выгрузке написал вот что:
Если Источник.КонтактнаяИнформация.Количество() > 0 Тогда ИсходящиеДанные = Новый Структура("Период, Объект, Тип, Вид, Поле1,Поле2,Поле3,Поле4,Поле5,Поле6,Поле7,Поле8,Поле9,Поле10, Представление,Комментарий,ЗначениеПоУмолчанию,ТипДома,ТипКорпуса,ТипКвартиры"); Для Каждого ТекСтрока Из Источник.КонтактнаяИнформация Цикл ИсходящиеДанные.Объект = Источник; ИсходящиеДанные.Тип = ТекСтрока.Тип; ИсходящиеДанные.Вид = ТекСтрока.Вид; ИсходящиеДанные.Представление = ТекСтрока.Представление; ИсходящиеДанные.ЗначениеПоУмолчанию = ЛОЖЬ; Если ЗначениеЗаполнено(ТекСтрока.НомерТелефона) Тогда ИсходящиеДанные.Поле3 = ТекСтрока.НомерТелефона; КонецЕсли; ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"КИ_регистр"); КонецЦикла; КонецЕсли; Создал ПКО где источника нет, а приемник регистр В ПКС добавил все эти поля И вроде работает. Теперь я переношу из другой баз в этой же регистр. И переношу уже из такого же регистра. Они идентичны. И вот я не пойму мне нужно просто сделать ПКО для регистра указав и источник и приемник? Поиск при этом же надо по всем полям наверное вести и проблема в том, что измерение Объект имеет составной тип данных. И в ПКС правило конвертации не проставляется, ведь нужно для каждого типа наверное свое правило. Как быть? Может мне в какое то событие добавить проверку на тип данных и выполнять функцию ВыгрузитьПоПравилу? Или еще что то сделать? |
|||
6
MadJhey
22.10.15
✎
17:56
|
(5) можно и так, мой вариант будет по быстрее.
"Теперь я переношу из другой баз в этой же регистр. И переношу уже из такого же регистра. Они идентичны. " не понятно. |
|||
7
MadJhey
22.10.15
✎
17:56
|
у ПКО рс нет полей поиска
|
|||
8
MadJhey
22.10.15
✎
18:01
|
змерение Объект имеет составной тип данных. И в ПКС правило конвертации не проставляется, ведь нужно для каждого типа наверное свое правило.
Подберет сама, при условии, что эти правила определены. Либо самостоятельно, в перед выгрузкой ПКС переопределить ИмяПКО. если источник вид = номенклатура то ИмяПКО = ... |
|||
9
MadJhey
22.10.15
✎
18:06
|
(4) пихать можно куда угодно. где есть контрагент. Но лучше сделать отдельную выборку данных.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |