|
Поле объекта недоступно для записи (Родитель) | ☑ | ||
---|---|---|---|---|
0
Nzzzz
07.09.20
✎
15:35
|
Есть обработка по загрузке номенклатуры из эксель. Код:
Артикул = МассивКолонок.Получить(0).Получить(строкаТП); Производитель = МассивКолонок.Получить(1).Получить(строкаТП); Наименование = МассивКолонок.Получить(2).Получить(строкаТП); СоздНоменклатура = Справочники.Номенклатура.СоздатьЭлемент(); СоздНоменклатура.Артикул = Артикул; СоздНоменклатура.Наименование = Наименование; ГруппаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(Производитель,Истина); Если НЕ ЗначениеЗаполнено(ГруппаНоменклатуры) тогда ГруппаНом = Справочники.Номенклатура.СоздатьГруппу(); ГруппаНом.Наименование = Производитель; ГруппаНом.Записать(); СоздНоменклатура.Родитель.Родитель = Объект.ГруппаНоменклатуры; КонецЕсли; СоздНоменклатура.Родитель = ГруппаНоменклатуры; У меня ошибка "Поле объекта недоступно для записи (Родитель)" Знаю что нужно получить объект, но где получить его??Если СоздНоменклатура и так объект СоздНоменклатура.Родитель.Родитель - выбирает пользователь на форме а СоздНоменклатура.Родитель - из эксель присваивается |
|||
1
Ёпрст
07.09.20
✎
15:37
|
(0)
// СоздНоменклатура.Родитель.Родитель = Объект.ГруппаНоменклатуры; |
|||
2
Nzzzz
07.09.20
✎
15:44
|
(1) Зачем так?
Есть иерархия номенклатуры: Номенклатура - корень Группа1 Группа2 У меня есть номенклатура у нее группа2, мне нужно в родитель.родитель прописать Группа1. Это на тот случай если группа не создана. Если она создана, то можно закомментировать, т.к. там и так Родитель.Родитель уже есть Но если группы нет?? Я создаю группу2 и мне ее нужно поместить в Группу1, а не в корень как она делает сейчас, если закомментировать строку которую показали |
|||
3
Ёпрст
07.09.20
✎
15:48
|
(2)
Затем, что это Бред (Не Пит) ЗЫ: ну получай объект Группы, присваивай ей реквизит Родитель, записывай. |
|||
4
mikecool
07.09.20
✎
15:49
|
(3) можно даже ссылку на группу получить, объекто то не присвоишь
|
|||
5
Ёпрст
07.09.20
✎
15:52
|
|
|||
6
Nzzzz
07.09.20
✎
16:02
|
(5) теперь группа2 создается в группе1, но номенклатуры там нет..Странно
|
|||
7
Nzzzz
07.09.20
✎
16:07
|
(5) СоздНоменклатура.Родитель = ГруппаНоменклатуры;
Надо же СоздНоменклатура.Родитель = ГруппаНом; Но проходя эту строчку, там всё равно пусто, не присваивает почему то.. |
|||
8
Nzzzz
07.09.20
✎
16:11
|
СоздНоменклатура.Родитель = ГруппаНом; - вот так присваивает группу
А так нет: СоздНоменклатура.Родитель = ГруппаНоменклатуры; |
|||
9
Фауст
07.09.20
✎
16:11
|
ГруппаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(Производитель,Истина);
Если ГруппаНоменклатуры = Справочники.Номенклатура.ПустаяССылка() тогда ГруппаНом = Справочники.Номенклатура.СоздатьГруппу(); ГруппаНом.Наименование = Производитель; ГруппаНом.Родитель = Объект.ГруппаНоменклатуры; ГруппаНом.Записать(); ГруппаНоменклатуры = ГруппаНом.Ссылка; // это еще добавить КонецЕсли; СоздНоменклатура.Родитель = ГруппаНоменклатуры; |
|||
10
CaIIIka
07.09.20
✎
16:12
|
Зачем две переменных? Оставьте только "ГруппаНоменклатуры".
|
|||
11
Nzzzz
07.09.20
✎
16:17
|
О, заработало, спасибо!
Только куда ставка делась в БП 3.0 кто нибудь знает? Она теперь "УдалитьСтавкаНДС" в нее записывать? |
|||
12
lodger
07.09.20
✎
16:22
|
(11) префикс "Удалить" означает, что этот объект метаданных надо обходить стороной.
|
|||
13
Serg_1960
07.09.20
✎
16:45
|
Хех. Если мне память не изменяет, то в 2018 волна была - перечисление СтавкаНДС было заменено на ВидыСтавокНДС... что, с тех пор УдалитьСтавкаНДС так и висит в конфигурации?
|
|||
14
Droning1C
07.09.20
✎
17:08
|
(13) да, до сих пор висит
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |