|
Перенос справочника из 1с 7.7 в 1с 8.2 справочник с группами через OLE |
☑ |
0
liquidum
17.12.12
✎
14:18
|
Помогите с переносом справочника с иерархией... Немогу перенести группы. Элементы переношу без проблем.
|
|
1
DrShad
17.12.12
✎
14:19
|
рекурсия
|
|
2
Maxus43
17.12.12
✎
14:21
|
где трабл то? мы догодаться должны?
|
|
3
liquidum
17.12.12
✎
14:22
|
ПутьКБазе="";
Пользователь="";
Пароль="";
МонопольныйРежимOLE = ""; // " /m";
ЗапускБезЗаставки = 1;
База = Новый COMОбъект("V77.Application");
Состояние("Открываем базу данных");
Открыта = База.Initialize(База.RMTrade,"C:\1CBASE\Kuz2012_BackOffice\", "NO_SPLASH_SHOW");
Если Открыта = 0 Тогда
Предупреждение("Ошибка открытия базы ...");
иначе Предупреждение("Соединение установлено",2);
КонецЕсли;
СпрК=База.CreateObject("Справочник.Контрагенты");
СпрК.ВыбратьЭлементы();
Пока СпрК.ПолучитьЭлемент()=1 Цикл
Если спрК.ЭтоГруппа() = 0 Тогда
Код = спрК.ЮрФизЛицо.Код;
Наименование = спрК.ЮрФизЛицо.Наименование;
ИНН = спрК.ЮрФизЛицо.ИНН;
Адрес = спрК.ЮрФизЛицо.ЮрАдрес;
Сообщить(""+инн+" "+Адрес+" "+Код+" "+Наименование);
Спр = Справочники.Контрагенты;
Эл = Спр.СоздатьЭлемент();
Эл.Наименование = "";
эл.ИНН = "";
Попытка
Эл.Записать();
Исключение
Сообщить("Ошибка! Возможно код элемента справочника не уникален!");
КонецПопытки;
КонецЕсли;
Сообщить("Выполняется импорт данных");
КонецЦикла;
|
|
4
liquidum
17.12.12
✎
14:23
|
Я вообще нуб и мало что понимаю :( Разбираюсь вот потихоньку
|
|
5
liquidum
17.12.12
✎
14:30
|
Вообщем внешняя обработка, неуправляемая форма, вешаю на кнопку выполнить этот код. Сдесь описан перенос элементов справочника, но в 7.7 существуют также и группы, вопрос в том, как реализовать перенос групп...
|
|
6
liquidum
17.12.12
✎
14:31
|
Если спрК.ЭтоГруппа() > 0 Тогда
........
|
|
7
liquidum
17.12.12
✎
14:40
|
Есть кто?
|
|
8
Maxus43
17.12.12
✎
14:43
|
Если спрК.ЭтоГруппа() = 0 Тогда
//тут как есть, потом
Иначе
Спр = Справочники.Контрагенты;
Эл = Спр.СоздатьГруппу();
...... и т.д.
а вот как будешь элементы ложить в группы - это другой вопрос
|
|
9
Heckfy
17.12.12
✎
14:45
|
Если спрК.ЭтоГруппа() = 1 Тогда
ЭтоГруппа()
Синтаксис:
ЭтоГруппа()
Назначение:
Возвращает флаг группы: 1 - если элемент является группой, 0 - если это обычный элемент.
Но с твоим кодом иерархии придет пистец.
|
|
10
liquidum
18.12.12
✎
12:06
|
(9) А как сделать то норм?
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший