|
Конвертация контактных данных в регистр сведений | ☑ | ||
---|---|---|---|---|
0
manti
21.05.13
✎
15:53
|
Делаю перенос/конвертацию из конфигурации SynExp: Конкурентные закупки в УПП 1.3.
Необходимо перенести контакты из спр. Контрагенты источника в регистр сведений контактная информация приемника . Делаю таким образом: Создаю новое ПКО КонтактнаяИнформация источник: СправочникСсылка.Контрагенты, приемник: РегистрСведенийЗапись.КонтактнаяИнформация. Далее создаю ПКС для получения источника, источник у ПКС - ПолноеНаименование, правило - контрагенты. И при выгрузке в ПКС такой код: Если Не Источник.ЭтоГруппа Тогда Отбор = Новый Структура("Объект"); Отбор.Объект = Источник.Ссылка; Сообщить(Отбор); ВыборкаИнформации = РегистрыСведений.КонтактнаяИнформация.Выбрать(Отбор); Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); Запись.Объект = Источник.Ссылка; Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; Запись.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; Запись.Представление = Источник.ЮридическийАдрес; Запись.Записать(); Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление); Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); Запись.Объект = Источник.Ссылка; Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; Запись.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; Запись.Представление = Источник.ФактическийАдрес; Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление); Запись.Записать(); Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); Запись.Объект = Источник.Ссылка; Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон; Запись.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента; Запись.Представление = Источник.Телефон; Запись.Записать(); Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление); Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); Запись.Объект = Источник.Ссылка; Запись.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты; Запись.Вид = Справочники.ВидыКонтактнойИнформации.EmailФизЛица; Запись.Представление = Источник.ЭлектроннаяПочта; Запись.Записать(); Сообщить("Дополнен контрагент " + Источник.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Пердставление); КонецЕсли http://s2.ipicture.ru/uploads/20130521/5a6ShQRM.jpg http://s1.ipicture.ru/uploads/20130521/acq3J0fY.jpg Тоесть в источнике у нас в спр контрагенте есть факт адрес, юр адрес, телефн и почта. Эти данные нужно по объету перенсти в регист сведений контактная информация. При выгрузке по правилам пишет ошибку: http://s1.ipicture.ru/uploads/20130521/2qhWNuM5.jpg Также пробую делать через параметр: В ПКО контрагенты создаю ПКС с источником ЮридическийАдрес - флажок передавать данные в параметр. Далее в ПКО контрагенты псоле загрузки пишу : Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); Запись.Объект = Объект.Ссылка; Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; Запись.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; Запись.Представление = ПараметрыОбъекта.ЮридическийАдрес; Запись.Записать(); При загрузке ошибка: Ошибка в обработчике события ПослеЗагрузкиОбъекта ИмяПКО = Контрагенты ТипОбъекта = Контрагент Объект = Конвейерное машиностроение Обработчик = ПослеЗагрузкиОбъекта ОписаниеОшибки = Поле объекта не обнаружено (ЮридическийАдрес) ПозицияМодуля = (13) КодСообщения = 21 Как можно перенести в регистр? |
|||
1
manti
21.05.13
✎
15:56
|
Обший вид конвертации:
http://s1.ipicture.ru/uploads/20130521/1ir1W7Jv.jpg |
|||
2
Alex S D
21.05.13
✎
16:04
|
чет ты намутил много лишнего и ненужного
В обработчике ПриВыгрузке контрагента формируешь структуру со всеми полями контактной информации, затем , там же ВыгрузитьПоПравилу(СтруктураДанных,,,,"КонтактнаяИнформация"); Создаешь правило ПКО КонтактнаяИнофрмация,в ПКС все поля с пустым источником все |
|||
3
manti
21.05.13
✎
16:52
|
(2) пропробовал таким образом:
Правила http://s1.ipicture.ru/uploads/20130521/SEZASRZf.jpg ПКО http://s2.ipicture.ru/uploads/20130521/lWcSRFhU.jpg Ошибка http://s1.ipicture.ru/uploads/20130521/0VWKTxpu.jpg Чего то не хватает)) |
|||
4
zak555
21.05.13
✎
16:54
|
(2) не сработает, но что-то в модуля прописать
а лучше сделать пгкс |
|||
5
lxndr
21.05.13
✎
16:55
|
(3) v8 не умеет "СоздатьОбъект()"
|
|||
6
Alex S D
21.05.13
✎
16:58
|
СтруктураДанных = Новый Структура;
... СтруктураДанных.Вставить("Объект",Источник.Ссылка) ... |
|||
7
Alex S D
21.05.13
✎
16:59
|
+ там еще "Вид" есть
|
|||
8
Alex S D
21.05.13
✎
17:00
|
(4) у меня все работает
|
|||
9
Alex S D
21.05.13
✎
17:08
|
и Источник в ПКО КонтактнаяИнформация убери
|
|||
10
manti
21.05.13
✎
17:10
|
(8) требуется перенести Юр адрес, факт адрес, телефон, е-маил, как это все прописать то? в ПКО контрагенты пишу:
Если не Источник.ЭтоГруппа Тогда СтруктураДанных = Новый Структура; СтруктураДанных.Вставить("Представление", Источник.ЮридическийАдрес); СтруктураДанных.ДобавитьЗначение("Объект", Источник.Ссылка); СтруктураДанных.ДобавитьЗначение( "Тип", "Адрес"); ВыгрузитьПоПравилу(СтруктураДанных,,,,"КонтактнаяИнформация"); КонецЕсли Пишет метод объекта не обнаружен "Добавить знаение", может как то через параметр передавать? |
|||
11
manti
21.05.13
✎
17:11
|
(9) нет источника, скрин прикладывал выше))
|
|||
12
Alex S D
21.05.13
✎
17:13
|
(11) объект - источник: СправочникСсылка.Контрагенты
Это не источник? блин, СтруктураДанных это структура, метод "Вставить" Используй для всех полей |
|||
13
hhhh
21.05.13
✎
17:13
|
(11) справа сверху щелкни, где 26 кейсов, там у ребят есть бесплатные уроки по конвертации, и как раз эта задача есть.
|
|||
14
Alex S D
21.05.13
✎
17:17
|
Для юр.адреса:
СтруктураДанных = Новый Структура; СтруктураДанных.Вставить("Представление", Источник.ЮридическийАдрес); СтруктураДанных.Вставить("Объект", Источник.Ссылка); СтруктураДанных.Вставить( "Тип", "Адрес"); СтруктураДанных.Вставить( "Вид", "ЮрАдресКонтрагента"); ВыгрузитьПоПравилу(СтруктураДанных,,,,"КонтактнаяИнформация"); |
|||
15
manti
21.05.13
✎
17:40
|
(13) где это найти? дайте ссылку плиз
(14) При выгрузке в ПКО контрагенты прописал: Если не Источник.ЭтоГруппа Тогда СтруктураДанных = Новый Структура; СтруктураДанных.Вставить("Представление", Источник.ЮридическийАдрес); СтруктураДанных.Вставить("Объект", Источник.Ссылка); СтруктураДанных.Вставить( "Тип", "Адрес"); СтруктураДанных.Вставить( "Вид", "ЮрАдресКонтрагента"); ВыгрузитьПоПравилу(СтруктураДанных,,,,"КонтактнаяИнформация"); СтруктураДанных = Новый Структура; СтруктураДанных.Вставить("Представление", Источник.ФактическийАдрес); СтруктураДанных.Вставить("Объект", Источник.Ссылка); СтруктураДанных.Вставить( "Тип", "Адрес"); СтруктураДанных.Вставить( "Вид", "ФактАдресКонтрагента"); ВыгрузитьПоПравилу(СтруктураДанных,,,,"КонтактнаяИнформация"); СтруктураДанных = Новый Структура; СтруктураДанных.Вставить("Представление", Источник.Телефон); СтруктураДанных.Вставить("Объект", Источник.Ссылка); СтруктураДанных.Вставить( "Тип", "Телефон"); СтруктураДанных.Вставить( "Вид", "ТелефонКонтрагента"); ВыгрузитьПоПравилу(СтруктураДанных,,,,"КонтактнаяИнформация"); СтруктураДанных = Новый Структура; СтруктураДанных.Вставить("Представление", Источник.ЭлектроннаяПочта); СтруктураДанных.Вставить("Объект", Источник.Ссылка); СтруктураДанных.Вставить( "Тип", "АдресЭлектроннойПочты"); СтруктураДанных.Вставить( "Вид", "EmailФизЛица"); ВыгрузитьПоПравилу(СтруктураДанных,,,,"КонтактнаяИнформация"); КонецЕсли Вроде все нормально переносится, но вид в УПП пишется в виде ЮрАдресКонтрагента, тогда как нужн Юридический адрес контрагента. СтруктураДанных.Вставить( "Вид", "ЮрАдресКонтрагента"); заменяю на СтруктураДанных.Вставить( "Вид", Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента); но при выгрузке это недоступно, поскольку находится в применике. Как быть? |
|||
16
Alex S D
21.05.13
✎
17:44
|
(15) "ЮрАдресКонтрагента" и "ФактАдресКонтрагента" вроде предопределенные элементы , должно так сработать.. не заполняется чтоли?
|
|||
17
Alex S D
21.05.13
✎
17:45
|
аа, понял
|
|||
18
manti
21.05.13
✎
17:51
|
(17) вот и дойдем до события при загрузке, а там параметром нужно адреса и явки передавать, вопрос как параметром грамотно?
|
|||
19
Alex S D
21.05.13
✎
17:52
|
не уверен, но попробуй так:
в ПКС "Вид" в ПКО КонтактнаяИнформация: Перед Выгрузкой: Выражение = "Справочник.ВидыКонтактнойИнформации."+Источник.Вид; |
|||
20
manti
21.05.13
✎
18:03
|
(19) источника нет поэтому не прокатит(
|
|||
21
manti
21.05.13
✎
18:05
|
поле объекта не обнаружено ВИД
|
|||
22
acsent
21.05.13
✎
18:06
|
смотри перенос ут11>бп2
|
|||
23
Alex S D
21.05.13
✎
18:08
|
а так?))
не уверен, но попробуй так?)): в ПКС "Вид" в ПКО КонтактнаяИнформация: Перед Выгрузкой: Выражение = "Справочник.ВидыКонтактнойИнформации."+ОбъектКоллекции.Вид; |
|||
24
bazvan
21.05.13
✎
18:08
|
(22) или бух 77 бп8
|
|||
25
Alex S D
21.05.13
✎
18:09
|
да там, лажа, легко делается, влом пробовать
|
|||
26
manti
21.05.13
✎
18:12
|
(23) все равно значение не является объектным типом - ВИД. Как же правильно то будет?
|
|||
27
manti
22.05.13
✎
11:48
|
(22) (24) там через алгоритм - слелано уж слишком мудрено.
(25) возможно ли через параметр перенести? |
|||
28
Alex S D
22.05.13
✎
11:49
|
(27) можно, через входящиеданные еще попробовать
|
|||
29
manti
22.05.13
✎
11:51
|
(28) я вначале пробовал, не знаю как получить этот параметр, ругается что нет такго - в теме еще писал)
|
|||
30
manti
22.05.13
✎
12:55
|
Товарищи, оказывается ларчик то просто открывался:
Запись = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); Запись.Объект = Объект.Ссылка; Запись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; Запись.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; Запись.Представление = ПараметрыОбъекта.Получить("ЮридическийАдрес"); //ПараметрыОбъекта.ЮридическийАдрес; Запись.Записать(); Сообщить("Дополнен контрагент " + Объект.Ссылка+ " "+Запись.Тип + " "+ Запись.Вид + " " + Запись.Представление); Получение параметра: ПараметрыОбъекта.Получить("ЮридическийАдрес"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |