8.х Из Exel в 1С

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем URIJ, 16 апр 2009.

  1. TopicStarter Overlay
    URIJ
    Offline

    URIJ

    Регистрация:
    15 апр 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте.

    Пытаюсь создать иерархическую структуру групп в справочнике номенклатуры в «Управление торговли 1С 8.0».
    Информация о структуре групп имеется в Exel-файле. Количество уровней иерархии изначально неизвестно.
    Фрагмент этого файла:
    Код:
    КодГр	             Код	Наименование
    00001	НИКС
    00002	РАМИС
    00001	            00010	Компьютеры НИКС
    00001	            00020	Компьютеры ASUS
    00002	            10000	БУМАГА и АКСЕССУАРЫ
    00002/10000	      10010	Бумага
    00002/10000/10010	10020	Адресные наклейки
    00002/10000/10010	10030	Арт
    00002/10000	      10100	Диски и дискеты
    00002/10000	      10120	Кабели и адаптеры
    00002	            10210	ВАЛЫ И РАКЕЛИ
    00002/10210	      10250	Резиновые валы для лазерных принтеров
    
    Программу по переносу групп пишу в VB.
    Умею устанавливать COM-соединение, создавать группу на первом уровне иерархии.
    Прошу подсказать каким образом мне создавать группу на 2-ом и последующих уровнях иерархии. Понимаю что необходимо указать «Родитель», но не знаю каким образом т.к не владею встроенным языком 1С.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Если справочник с видом иерархия групп
    ЭлементСправочника.Родитель = <СсылкаНаГруппу>
    Если справочник с видом иерархия элементов
    ЭлементСправочника.Родитель = <СсылкаНаЭлемент>
  3. TopicStarter Overlay
    URIJ
    Offline

    URIJ

    Регистрация:
    15 апр 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Каким образом можно получить <СсылкаНаГруппу> ?
  4. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    создать ее сначала :) рекурсия однако :) выбираем элемент, если он не создан, то получаем соответствующую ему группу. Проверяем создана ли она. Если да, то создаем элемент в соответствиями указаниям BabySG. Если нет, то получаем группу группы и проверяем существует ли она и т.д. до корня или до момента пока не найдется созданная группа, после чего создаем структуру вложенности начиная с верхнего уровня :)

    Долго и нудно :) но арбайтен, проверено.

    Единственное но: нужно встраивать механизмы защиты от зацикливания в случае некорректных данных из файла :) классическое построение дерева...
  5. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Если создаешь элементы с теми же кодами, то методом НайтиПоКоду()
    Код соответственно последние цифры перед "/"
    Если создаешь элементы с теми же наименованиями, то методом НайтиПоНаименованию()
  6. TopicStarter Overlay
    URIJ
    Offline

    URIJ

    Регистрация:
    15 апр 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Метод НайтиПоКоду() работает. Спасибо.
    Что возвращает этот метод? или он описан в книгах 1С:Предприятие 8.0 Описание встроенного языка?
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Не поверите - он описан в самой платформе!
    Достаточно нажать CTRL+F1 на методе :)
  8. TopicStarter Overlay
    URIJ
    Offline

    URIJ

    Регистрация:
    15 апр 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1

    НЕ поверю!
    Я ппользуюсь VB.
    Встроенный язык 1С знаю слабо (Слабо - это очень громко сказано)
  9. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    тем более полезно пользоваться справкой...
  10. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Возвращает соответственно ссылку на элемент/группу, которую можно записать в реквизит создаваемого элемента "родитель".

Поделиться этой страницей