![]() |
![]() |
![]() |
|
Как засунуть элемент справочника в группу ПРОГРАММНО ??? | ☑ | ||
---|---|---|---|---|
0
Sh_s
11.05.04
✎
16:34
|
Суть: Есть справочник_1, без подчинения, с группамы.
Цель: Добавить в него 2-3 сотни единиц из др. справочника_2, причем добавлять в определенные группы справочника_1. Реализация: Спр1=СоздатьОбъект("Справочник.КодыПоставщики"); Спр=СоздатьОбъект("Справочник.Номенклатура"); Пока Запрос.Группировка() = 1 Цикл Спр.НайтиЭлемент(Запрос.ТекущийЭлемент); Если Запрос.ТекущийЭлемент.ЭтоГруппа()=0 Тогда Спр1.Новый(); Спр1.УстановитьАтрибут("Наименование", Спр.Наименование); Спр1.УстановитьАтрибут("Товар", Спр.Наименование); Спр1.УстановитьАтрибут("Поставщик", ВыбКонтрагенты); Спр1.УстановитьАтрибут("Родитель", Запрос.ТекущийЭлемент); _________________________________^^^^^^^^^^^^^Тут засада Спр1.УстановитьАтрибут("КодПост" , Код_Пост(Спр.Наименование)); Спр1.Записать(); КонецЕсли; КонецЦикла; Ошибка: Вываливает сообщение что: "{C:\...\КОЛ-ВО В ГРУППЕ И ГРУППОВОЙ ПОСТАВЩИК.ERT(113)}: Неверный тип справочника". Вопрос: Как засунуть элемент справочника в группу ПРОГРАММНО ??? |
|||
1
Gavrila
11.05.04
✎
16:43
|
Я так понимаю, что "Запрос.ТекущийЭлемент" - "Справочник.Номенклатура", а родитель Спр1 - "Справочник.КодыПоставщики", поэтому работать не будет уже из-за этого...
лучше добавь перед Спр1.Новый(); строку Спр1.ИспользоватьРодителя(какой-то_там_родитель); , где какой-то_там_родитель - группа справочника "КодыПоставщики" :) |
|||
2
Valery
11.05.04
✎
16:47
|
В логике непонятно. Присваиваешь родителю элемент не являющийся группой.
|
|||
3
AVP
11.05.04
✎
16:49
|
Хорошо заданный вопрос содержит 80% ответа...
|
|||
4
Sh_s
12.05.04
✎
10:38
|
(1)Спр1.ИспользоватьРодителя(какой-то_там_родитель);
Я такое делал, ошибок не было, но все равно в группу не попадало. Все элементы попадали в корень, а не в указанную группу. |
|||
5
SiMаzх
12.05.04
✎
10:40
|
А какой-то_там_родитель - это что было?
|
|||
6
Рупор абсурда
12.05.04
✎
10:44
|
(5) Не можешь помочь, не лезь!
|
|||
7
Frol
12.05.04
✎
12:30
|
Вообщето, у тебя всё правильно с кодом. Единственное, строчку Спр1.УстановитьАтрибут("Родитель", Запрос.ТекущийЭлемент);
тебе надо поменять на: код = Спр1.Код; Спр1.УстановитьАтрибут("КодПост" , Код_Пост(Спр.Наименование)); Спр1.Записать(); Спр1.НоваяГруппа(); Спр1.Наименование = Запрос.ТекущийЭлемент; Спр1.Записать(); Группа = Спр1.НайтиПоНаименованию(Запрос.ТекущийЭлемент,0,1); Спр1.НайтиПоКоду(код,0); Спр1.УстановитьАтрибут("Родитель",Группа); Спр1.Записать(); Вот и все дела-то. Ну мож чуток не так, но идея правильная, у меня работало. |
|||
8
SnarkHunter
12.05.04
✎
12:36
|
(7) См. (6)
|
|||
9
Sh_s
12.05.04
✎
23:46
|
Как и ковырял ранее, все срослось, надо перед Новый()
Спр1.ИспользоватьРодителя(какой-то_там_родитель); как и говорил (1) , что собственно я ранее и делал, но не работало. Тепер понял что передавал в качестве Родителя строку с его именем, а надо передавать как объект, если слово объект здесь корректно. Ну в общем идея понятна. Все заработало как нуна. Всем спасибо. P.S. Кто тут темы закрывает ....?????? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |