Имя: Пароль:
1C
1С v8
Как удалить пустые элементы с массива и как вставить в многомерный массив элемент
,
0 pnamik
 
29.09.18
09:54
Добрый день
Есть массив
МойМассив = Новый Массив(3,10);
    МойМассив[0][6] = "Мы";
    МойМассив[0][9] = "создали";
    МойМассив[1][4] = "новый";
    МойМассив[1][7] = "трехуровневый";
    Моймассив[2][5] = "массив";

Для Каждого Строка Из МойМассив Цикл
                Для Каждого Элемент Из Строка Цикл
              УдалитьПустыеЭлементы(МойМассив);
            Сообщить(Элемент);
            КонецЦикла;
        Сообщить(" ");
    КонецЦикла;
    
    Сообщить(" ");


1. Нужно вывести сообщения в виде "Мы создали новый трехуровневый массив" без пустых элементов.
Попробовали два варианта в виде процедуры
Процедура УдалитьПустыеЭлементы(МойМассив)
    
    //Индекс = МойМассив.ВГраница();
    //Пока Индекс >= 0 Цикл
    //    Если ТипЗнч(МойМассив[Индекс]) = Неопределено Тогда
    //        МойМассив.Удалить(Индекс);
    //    КонецЕсли;
    //    Индекс = Индекс - 1;
    //КонецЦикла;
    
    
    
    
    
    Счетчик = 0;
    КоличествоЭлементов = МойМассив.Количество();
    
    Пока Счетчик < КоличествоЭлементов Цикл
        
        Если МойМассив [Счетчик] = Неопределено Тогда
            МойМассив.Удалить(Счетчик);
            
            КоличествоЭлементов = КоличествоЭлементов - 1;
            
        Иначе
            Счетчик = Счетчик + 1;
            
        КонецЕсли;
        
    КонецЦикла;

КонецПроцедуры

Никакой реакции. Выводятся все элементы. Где ошибка?

2. Как добавить и вставить в нужную ячейку этого многомерного массива элементы с конкретным значением?
Например, добавить 3 строку из 10 столбиков, и вставить в 3,4 слово "Добавили", а в 3,8 слово "Элементы"?
Функции МойМассив.Вставить(3, "новое значение") и МойМассив.Добавить () не работают.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший