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

05.04.12

Задачи пользователя - Подбор и обработка объектов

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
КопированиеГруппыСправочникаСЭлементами
.epf 6,76Kb
93 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Как-то возникала необходимость, решил поделиться.

Естественно нужно поменять тип справочника в реквизитах обработки и в запросе на нужный вам.

Например, если вы хотите использовать эту обработку для справочника "Номенклатура", то вам надо зайти в реквизиты обработки и изменить тип реквизита "Откуда" и "Куда" на "СправочникСсылка.Номенклатура" и далее в модуле формы обработки в тексте запроса заменить "БизнесПроекты" на "Номенклатура". Т.е. вместо текста:

 

   Запрос = Новый Запрос("ВЫБРАТЬ
    |    БизнесПроекты.Ссылка
    |ИЗ
    |    Справочник.БизнесПроекты КАК БизнесПроекты
    |ГДЕ
    |    БизнесПроекты.Ссылка В ИЕРАРХИИ(&Группа)"
    );

у вас должно получиться:

  

 Запрос = Новый Запрос("ВЫБРАТЬ
    |    Номенклатура.Ссылка
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |    Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)"
    );


 

Вобщем, чтобы было нагляднее выкладываю весь код модуля формы:

 

Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос = Новый Запрос("ВЫБРАТЬ
    |    БизнесПроекты.Ссылка
    |ИЗ
    |    Справочник.БизнесПроекты КАК БизнесПроекты
    |ГДЕ
    |    БизнесПроекты.Ссылка В ИЕРАРХИИ(&Группа)"
    );
    Запрос.УстановитьПараметр("Группа", Откуда);
    Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    СЗ = Новый СписокЗначений; //Будем запихивать туда родителей
    Пока Результат.Следующий() Цикл
        ТекСпр = Результат.Ссылка.ПолучитьОбъект();
        Если ТекСпр.Родитель = Откуда.Родитель Тогда //Копируем корень
            Если НЕ ТекСпр.ЭтоГруппа Тогда
                Предупреждение("Для элементов надо допилить, работает только для групп.",,"Аларм!");
                Возврат;
            КонецЕсли;
            элементСправочника = ТекСпр.Скопировать();
            элементСправочника.Родитель = Куда;
            элементСправочника.Записать();
            СЗ.Добавить(элементСправочника.Ссылка);  //Запихали корневого родителя
        Иначе                                        //Копируем все остальное
            элементСправочника = ТекСпр.Скопировать();
            элементСправочника.Родитель = СЗ[СЗ.Количество()-1].Значение;
            элементСправочника.Записать();
            Если ТекСпр.ЭтоГруппа  Тогда
                СЗ.Добавить(элементСправочника.Ссылка); //А здесь запихиваем всех остальных родителей
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3676    13    1    

16

Перенос данных 1C Учет документов Подбор и обработка объектов Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка «Сравнение документов» — это мощный инструмент для синхронизации и контроля данных между базами 1С:УНФ – 1С:БП, 1С:УТ – 1С:БП. Она позволяет сравнивать документы в двух базах, выявлять расхождения и загружать недостающие документы из одной базы в другую.

12200 руб.

06.08.2025    2349    4    0    

5

Подбор и обработка объектов Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Очень часто бывает, что документы одного периода повторяются в следующем. Поэтому приходится выполнять рутинную работу по их повторению, а именно копировать каждый документ по отдельности. Чтобы этого избежать, была написана обработка группового копирования документов для конфигурации 1С Бухгалтерия версии 3.0.

6100 руб.

29.06.2015    48170    93    18    

108

Подбор и обработка объектов Бухгалтер Пользователь 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Абонемент ($m)

Дополнение для журнала реализаций, позволяющее отслеживать и автоматически формировать счета-фактуры выданные, для конфигурации Бухгалтерия предприятия 3

3 стартмани

09.02.2026    798    5    Marat1c8    0    

4

Подбор и обработка объектов Программист Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Абонемент ($m)

Данная обработка может быть полезна тем, кто хочет сделать более точечную замену объектов, когда заказчику необходимо заменить что-то только в определенном виде документа (справочника) с определенным отбором по реквизитам.

1 стартмани

09.05.2025    3084    83    Rafael-87    18    

7

Подбор и обработка объектов Программист Бухгалтер Пользователь 1С 8.3 Абонемент ($m)

Горыныч - универсальная внешняя обработка группового многопоточного проведения (УФ). Работает в одном потоке в любой конфигурации, многопоточный режим доступен при наличии справочника «Склады».

10 стартмани

29.04.2025    5597    10    DmitryKSL    12    

18

Поиск данных ЭДО и ОФД Подбор и обработка объектов 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Поиск номенклатуры при сопоставлении в ЭДО не интуитивный, не настраиваемый и просто неудобный. Данное решение - это альтернативный вариант расширенного поиска и сопоставления номенклатуры для 1С, который подключается в качестве расширения и решает эту проблему.

10000 руб.

10.04.2025    2408    1    1    

2

Подбор и обработка объектов Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Управленческий учет Абонемент ($m)

Обработка распроводит документы в хронологическом порядке, и затем отдельной кнопкой можно провести именно эти же документы так же в хронологическом порядке.

1 стартмани

21.02.2025    2490    7    andrey7617    0    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Alex_E 2400 04.04.12 07:25 Сейчас в теме
А просто взять и мышкой перетащить не судьба?
4. arhal-ya@yandex.ru 254 04.04.12 09:29 Сейчас в теме
(1) Alex_E,
1. Пробовал в 8.1? Может у тебя судьба отличная от всех остальных пользователей 1с?
2. Читай внимательнее тему, особенно слово "Копирование".
6. Alex_E 2400 04.04.12 09:38 Сейчас в теме
(4) Судьба у мня обычная. Переносить из группы в группу можно было ещё в 7.7, кнопочка соответственная была и в 7.7 и в 8.0 и в 8.1 и в 8.2. В 8.2 можно ещё и мышкой. Слово копирование в публикации - крутое слово. Для чего - непонятно :-( Может что бы создать несколько одинаковых элементов номенклатуры в разных папках?
8. arhal-ya@yandex.ru 254 04.04.12 09:48 Сейчас в теме
(6) Alex_E,
Слово копирование в публикации - крутое слово. Для чего - непонятно :-( Может что бы создать несколько одинаковых элементов номенклатуры в разных папках?
Правильно, а если внимательнее почитать тему, то не только элементов, но и групп с учетом вложенной иерархии. Насчет "крутое" не знаю - слово как слово, меня особо не впечатляет:)
2. yegorovnv 1 04.04.12 07:59 Сейчас в теме
есть аналог... уже с выбором справочника в форме.
давайте не будем плодить плохие клоны.
умение пользоваться методом Скопировать() похвально, рад за вас
7. arhal-ya@yandex.ru 254 04.04.12 09:40 Сейчас в теме
(2) rinatru,
Не встречал.
Во первых это простой оригинальный инструмент а не клон. Кстати, не увидел ссылку на аналог.
Во вторых не претендует на универсальность типа выбора справочника - потому и делюсь задаром.
По поводу "Скопировать()" - это пафос уставшего от своей значимости кодера 1С? Зачем тогда было вообще лезть в код если и так все знаешь и умеешь? Тем более в такой "плохой клон".
9. yegorovnv 1 04.04.12 09:58 Сейчас в теме
(7)

я не лез в код.. просто предположил, что использовался метод Скопировать()...
перед тем как выкладывать свой простой продукт, рекомендуется использовать поиск аналогов...
пафоса нет, просто рекомендация

аналог вот здесь -- >> http://infostart.ru/public/92395/
специально потратил 2 минуты, чтобы найти аналог и показать его тебе
10. arhal-ya@yandex.ru 254 04.04.12 11:06 Сейчас в теме
(9) rinatru,
пафоса нет
,
специально потратил 2 минуты
- ... :)
Посмотрел аналог - клоном и не пахнет. Справедливости ради надо заметить - удобней для конечного пользователя потому что есть выбор любого справочника. Использование транзакции наверно обусловлено скорее избыточностью алгоритма копирования (в котором, например может быть не найден родитель при копировании o_O) а не критичностью процесса.
Собственно резюме:
- для конечного пользователя лучше "аналог".
- для кодера, сисадмина и прочих причастных к 1с не только поверхностно - лучше "мой плохой клон" потому как алгоритм раза в три проще и допиливать, соответственно, удобнее.
3. fishca 1313 04.04.12 09:13 Сейчас в теме
стандартного функционала разве не достаточно?
Прикрепленные файлы:
5. arhal-ya@yandex.ru 254 04.04.12 09:30 Сейчас в теме
(3) fishca,
Еще раз - читаем слово "Копирование" в теме публикации.
11. Roni 25.04.12 15:09 Сейчас в теме
Я тоже считаю что не аналог. А когда нужно скопировать более 1000 элементов мышкой пощелкать тяжеловато будет...
12. Ranika 25.04.12 15:10 Сейчас в теме
Спасибо! Просто, удобно :)
13. пользователь 30.06.12 13:27
Сообщение было скрыто модератором.
...
14. yuraskas 178 19.09.13 16:59 Сейчас в теме
Спасибо, помогло.
15. yuraskas 178 27.09.13 09:44 Сейчас в теме
Код не рабочий. Иерархия не сохраняется.
16. пользователь 09.12.14 07:31
Сообщение было скрыто модератором.
...
17. Yakudza1984 05.09.18 09:02 Сейчас в теме
Спасибо. Просто, удобно, ничего лишнего. Помогло.
18. nik389 19.11.18 23:38 Сейчас в теме
Иерархия не сохраняется
Для отправки сообщения требуется регистрация/авторизация