|
Поле объекта недоступно для записи 🠗 (Волшебник 05.07.2018 11:40) |
☑ |
0
sidalexsandr
05.07.18
✎
10:59
|
У меня УТ 10.3. Вот текст программы:
Попытка
Эксель = Новый COMОбъект("Excel.Application"); //создаем объект
Исключение
Сообщить(ОписаниеОшибки(),"!!!");
Сообщить("Возможно, MS Excel не установлен у Вас на копьютере.");
Возврат;
КонецПопытки;
Книга = Эксель.WorkBooks.Open(ИмяФайла);
Лист = Книга.WorkSheets(1);
Для Строка = НачальнаяСтрока по КонечнаяСтрока цикл
Артикул = СокрЛП(Лист.Cells(Строка,1).Value);
Артикул1 = СтрЗаменить(Артикул,Символы.НПП,"");
Н = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул1);
Н.НоменклатурнаяГруппа = Группа;
Н.Записать();
КонецЦикла;
Эксель.Application.Quit();
Выдает ошибку:
{ВнешняяОбработка.ЗагрузкаИнструменты.Форма.Форма.Форма(316)}: Поле объекта недоступно для записи (НоменклатурнаяГруппа)
Н.НоменклатурнаяГруппа = Группа;
|
|
1
sidalexsandr
05.07.18
✎
11:00
|
Мне надо получить объект?
|
|
2
catena
05.07.18
✎
11:01
|
(1)Это вопрос?
|
|
3
Бертыш
05.07.18
✎
11:02
|
Возвращаемое значение:
Тип: СправочникСсылка.<Имя справочника>.
Ссылка на найденный элемент справочника. Если не существует ни одного элемента с требуемым значением реквизита, то будет возвращена пустая ссылка.
А писАть надо в объект
|
|
4
Бертыш
05.07.18
✎
11:03
|
или пИсать
|
|
5
Aleksandr N
05.07.18
✎
11:03
|
(0) мда...
|
|
6
sidalexsandr
05.07.18
✎
11:03
|
(2) Это вопрос. Я сам проверил, получил объект и все заработало. Ветку можно закрывать.
|
|
7
sidalexsandr
05.07.18
✎
11:22
|
Теперь выдает другую ошибку:
{ВнешняяОбработка.ЗагрузкаИнструменты.Форма.Форма.Форма(318)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
ТекНом = Н.ПолучитьОбъект();
по причине:
Элемент не выбран!
|
|
8
HomoAlbus
05.07.18
✎
11:39
|
(7) Реально проще каждый рах на форум такую фигню писать, чем книжечку открыть и прочитать один раз?
Элемент не выбран - значит там пустая ссылка. Не найден он и получать нечего.
|
|
9
Бертыш
05.07.18
✎
11:41
|
(7) А ссылку на пустоту не суть Ба про верить :(
|
|
10
sidalexsandr
05.07.18
✎
12:43
|
(7) Отладил, оказалось что одного из артикулов не было в справочнике номенклатура. Исправили артикул на существующий.
Для отладки использовал
Попытка
Исключение
КонецПопытки;
|
|
11
HomoAlbus
05.07.18
✎
12:58
|
(10) Выбрасывание исключений и их обработка - это куда более емкое действие нежели проверка на заполненность того, что должно быть заполнено. Поэтому лучше проверяй нашлось ли, если не нашлось - пиши в лог и обрабатывай дальше
|
|
12
sidalexsandr
05.07.18
✎
14:15
|
(11) Спасибо, учту.
|
|