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

05.04.12

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
КопированиеГруппыСправочникаСЭлементами
.epf 6,76Kb
93
93 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

 

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

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

  

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


 

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

 

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

См. также

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

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

6000 руб.

29.06.2015    45815    92    18    

105

Подбор и обработка объектов Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Абонемент ($m)

Массовая работа с объектами типовыми методами платформы 1С.

10 стартмани

13.12.2024    753    1    nomad_irk    1    

4

ККМ Кассовые операции Подбор и обработка объектов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Модуль, ускоряющий подбор номенклатуры в 1С в чек ККМ и Заказе клиента. Оптимизированная форма подбора товаров с многократно ускоренным процессом поиска товаров в 1С в чек ККМ и Заказе клиента для конфигураций 1C:Управление торговлей 11.5, 1С:Комплексная Автоматизации 2.5 и 1С:ERP Управление предприятием 2.5

18000 руб.

30.10.2024    709    1    0    

3

Подбор и обработка объектов Программист Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Абонемент ($m)

Обработка, очищающая двойные записи в регистре "График платежей". Решает проблему: Обнаружено дублирование ключевых значений в колонках: "Ссылка". Отображение данных в списке невозможно.

1 стартмани

26.09.2024    652    2    AlexHelmer    0    

4

Зарплата Подбор и обработка объектов Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

После расчета и выплаты отпускных порой отпускные приходится пересчитывать. Причины: начислена годовая премия, или начислена зарплата, входящая в расчетную базу, и прочие. Делать вручную - непрактично. Можно воспользоваться отчетами (типовых, к слову, нет), но потом еще надо вручную создавать документы-исправления. Данная обработка автоматизирует весь процесс по принципу Plug-n-Play.

3 стартмани

14.08.2024    755    16    Vinzor    0    

5

Поиск данных Корректировка данных Подбор и обработка объектов Программист Пользователь Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Абонемент ($m)

Обработка позволяет найти и заменить битые ссылки справочников. Для всех конфигураций. Обработка универсальная! Незаменимая вещь как для IT-специалистов, так и для обычных пользователей!

10 стартмани

04.07.2024    1180    7    user1527257    1    

5

Корректировка данных Подбор и обработка объектов Пользователь Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Универсальная обработка! Подходит для всех конфигураций! На одном экране можно видеть как все справочники, так и детальную информацию по каждому из них (реквизиты и табличные части). Удобно! Присутствует возможность редактирования справочника.

10 стартмани

28.06.2024    1025    9    user1527257    0    

9

Журналы и реестры данных Подбор и обработка объектов Бухгалтер Пользователь Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:CRM ПРОФ, КОРП 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Абонемент ($m)

Универсальный реестр документов! Журнал документов для всех конфигураций! На одном экране можно видеть как все документы, так и детальную информацию по каждому из них (реквизиты, движения и табличные части). Удобно! Присутствует возможность редактирования документа. Универсальный редактор документов!

10 стартмани

20.06.2024    1683    30    user1527257    3    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Alex_E 2383 04.04.12 07:25 Сейчас в теме
А просто взять и мышкой перетащить не судьба?
4. arhal-ya@yandex.ru 253 04.04.12 09:29 Сейчас в теме
(1) Alex_E,
1. Пробовал в 8.1? Может у тебя судьба отличная от всех остальных пользователей 1с?
2. Читай внимательнее тему, особенно слово "Копирование".
6. Alex_E 2383 04.04.12 09:38 Сейчас в теме
(4) Судьба у мня обычная. Переносить из группы в группу можно было ещё в 7.7, кнопочка соответственная была и в 7.7 и в 8.0 и в 8.1 и в 8.2. В 8.2 можно ещё и мышкой. Слово копирование в публикации - крутое слово. Для чего - непонятно :-( Может что бы создать несколько одинаковых элементов номенклатуры в разных папках?
8. arhal-ya@yandex.ru 253 04.04.12 09:48 Сейчас в теме
(6) Alex_E,
Слово копирование в публикации - крутое слово. Для чего - непонятно :-( Может что бы создать несколько одинаковых элементов номенклатуры в разных папках?
Правильно, а если внимательнее почитать тему, то не только элементов, но и групп с учетом вложенной иерархии. Насчет "крутое" не знаю - слово как слово, меня особо не впечатляет:)
2. yegorovnv 1 04.04.12 07:59 Сейчас в теме
есть аналог... уже с выбором справочника в форме.
давайте не будем плодить плохие клоны.
умение пользоваться методом Скопировать() похвально, рад за вас
7. arhal-ya@yandex.ru 253 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 253 04.04.12 11:06 Сейчас в теме
(9) rinatru,
пафоса нет
,
специально потратил 2 минуты
- ... :)
Посмотрел аналог - клоном и не пахнет. Справедливости ради надо заметить - удобней для конечного пользователя потому что есть выбор любого справочника. Использование транзакции наверно обусловлено скорее избыточностью алгоритма копирования (в котором, например может быть не найден родитель при копировании o_O) а не критичностью процесса.
Собственно резюме:
- для конечного пользователя лучше "аналог".
- для кодера, сисадмина и прочих причастных к 1с не только поверхностно - лучше "мой плохой клон" потому как алгоритм раза в три проще и допиливать, соответственно, удобнее.
3. fishca 1260 04.04.12 09:13 Сейчас в теме
стандартного функционала разве не достаточно?
Прикрепленные файлы:
5. arhal-ya@yandex.ru 253 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 Сейчас в теме
Иерархия не сохраняется
Оставьте свое сообщение