Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Сообщить при неопределённом массиве

Сообщить при неопределённом массиве
Я
   Shouldercannon
 
08.01.21 - 15:14
Доброго времени уток!
В запросе заполняю массив
[1c]РезультатЗапроса = Запрос.Выполнить();
    Если Не РезультатЗапроса.Пустой() Тогда
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
        МассивАртикулов = Новый Массив();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            МассивАртикулов.Добавить(ВыборкаДетальныеЗаписи.НоменклатураАртикул);
        КонецЦикла;
    КонецЕсли;
    
    Возврат МассивАртикулов;[/1c]
Всё нормально, пока массив не примет значение Неопределено
И далее соответственно ошибка при обходе массива. Так как массив не определён, то и данная проверка вылетает с ошибкой: Значение не является значением объектного типа (Количество)
[1c]МассивАртикулов = Новый Массив();
    МассивАртикулов = ПолучитьАртикулы(СсылкаНаДок);    
    Если Не МассивАртикулов.Количество() = 0 Тогда // Значение не является значением объектного типа (Количество)
        Для Каждого Артикул Из МассивАртикулов Цикл
            НомерЗапчасти.Параметры.Артикул = Артикул;
            ТабДок.Вывести(НомерЗапчасти);
        КонецЦикла;
    Иначе[/1c]
Как правильно организовать проверку?
   Ненавижу 1С
 
1 - 08.01.21 - 15:16
Если ТипЗнч(МассивАртикулов)=Тип("Массив") и МассивАртикулов.Количество()>0 Тогда
   Василий Алибабаевич
 
2 - 08.01.21 - 15:16
(0) Вот это вот " МассивАртикулов = Новый Массив();" вынести перед "Если Не РезультатЗапроса.Пустой() Тогда". Тогда в любом случае будет массив. Но иногда пустой. И проверка на Количество() будет проходить всегда.
   d4rkmesa
 
3 - 08.01.21 - 15:57
(0) ЗначениеЗаполнено()

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.