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

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 @@
Возврат ЭтотОбъект;
КонецФункции
Функция УдалитьВсеВхождения(Знач _Значение) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УдалитьВсеВхожденияЗначенияИзМассива(Коллекция, _Значение);
Возврат ЭтотОбъект;
КонецФункции
Функция УдалитьВсеВхожденияТипа(Знач Тип) Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УдалитьВсеВхожденияТипаИзМассива(Коллекция, Тип);
Возврат ЭтотОбъект;
КонецФункции
Функция СделатьПлоским() Экспорт
Если НЕ Тип("Массив") = ТипЗнч(Коллекция) Тогда
ЭтотОбъект.Начать();
КонецЕсли;
КоллекцияРезультат = Новый Массив;
Очередь = Новый Массив;