|
КД перенос справочниа КонтактныеЛица | ☑ | ||
---|---|---|---|---|
0
Wefast
24.11.15
✎
03:33
|
БСО => УСО(на основе УПП)
В БСО это просто справочник с ссылкой на контрагента. В УСО же это два справочниа и регистр сведений. В КонтактноеЛицоКонтрагентов указывается контактное лицо и ссылка на контрагента. В контактном лице есть таб часть(регистр) в которой не понятно что за инфа. Там можно указать период, контрагента, КЛ контрагента и дату увольненияю. Как это относится к КЛ не ясно. На регистр я решил забить пока. Не уверен что туда нужно что то переносить. В ПКО КонтактныеЛицаКонтрагентов (КонтактныеЛица => КЛКонтрагентов) в событие при выгрузке я пишу: Если Справочники.КонтактныеЛица.НайтиПоНаименованию(Объект.Наименование) <> Справочники.КонтактныеЛица.ПустаяСсылка() Тогда КЛ = Справочники.КонтактныеЛица.СоздатьЭлемент(); Кл.Фамилия = Объект.Фамилия; Кл.Имя = Объект.Имя; Кл.Наименование = Объект.Наименование; Кл.Отчество = Объект.Отчество; КЛ.Пол = Объект.Пол; Кл.ПометкаУдаления = Объект.ПометкаУдаления; Кл.Фамилия = Объект.Фамилия; Кл.Записать(); Объект.ОбъектВладелец = Кл.Ссылка; КонецЕсли; Ну и в общем ошибок не выдает. Но и элементы справочника КЛ не создает. |
|||
1
Альбатрос
24.11.15
✎
05:39
|
(0) Посмотри типовой пример КД 1 в 2
|
|||
2
Альбатрос
24.11.15
✎
05:40
|
И чо ты там в ПриВыгрузке создаешь?
|
|||
3
cw014
24.11.15
✎
07:14
|
(2) +1
|
|||
4
cw014
24.11.15
✎
07:15
|
У тебя у Источника и приемника одинаковые поля. Сделай нормальную ПКО, без извратов
|
|||
5
Wefast
24.11.15
✎
09:53
|
(2) Контактное лицо создаю, и записываю ссылку нового КЛ в КЛК
(4) Да, но контактные лица там спрошлые имена без отчеств и фамилий. Повторяются. Мне надо чтобы КЛК и КЛ создавались вместе и связывались между собой. Мне нужно сделать: Создать ПКС. Источник - поставить галочку получить данные из вх данных. Приемник поставить нужный мне реквизит( Контактное лицо) и правило указать (Контактные лица => Контактные лица)? Где то нужно указать что он будет искать по этом правилу, какое именно контактное лицо. Но как? (Думаю уникальность контактного лица в источнике можно узнать по дате рождения, контрагенте и имени.) |
|||
6
Альбатрос
24.11.15
✎
10:04
|
Я них*я не понял. В источнике у тебя один справочник "Контактные лица". В приемнике что?
|
|||
7
Альбатрос
24.11.15
✎
10:05
|
и хорош сокращать, ни хрена не понятно
|
|||
8
Wefast
24.11.15
✎
10:06
|
(6) в источника Контактные лица, в приемнике Контактные лица и Контактные лица контрагентов. Во второй есть ссылка на первый.
|
|||
9
Альбатрос
24.11.15
✎
10:10
|
(8)
1. Делаешь два ПКО - "Контактные лица" и "Контактные лица контрагентов" 2. В ПКО "Контактные лица контрагентов" у тебя будет ПКС "Контактное лицо". В нем указываешь созданное тобой первое правило, а в ПередВыгрузкой для этого ПКС пишешь Значение = Источник. |
|||
10
Wefast
24.11.15
✎
10:48
|
(9) В приемнике у контактного лица не указан контрагент. Т.е. связь идет по имени. Но имена одинаковые есть. Даты рождения не у всех заполнены.
Если делать одноразовую загрузку то можно конечно поиск по коду сделать для уникальности. Но если мне понадобится загрузить еще или из другой базы в этот справочник то врят ли выйдет что то хорошее. В любом случае спасибо. Очень помогло. Вопрос в догонку. В обоих справочниках прикреплен регистр Контактная информация. Из справочника в регистр я переносил по новому созданному ПКО. А как тут поступить? чтобы запись создавалась в момент создания Контактного лица. А не переносить регистр с поиском контактного лица(что как выяснилось затруднительно)? |
|||
11
Альбатрос
24.11.15
✎
11:43
|
(10) Вот лень тебе типовые правила посмотреть, да?
перенос записи РС штрихкоды с номенклатурой, обработчик "ПослеВыгрузки" ПКО "Номенклатура": Если Не Источник.ЭтоГруппа тогда Запросы.ШтрихКод.УстановитьПараметр("Позиция", Источник.ссылка); Выборка = Запросы.Штрихкод.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ИсходящиеДанные = Новый Структура("Владелец, ШтрихКод, ТипШтрихКода, ЕдиницаИзмерения, качество"); ИсходящиеДанные.ШтрихКод = Выборка.ШтрихКод; ИсходящиеДанные.Владелец = Источник.Ссылка; ИсходящиеДанные.ТипШтрихкода = Выборка.ТипШтрихКода; ИсходящиеДанные.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения; ИсходящиеДанные.Качество = "Новый"; ВыгрузитьПоПравилу( , , ИсходящиеДанные, , "ШтрихКоды"); КонецЕсли; КонецЕсли; |
|||
12
Альбатрос
24.11.15
✎
11:44
|
(11) это мое, не из типовых, но принцип тот же.
|
|||
13
Wefast
24.11.15
✎
12:30
|
(11) да, так и сделал.
Проблема теперь вот в чем. У меня есть ПКО КонтактныеЛицаКонтрагентов. Там поля Код, наименование, Владелец, КонтактноеЛицо Что то там еще Если я отключаю Владельца( а это Контрагент) то выгружаются все элементы и загружаются тоже все. Если же я выгружаю с владельцем. Но выгружается только часть контактных лиц контрагентов. Т.е. они не выгружаются из-за контрагента. В обеих базах контрагент этот есть. От остальных отличий вроде нет. Условий каких то на ПКО контрагенты - нет. Куда еще посмотреть не знаю. Может есть какие то идеи на этот счет? |
|||
14
Альбатрос
24.11.15
✎
12:39
|
(13) Изначально источником для всего должен быть контрагент.
|
|||
15
cw014
24.11.15
✎
12:45
|
Вот млин, неумеха.
1) У тебя есть источник "Контактные лица". По ним можно найти ссылку на "Контакнтые лица контрагентов". У этого справочника можно вытащить владельца. 2) У тебя есть источник "Контактные лица", который инициируется из правил. Передавать во ВходящиеДанные ссылку на контрагента |
|||
16
Wefast
24.11.15
✎
12:50
|
(14) не понял? Есть какой то порядок выгрузки объектов и он на что то влияет?
Я отмечаю выгружать только КЛ. Почему он найдя Контрагента(а он его должен найти потому как он там есть) он идет дальше по цепочке ПКО, хотя к примеру стоит галочка не изменять данные у имеющихся объектов? Ошибка была в ПКО договоров контрагентов и после нее загрузка прекращалась (15) Выше уже нашлись необходимые ответы. С Входящими данными не приходилось работать. Не знаю что там и как. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |