Имя: Пароль:
1C
 
Обмен по группе номенклатуры
0 nimo19
 
02.11.15
09:27
Добрый день!

Имеется две базы 1С:PLM и 1С:УПП, платформа 8.3
Настроили обмен данными, всё работает. Столкнулись с такой задачей - обмен необходимо настроить таким образом, чтобы справочник "номенклатура" передавался не весь, а лишь определенная группа(папка) с вложенными подпапками и элементами с сохранением структуры. Обмен должен происходить так: из PLM мы передаем весь справочник номенклатуры в УПП, но из УПП выгружаем в PLM как раз только конкретную папку.
1 ДенисЧ
 
02.11.15
09:28
Давай, действуй, мы верим в тебя!
2 nimo19
 
02.11.15
09:29
Подскажите пожалуйста, как это можно реализовать
3 Альбатрос
 
02.11.15
09:29
КД в руки, Обработчик ПередВыгрузкой и вперед с песней
4 nimo19
 
02.11.15
09:30
Где в КД нужно прописать данное условие? Пробовали даже добавлять реквизит ко всем карточкам и папкам, чтобы выборка при передаче была по реквизиту, но безрезультатно
5 ДенисЧ
 
02.11.15
09:31
ПередВыгрузкой
Если НЕ источник.ПринадлежитЭлементу(Константы.НужнаяГруппа.Получить()) тогда
отказ = истина;
КонецЕсли;
6 nimo19
 
02.11.15
09:31
Прописали перед Выгрузкой Объекта:

Если Объект.PLM=Истина Тогда Отказ=Истина
КонецЕсли
7 nimo19
 
02.11.15
09:35
Прописали ПередВыгрузкой:

Если Объект.PLM=Истина Тогда Отказ=Истина
КонецЕсли;

При попытке обмена выдает ошибку "Объект не найден"
8 nimo19
 
02.11.15
09:35
(5) Сейчас попробуем
9 Serg_1960
 
02.11.15
09:39
10 nimo19
 
02.11.15
13:10
всем спасибо, всё получилось!

но теперь возникла следующая ситуация - не переносятся реквизиты объектов. в нашем случае в карточке номенклатуры не переносятся вид номенклатуры, вид воспроизводства и пр. Никто не сталкивался с этим?
11 Горогуля
 
02.11.15
13:13
(10) а у тебя есть какие-то основания к тому, чтобы считать, что они должны переноситься?
12 SiAl-chel
 
02.11.15
13:43
13 nimo19
 
02.11.15
13:43
(11) а почему нет? вид воспроизводства кстати переносится, первый раз когда проверяли забыли его указать в элементе в базе источнике. Единицы измерения и вид номенклатуры переносится, но как пустые элементы в соответствующие справочники, и подставляются в элемент. По идее при обмене система должна находить эти элементы по коду и подставлять их в карточку, но этого почему то не происходит, хотя в правилах конвертации все условия заданы.

Что то похожее происходит и с самим справочником номенклатура, при первом обмене он задваивает все позиции, при последующих обменах ссылается как раз на эти объекты, хотя опять же в правилах конвертации прописано, что если найдет по коду то не должен создавать новый. Ни в руководствах ни в интернетах так и не смогли найти решение данной проблемы. Решили оставить как есть и удалить дубли(старые данные) через обработку поиск и замена, путём переноса ссылок на новые объекты.
14 SiAl-chel
 
02.11.15
13:45
(10) Для реквизитов должно быть свое правило конвертации свойств (ПКС), с установленным правилом конвертации объектов (ПКО), так как значения этих реквизитов не простые типы данных, а ссылочные.
15 Горогуля
 
02.11.15
13:46
(13) то есть, никаких оснований, кроме домыслов
16 SiAl-chel
 
02.11.15
13:47
(10) Задваивания происходят из-за неправильно условия поиска. Скорее всего Родитель должен быть реквизитом поиска.
17 nimo19
 
02.11.15
14:20
(15) Вы можете подсказать решение проблемы?
18 nimo19
 
02.11.15
14:24
(14) да, все верно, всё задано.
(16) Пробовали менять условия поиска, не помогает
19 Горогуля
 
02.11.15
14:27
(17) только (14)
20 nimo19
 
02.11.15
15:10
Up
21 VikingKosmo
 
02.11.15
15:12
А не пробовали еще в условиях поиска включать флаг, что бы после поиска по ссылке искало по остальным реквизитам?
22 nimo19
 
02.11.15
16:13
всем спасибо! разобрались!
1. чтобы передать группу номенклатуры мы поступили следующим образом: добавили на все объекты которые необходимо передать реквизит PLM, в т.ч. на группу в которую входят другие группы и элементы. После этого прописали в правилах (7). Обмен происходит, всё супер.

2. Чтобы не задваивалось: открываем ПКО объектов которые задваиваются, заходим во вкладку Настройки и убираем галочку "Искать объект приёмника по внутреннему идентификатору объекта источника". Всё, элементы больше не задваиваются, а синхронизируются по тем условиям которые вы задали в ПКС.

3. С реквизитами как то само собой получилось.

Но, хочу отметить, что данное решение подходит только в том случае если у вас в обоих базах данных имеются справочники у которых хотя бы одна табличная часть одинаковая, по которой собственно и будет происходить синхронизация.