Конструктор массива (Массив = Массив(Значение1, ... , Значение20))

mikaelangelm 70 1 1 3

- Конструктор массива берет на вход до 20 Параметров, и возвращает их в виде массива - Если первый Параметр это Массив, то в него добавляются остальные Параметры - Рекомендуется добавить в Глобальный модуль - Пример использования: ТЗ = Новый ТаблицаЗначений; Для Каждого ИмяКолонки Из Массив("Колонка1", "Колонка2") Цикл ТЗ.Колонки.Добавить(ИмяКолонки) КонецЦикла;

Функция Массив(
    Значениеначение1=Неопределено, Значение2=Неопределено, Значение3=Неопределено, Значение4=Неопределено, Значение5=Неопределено, 
    Значение6=Неопределено, Значение7=Неопределено, Значение8=Неопределено, Значение9=Неопределено, Значение10=Неопределено, 
    Значение11=Неопределено, Значение12=Неопределено, Значение13=Неопределено, Значение14=Неопределено, Значение15=Неопределено, 
    Значение16=Неопределено, Значение17=Неопределено, Значение18=Неопределено, Значение19=Неопределено, Значение20=Неопределено) Экспорт
    
	Если ТипЗначения(Значение1) = Тип("Массив") Тогда
		М = Значение1	
	Иначе  
		М = Новый Массив();
		Если Значение1=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение1); КонецЕсли;
	КонецЕсли;
    
   Если Значение2=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение2); КонецЕсли; 
   Если Значение3=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение3); КонецЕсли; 
   Если Значение4=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение4); КонецЕсли; 
   Если Значение5=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение5); КонецЕсли; 
   Если Значение6=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение6); КонецЕсли; 
   Если Значение7=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение7); КонецЕсли; 
   Если Значение8=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение8); КонецЕсли; 
   Если Значение9=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение9); КонецЕсли; 
   Если Значение10=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение10); КонецЕсли; 
   Если Значение11=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение11); КонецЕсли; 
   Если Значение12=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение12); КонецЕсли; 
   Если Значение13=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение13); КонецЕсли; 
   Если Значение14=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение14); КонецЕсли; 
   Если Значение15=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение15); КонецЕсли; 
   Если Значение16=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение16); КонецЕсли; 
   Если Значение17=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение17); КонецЕсли; 
   Если Значение18=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение18); КонецЕсли; 
   Если Значение19=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение19); КонецЕсли; 
   Если Значение20=Неопределено Тогда Возврат М; Иначе М.Добавить(Значение20); КонецЕсли;
	
	Возврат М;
КонецФункции
3
{1} Высокая цикломатическая сложность: 62
Орфографическая ошибка в Значениеначение1: Значениеначение
Орфографическая ошибка в Неопределено (найдено 40): Неопределено

Комментарии

reborn85
#1, 17 ноября 2020 16:37

зачем так усложнять то... есть же банально СтрРазделить(ИсходнаяСтрока) и все а на выходе одна строку с разделителем которую проще сделать чем 100500 параметров использовать


bolsun
#2, 03 декабря 2020 22:34

З1 = Неопределено вводит в некоторый ступор, пока не поймешь что это З - не цифра, а буква 😃
Я бы использовал П1, П2, П3 ...


mikaelangelm
#3, 28 декабря 2020 12:21

(1) reborn85, массив может содержать произвольные значения, при этом записывается удобно - в 1 строку, а не в 20. Хз, мне ИМХО очень много времени экономит в работе.


См. также

Значение в массиве

Удаление значения из массива

Дополнить массив МассивПриемник значениями из массива МассивИсточник

ДополнитьМассив (БСП)

МассивБезДублей

ДополнитьТаблицуИзМассива (БСП)

ЗначениеВМассиве (БСП)

ЗаполнитьМассивУникальнымиЗначениями

СвернутьМассив (БСП)

Модератору