|
v7: Объединение справочников | ☑ | ||
---|---|---|---|---|
0
AL CAPONE
27.02.12
✎
13:39
|
Дано:
Есть 2 базы. В обеих есть справочники стран и улиц. Справочник улиц подчиняется справочнику стран. Справочник стран содержит 4 вложенных уровня. Необходимо: Корректное объединение 2-х справочников между собой. Под корректностью понимается проверка всех уровней до последнего на предмет существования и совпадения названий. Если уровень не найден, или уровень существует, но вложенные названия не совпадают, необходимо создание новых групп и вложенных элементов. Пробовалось: Стандартные обработки Export771 и Import77. Работа не устроила, т.к. несмотря на существующие уровни всё задваивается. Как можно аккуратно выкрутиться в данной ситуации ? |
|||
1
Wobland
27.02.12
✎
13:40
|
а куда города и сёла пропали? реально видел на этикетке: "Адрес: Россия, ул. Сосновая, 16"
|
|||
2
Злопчинский
27.02.12
✎
13:43
|
(1) т.е. Россия, ул.Сосновая - тебя удивляет, а "Россия, Кремль" или "дедушке морозу на СП" - нет..? 4-)
|
|||
3
AL CAPONE
27.02.12
✎
13:43
|
(1)
в справочнике стран все элементы в формате СТРАНА / ОБЛАСТЬ / РАЙОН / ГОРОД |
|||
4
AL CAPONE
27.02.12
✎
13:44
|
(3)
4 ВЛОЖЕННЫХ УРОВНЯ |
|||
5
BlackSeaCat
27.02.12
✎
13:46
|
Аккуратно - написать НЕстандартную обработку.
|
|||
6
AL CAPONE
27.02.12
✎
13:47
|
(5)
это-то понятно, просто ещё никогда такого не делал, вот и хотелось бы, чтобы хоть как-то натолкнули на мысль создания выгрузки и загрузчика |
|||
7
Amra
27.02.12
✎
13:50
|
(6) В КД делается за 2 минуты
|
|||
8
AL CAPONE
27.02.12
✎
13:51
|
(7)
КД - это что ? |
|||
9
155153144627
27.02.12
✎
13:52
|
Из одной базы выгрузить в файлик:
<Страна><Область><Район><Город><Улица> Во второй открыть и свериться по названиям. |
|||
10
Гость2
27.02.12
✎
13:53
|
(3) "СТРАНА / ОБЛАСТЬ / РАЙОН / ГОРОД"
За такую "нетленку" полагается яйца ТУПЫМ серпом резать. |
|||
11
Amra
27.02.12
✎
13:54
|
(8) Конвертация данных
|
|||
12
AL CAPONE
27.02.12
✎
13:56
|
(9)
А каким образом это аккуратно выгрузить по всем уровням ? Можно попросить хоть пару строк кода ? (10) Себе можешь хоть молотом отбить, мне не жалко ;) (11) это внешний отчёт какой-то ? |
|||
13
PuhUfa
27.02.12
✎
13:57
|
(12)
выбратьэлементы/получитьэлемент/записатьвфайл/записатьсамфайл |
|||
17
155153144627
27.02.12
✎
14:07
|
(12)
Спр = СоздатьОбъект("Справочник.Страны"); СпрУлиц = СоздатьОбъект("Справочник.Улицы"); Спр.ВыбратьЭлементы(); Текст = СоздатьОбъект("Текст"); Пока Спр.ПолучитьЭлемент() = 1 Цикл Если Спр.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли; Стр = "<"+Спр.Наименование+">"; Сч = Спр.Уровень(); Группа = Спр.Родитель; Пока Группа.Уровень() <> 1 Цикл Стр = "<" + Группа.Наименование + ">" + Стр; Группа = Группа.Родитель; КонецЦикла; Стр = "<" + Группа.Наименование + ">" + Стр; СпрУлиц.ИспользоватьВладельца(Спр.ТекущийЭлемент()); СпрУлиц.ВыбратьЭлементы(); Пока СпрУлиц.ПолучитьЭлемент() = 1 Цикл Текст.ДобавитьСтроку(Стр+"<"+СпрУлиц.Наименование+">"); КонецЦикла; КонецЦикла; Текст.Записать("c:\СпрСтранУлиц.txt"); |
|||
18
dk
27.02.12
✎
14:21
|
если с кд не получится, то можно через ТЗ и ЗначениеВФайл решить вопрос
я, обычно, 1. база1: скидываю справочник с нужными реквизитами в ТЗ 2. база1: ТЗ1 в файл 3. база2: ТЗ1 из файла 4. база2: спраовчникв ТЗ2 загоняю 5. база2: сравниваю ТЗ1 и ТЗ2, если нахожу совпадения, то сохраняю ссылку, если не нахожу, то создаю новый элемент и сохраняю ссылку на новый |
|||
19
Amra
27.02.12
✎
14:27
|
(18) Чего там может не получится? Там несколько кликов мышкой
|
|||
20
AL CAPONE
27.02.12
✎
14:49
|
(16)
о, ещё 1 тролль нарисовался ) |
|||
21
AL CAPONE
27.02.12
✎
14:50
|
(17)
спасибо большое, сейчас опробую |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |