![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Новичок
Пол:
Регистрация: 10.12.2007
Сообщений: 6
Репутация: 0
|
Добрый день.
Помогите ради бога! Прошу прощения у модераторов, если не верно выбрал место для размещения объявления. Написал обработку для справочника материалов... Она должна производить массовый перенос из одной папки справочника в другую (из одной группы в другую)... вобщем некая сортировка элементов справочника... и вот, когда добрался до конечной точки, а именно смена Родителя элемента происходит следущее: Материал.Родитель = НовыйРодитель; {Обработка.СортировкаМатериалов.Форма.Модуль(78)}: Объект не может быть перепозиционирован! неужели никак нельзя обрабатывать элементы справочника программно (в частности "перенос" элементов)! |
|
|
|
| Реклама: | хонор 16 про | проекты домов в стиле барнхаус | discord интеграции | пескоструйная кабина ps-b | Магазин бытовой техники: kin 865se0 - переходи на сайт ТАЙМТВ! |
|
|
#2
|
|
Постоялец
![]() ![]() ![]() ![]() ![]() Пол:
Регистрация: 07.10.2005
Сообщений: 760
Репутация: 166
|
Такая конструкция работоспособна впринципе.
Но скорее всего лучше Код:
Материал = СоздатьОбъект("Справочник.Материалы")
МатериалРод = СоздатьОбъект("Справочник.Материалы")
МатериалРод.НайтиЭлемент(Группа)
Пока ВсеПравда цикл
Материал.НайтиЭлемент(Мат)
Материал.Родитель = МатериалРод.ТекущийЭлемент()
Материал.Записать()
КонецЦикла
|
|
|
|
|
|
#3
|
|
Неактивный пользователь
Регистрация: 07.01.2008
Сообщений: 9
Репутация: 0
|
а цикл-тотут причем?
условие должно быть |
|
|
|
|
|
#4
|
|
ezk, напрашивается вывод, что НовыйРодитель - недопустимое значение или несуществующее. Пробовал выводить в окно сообщений значение для отладки?
А через УстановитьАтрибут пробовал? |
|
|
|
|
|
|
#5
|
|
Пользователь
Пол:
Регистрация: 27.01.2006
Сообщений: 39
Репутация: 37
|
Скорее всег ты пытаешься изменить родителя элемента во время выбокки элементов по справочнику.
Попробуй сделать выборку запросом, а потом уже менять родителя у выбранных элементов Материал = СоздатьОбъект("Справочник.Материалы") Материал.НайтиЭлемент(ЭлементРезультатаЗапроса); Материал.Родитель = НовыйРодитель; Материал.Записать(); |
|
|
|
|
|
#6
|
|
Пользователь
Пол:
Регистрация: 10.05.2008
Сообщений: 59
Репутация: 21
|
Используй "промежуточное хранилище данных". Таблицу значений, например (ТЗ).
Если код элемента уникален для всего справочника, то в первую колонку ТЗ вноси код элемента которому ты потом будешь менять родителя. А во вторую колонку - код нового родителя: тз=СоздатьОбъект("ТаблицаЗначений"); тз.НоваяКолонка("КодЭлемента","Число",...,...); тз.НоваяКолонка("КодРодителя","Число",...,...); //кодновогородителя = код каталога в который ты переносишь элементы ... //Твои условия заполнения таблицы значений //значениями справочника (назовём его "спр") ... тз.НоваяСтрока(); тз.КодЭлемента=спр.Код; тз.КодРодителя=кодновогородителя; //кодновогородителя - код нового родителя ... Затем с помощью "НайтиПоКоду()" позиционируешься на каждом отдельном элементе ТЗ и меняешь его родителя: спр_кодрод=СоздатьОбъект("Справочник.Материалы"); спр_эл=СоздатьОбъект("Справочник.Материалы"); тз.ВыбратьСтроки(); Пока тз.ПолучитьСтроку() = 1 Цикл спр_кодрод.НайтиПоКоду(тз.КодРодителя); спр_эл.НайтиПоКоду(тз.КодЭлемента); спр_эл.Родитель=спр_кодрод.ТекущийЭлемент(); спр_эл.Записать(); КонецЦикла; Основной принцип - не использовать при смене родителя для справочника перебор элементов этого же справочника конструкцией ВыбратьЭлементы() и ПолучитьЭлемент() Пример: спр.ВыбратьЭлементы() Пока спр.ПолучитьЭлемент() = 1 Цикл спр.Родитель = ......//Новое значения. КонецЦикла; При таком подходе 1С ругается. |
|
|
|
| Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение: |
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Ошибка | roman_ | Скорая помощь | 3 | 26.07.2009 22:15 |
| Ошибка | кучка | Архив | 5 | 04.03.2006 21:28 |
| Ошибка CRC | porokh | Архив | 5 | 16.02.2006 20:29 |
|
|