#0
by Куркуль-ятор
Подскажите решение пжлста. Тут много веток было по похожей проблеме но не в одной не нашёл конкретного решения. Необходимо в справочнике номенклатура сделать копию одной директории с множественной иерархией и при этом скопировать необходимо только группы с сохранением этой самой иерархии. У меня получилось просто перенести группы, теперь бы вложенность кто помог сохранить:
#2
by Ёпрст2
А потом вот появляются постоянно вот такие сообщения: "Помогите на избавиться от дублей!"
#4
by Diman000
Короче, вчитался окончательно. У тебя явно два раза в методе ИспользоватьРодителя используется параметр типа строка. А это должна быть ссылка на группу справочника, которая является необходимым родителем.
#5
by Куркуль-ятор
У меня объект формы "Поле ввода" имеет кнопку выбора к которой привязан тип справочник.номенклатура
#6
by Куркуль-ятор
(+5) и через поле ввода я выбираю группу родителя из которой надо копировать и в которую надо копировать
#7
by Diman000
Так, давай по порядку: здесь присваивается строка НовИмяГрупп НовГр.ИспользоватьРодителя(НовИмяГрупп); а здесь снова используется НовИмяГрупп. Или здесь это уже не строка?
#8
by Куркуль-ятор
сначала я создаю новую группу в которую буду переносить:СпрНом.Наименование=НовИмяГрупп; НовИмяГрупп;-это идентификатор поля ввода в котором уже находится выбранная группа в которую нужно перенести иерархический справочник групп. Затем я выбираю все группы из директории из которой я буду переносить иерархич.спр.групп : СпрНом.ИспользоватьРодителя(ТекИмяГрупп); (ТекИмяГрупп);-это идентификатор поля ввода в котором уже находится выбранная группа из которой я буду переносить. Потом выставляю в роли родителя созданную мною раннее группу: НовГр.ИспользоватьРодителя(НовИмяГрупп);. Считываю из выборки каждый элемент из группы "ТекИмяГрупп" и записываю его в группу "НовИмяГрупп"
#10
by Иде я
И Убери ИМЯ из названий переменных. Если Сообщить(текГруппа) выводит в виде наименования группы, это не значит что текГруппа строка.
#12
by Куркуль-ятор
Новая группа у меня создаётся без проблемм. С выводом Сообщения - это я временно ставил для себя потом уберу, выводится нормально. Мне бы решение как сохранить иерархию в перенесённых группах.
#15
by Куркуль-ятор
Попробывал у себя, есть ещё пара вопросов: 1)Твоё решение запустил только после удаления параметров "СпрТекГруппа,СпрНовГруппа" в имени процедуры и удаления строки:КопированиеГруппСпр(СпрНом,НовГр); , т.к. 1с говорила "Недостаточно фактических параметров" 2)Обработка копирует только одну корневую группу и всё, тоесть к примеру у меня есть справочник групп 1 директория, в ней содержиться 1.1 и 1.2 директории, то обработка копирует только директорию с наименованием 1. Как можно всю иерархию скопировать?
#16
by Diman000
Не надо удалять эти параметры! И верни назад строчку КопированиеГруппСпр(СпрНом,НовГр), ибо в ней весь смысл! Тебе просто нужно добавить еще сам вызов этой процедуры в таком виде: Где: СпрВыбТекГруппа - группа справочника откуда нужно выполнять перенос СпрВыбНовГруппа - группа справочника куда нужно выполнять перенос
#17
by Куркуль-ятор
Чёт я никак немогу разобраться :/ Я считал что из процедуры можно только передать параметры функции, а процедуру из процедуры нельзя вызвать... У меня щас получилось: 1С при синтаксическом контроле говорит что процедура КопированиеГруппСпр<<?>>(СпрВыбТекГруппа,СпрВыбНовГруппа); не обнаружена...
#18
by Diman000
"...а процедуру из процедуры нельзя вызвать...". Можно, конечно. Вызов процедурой самой себя и называется рекурсивным вызовом. А чтобы 1С не ругалась при синтакс-контроле, нужно процедуру КопированиеГруппСпр поставить перед процедурой Сформировать))))))
#21
by Куркуль-ятор
Спасибо Diman000 за разъеснение по поводу рекурсии, обработка работает. Конечный вариант модуля обработки: Где: СпрТекГруппа - группа справочника откуда нужно выполнять перенос СпрНовГруппа - группа справочника куда нужно выполнять перенос Так как я не нашёл на форуме подробного описания по копированию групп справочников с сохранением иерархии, неплохо было бы затолкать эту обработку в базу знаний.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: Как программно скопировать строку табличной части документа?
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
В этой группе 1С
- Не могу в прайс листе вывести логотип
- Автоматическое удаление движений
- Начисление зарплаты в валюте
- Не могу найти файл данных с ОКОФ
- Товарный отчет в 1с бухгатерии
- использование внешних отчетов и обработок
- v7: ТиС 77 Оплата картами сбербанка (подключить DLL Сбербанка)
- Вычисляемая колонка в форме табличной части документа, как?
- Сохранить ТЗ справочника
- 1С - Excel.Workbooks.Open(имяФайла)
- Заполните календарь...
- IBM портировала Lotus Notes на GNU/Linux
- Отчёт о розничных продажах и Чек ККМ
- bat-файл с бесконечным циклом и условием
- В табличном поле для групп проставляется реквизит (только для элемента)
- Как узнать, что документ открыт другим пользователем?
- Табличное поле в виде дерева
- Как вывести список пользователей из 1c?
- Как выводить отчет с детализацией по регистратору.
- Интерактивная смена пользователя в программе 1С 7.7