+ проверки на не инициализированный массив

This commit is contained in:
Dmitry Belyaev 2022-08-31 13:09:44 +03:00
parent 91e1881b88
commit 5df0b578f9
Signed by: b4tman
GPG Key ID: 41A00BF15EA7E5F3

View File

@ -266,21 +266,36 @@
КонецФункции КонецФункции
Функция Карта(Знач Код) Экспорт Функция Карта(Знач Код) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция = __Мап(Код, Коллекция, Контекст); Коллекция = __Мап(Код, Коллекция, Контекст);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Фильтр(Знач Код) Экспорт Функция Фильтр(Знач Код) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция = __Фильтр(Код, Коллекция, Контекст); Коллекция = __Фильтр(Код, Коллекция, Контекст);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Свернуть(Знач Код, Знач Результат = Неопределено) Экспорт Функция Свернуть(Знач Код, Знач Результат = Неопределено) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Возврат __Свернуть(Код, Коллекция, Результат, Контекст); Возврат __Свернуть(Код, Коллекция, Результат, Контекст);
КонецФункции КонецФункции
Функция ВзятьНеБольше(Знач Количество) Экспорт Функция ВзятьНеБольше(Знач Количество) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция = __ВзятьНеБольше(Коллекция, Количество); Коллекция = __ВзятьНеБольше(Коллекция, Количество);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Пропустить(Знач Количество) Экспорт Функция Пропустить(Знач Количество) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция = __Пропустить(Коллекция, Количество); Коллекция = __Пропустить(Коллекция, Количество);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
@ -299,14 +314,23 @@
Возврат ЭтотОбъект.Срез(ЭтотОбъект.Количество() - Количество, Количество); Возврат ЭтотОбъект.Срез(ЭтотОбъект.Количество() - Количество, Количество);
КонецФункции КонецФункции
Функция Обратить() Экспорт Функция Обратить() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция = __Обратить(Коллекция); Коллекция = __Обратить(Коллекция);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Транспонировать() Экспорт Функция Транспонировать() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция = __Транспонировать(Коллекция); Коллекция = __Транспонировать(Коллекция);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Сортировать(Знач Направление=Неопределено) Экспорт Функция Сортировать(Знач Направление=Неопределено) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Если Неопределено = Направление Тогда Если Неопределено = Направление Тогда
Направление = НаправлениеСортировки.Возр; Направление = НаправлениеСортировки.Возр;
КонецЕсли; КонецЕсли;
@ -320,6 +344,9 @@
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Перемешать() Экспорт Функция Перемешать() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
НоваяКоллекция = Новый Массив; НоваяКоллекция = Новый Массив;
ГСЧ = Новый ГенераторСлучайныхЧисел; ГСЧ = Новый ГенераторСлучайныхЧисел;
@ -337,34 +364,61 @@
КонецФункции КонецФункции
Функция ВГраница() Экспорт Функция ВГраница() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
Возврат 0;
КонецЕсли;
Возврат Коллекция.ВГраница(); Возврат Коллекция.ВГраница();
КонецФункции КонецФункции
Функция Количество() Экспорт Функция Количество() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
Возврат 0;
КонецЕсли;
Возврат Коллекция.Количество(); Возврат Коллекция.Количество();
КонецФункции КонецФункции
Функция Вставить(Знач Индекс, Знач Значение) Экспорт Функция Вставить(Знач Индекс, Знач Значение) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция.Вставить(Индекс, Значение); Коллекция.Вставить(Индекс, Значение);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Добавить(Знач Значение) Экспорт Функция Добавить(Знач Значение) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция.Добавить(Значение); Коллекция.Добавить(Значение);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция _Найти(Знач Значение) Экспорт Функция _Найти(Знач Значение) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Возврат Коллекция.Найти(Значение); Возврат Коллекция.Найти(Значение);
КонецФункции КонецФункции
Функция Очистить() Экспорт Функция Очистить() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция.Очистить(); Коллекция.Очистить();
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Получить(Индекс) Экспорт Функция Получить(Индекс) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Возврат Коллекция.Получить(Индекс); Возврат Коллекция.Получить(Индекс);
КонецФункции КонецФункции
Функция Удалить(Индекс) Экспорт Функция Удалить(Индекс) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция.Удалить(Индекс); Коллекция.Удалить(Индекс);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция Установить(Индекс, Знач Значение) Экспорт Функция Установить(Индекс, Знач Значение) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция.Установить(Индекс, Значение); Коллекция.Установить(Индекс, Значение);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
@ -406,14 +460,23 @@
КонецФункции КонецФункции
Функция Дополнить(Источник, ТолькоУникальныеЗначения=Ложь) Экспорт Функция Дополнить(Источник, ТолькоУникальныеЗначения=Ложь) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Коллекция, ЗагрузитьКоллекцию(Источник), ТолькоУникальныеЗначения); ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Коллекция, ЗагрузитьКоллекцию(Источник), ТолькоУникальныеЗначения);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция ТолькоУникальные() Экспорт Функция ТолькоУникальные() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
Коллекция = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Коллекция); Коллекция = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Коллекция);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция РазностьС(ВычитаемаяКоллекция) Экспорт Функция РазностьС(ВычитаемаяКоллекция) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
НоваяКоллекция = ОбщегоНазначенияКлиентСервер.РазностьМассивов(Коллекция, ЗагрузитьКоллекцию(ВычитаемаяКоллекция)); НоваяКоллекция = ОбщегоНазначенияКлиентСервер.РазностьМассивов(Коллекция, ЗагрузитьКоллекцию(ВычитаемаяКоллекция));
Возврат ЭтотОбъект.СоздатьНовый().ВзятьИз(НоваяКоллекция); Возврат ЭтотОбъект.СоздатьНовый().ВзятьИз(НоваяКоллекция);
КонецФункции КонецФункции
@ -425,15 +488,24 @@
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция УдалитьВсеВхождения(Знач _Значение) Экспорт Функция УдалитьВсеВхождения(Знач _Значение) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УдалитьВсеВхожденияЗначенияИзМассива(Коллекция, _Значение); ОбщегоНазначенияКлиентСервер.УдалитьВсеВхожденияЗначенияИзМассива(Коллекция, _Значение);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция УдалитьВсеВхожденияТипа(Знач Тип) Экспорт Функция УдалитьВсеВхожденияТипа(Знач Тип) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УдалитьВсеВхожденияТипаИзМассива(Коллекция, Тип); ОбщегоНазначенияКлиентСервер.УдалитьВсеВхожденияТипаИзМассива(Коллекция, Тип);
Возврат ЭтотОбъект; Возврат ЭтотОбъект;
КонецФункции КонецФункции
Функция СделатьПлоским() Экспорт Функция СделатьПлоским() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
КоллекцияРезультат = Новый Массив; КоллекцияРезультат = Новый Массив;
Очередь = Новый Массив; Очередь = Новый Массив;