8.х Как программно переместить элементы справочника из одной папки в другую?

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

  1. TopicStarter Overlay
    Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    Как программно переместить элементы справочника из одной папки в другую?
    Написал такой код:
    Код:
    Спр = Справочники.Номенклатура.НайтиПоРеквизиту("Услуга", Истина);
    Объект = Спр.ПолучитьОбъект();
    Объект.Родитель = ЭтотОбъект.Выбор;
    Объект.Записать()
    
    так вот, он у меня записывает один произвольный элемент, а как сделать чтобы он записал все найденные элементы. Знаю что нужно зациклить, но как поставить условие цикла?
  2. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    Вот так
    Код:
    Спр = Справочники.Номенклатура.Выбрать();
    Пока Спр.Следующий() Цикл
    Если Спр.Услуга Тогда
    Объект = Спр.ПолучитьОбъект();
    Объект.Родитель = ЭтотОбъект.Выбор;
    Объект.Записать()
    КонецЕсли
    КонецЦикла;
    
    
  3. TopicStarter Overlay
    Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    Спасибо за помощь))
  4. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Потому что метод "НайтиПоРеквизиту()" возвращает только один (первый найденный) элемент.

    Adminzavt верно написал. Только я думаю, надо еще проверять на "ЭтоГруппа", т.к. для группы, я полагаю, признака "Услуга" нет... Ошибка будет выходить.
  5. TopicStarter Overlay
    Azamat
    Offline

    Azamat Опытный в 1С

    Регистрация:
    29 июл 2011
    Сообщения:
    271
    Симпатии:
    0
    Баллы:
    26
    я написал "Если Спр.Услуга = Истина Тогда", и все работает))

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