Имя: Пароль:
1C
1С v8
Нужен совет по конвертации данных (КД 2)
0 Бертыш
 
04.05.18
01:44
Сливаются воедино два предприятия Основное и Торговый дом. Возникла задача перенести контрагентов с сохранением структуры из базы торгового дома в базу основного предприятия в некую одну папку внутри которой будет сохранятся иерархия справочника контрагенты из Торгового дома. Проблема в том что перечень контрагентов частично перекрывается. Раз перекрывается то искать надо по Коду контрагента, ИНН, КПП, а не Внутреннему идентификатору. Но в тоже самое время необходимо сохранить иерархию торгового дома. То есть получается найденный по комбинации код, инн, кпп в базе основного предприятия Контрагент должен перепрыгнуть из своей иерархии в иерархию Торговодомскую.
Когда то я проходил курс по КД 2 у ребят из проекта курсов по 1С РФ. В целом курс то понравился, а вто практики применения мной того что от них узнал на практики не было. Соответственно несколько торможу.
Как я вижу решение задачи? Перенос справочника контрагентов двумя ПКО. Одно ПКО для переноса родителей, а второе ПКО для переноса/поиска в получателе элементов. Соответственно ПКО Родителей устанавливается для признака Родитель в ПКО Элемента. Ещё я не помню как задать параметр группу на этапе загрузки данных в которую грузить всю иерархию и как её использовать.
Может кто подскажет и поможет?
1 Tateossian
 
04.05.18
01:51
(0) Коды одинаковые чтоль? При разных УИДАх?
2 Бертыш
 
04.05.18
03:07
(1) Ну да
3 MaxS
 
04.05.18
05:23
Сделать правила для Торгового дома и другие правила, где не перезаписывать имеющихся контрагентов и всё. пмсм.
4 mistеr
 
04.05.18
05:28
(0) В ПКО "при загрузке"

    Если ОбъектНайден Тогда
        установить родителя
        записать
        НеЗамещатьОбъект = Истина
    КонецЕсли

Родителя включить в поля поиска, но в обработчике "поля поиска" не использовать.
5 mistеr
 
04.05.18
05:31
(0) >как задать параметр группу на этапе загрузки данных в которую грузить всю иерархию

Ее нужно задать на этапе выгрузки. Если родителя нет, то задаем известный код корня в приемнике.
6 Бертыш
 
11.05.18
11:23
Нужен ещё совет. Выяснилось что некоторые контрагенты в базе приемнике были ранее занесены. Правда большая часть их помечена на удаление. Требуется при условии нахождения при загрузке перекинуть их в соответствии с иерархией базы источника.
Группы переносятся у меня отдельным правилом по внутреннему ид
Справочник сам поиском по Код, ЭтоГруппа, ИНН, КПП
Я так понимаю что надо объявить параметр через который надо передавать уникальный идентификатор группы который соответственно перенесётся правилами переноса групп ранее и в результате при условии нахождения после загрузки я смогу присвоить найденному элементу родителя источника.

Посоветуйте коллеги как это получше организовать
7 Бертыш
 
11.05.18
11:35
Вот сейчас настроил Для родителя передачу в параметр, а как обратится к параметру не помню
8 Йохохо
 
11.05.18
11:49
переходим на горизонтальную закладку Поля поиска, тыкаем Информация по обработчикам в верхней панели формы
9 elCust
 
11.05.18
11:51
(8) Верно.
10 Йохохо
 
11.05.18
11:53
+ (0) там же
Перед загрузкой
НеЗамещатьОбъект - Если для данного параметра установить значение Истина, то объект идентифицированный при загрузке (т.е. найденный в информационной базе приемнике по значению синхронизирующих полей) не будет изменен/замещен.
11 Бертыш
 
11.05.18
12:02
(10) Мне то наоборот для найденного объекта необходимо самым дешёвым способом изменить родителя и пометку удаления
12 Йохохо
 
11.05.18
12:06
(11) у контрагента родитель не ключевой, это не договор, достаточно убрать из полей поиска
13 Бертыш
 
11.05.18
12:21
У меня сейчас ситуация какая....
В базе приемнике есть вся иерархия групп базы источника с уникальными идентификаторами.
В базе приемнике есть переброшенная часть контрагентов с соблюдением иерархии.Те которых не было по комбинации ЭтоГруппа, Код, ИНН, КПП. Есть так же часть элементов по комбинации ЭтоГруппа, Код, ИНН, КПП которые были изначально в базе приемнике.
Мне необходимо пробросить иерархию из базы источника в базу приемника что бы элементы выстроились в базе приемнике в соответствие с иерархией базы источника.
Как это сделать самым простым и дешевым способом.
14 Йохохо
 
11.05.18
12:41
(13) так оно и случится само по себе, если все галки оставить по умолчанию
2 + 2 = 3.9999999999999999999999999999999...