| 
    
 | 
        Почему при добавлении элементов в массив заменяется пред элемент         | 
☑ | 
    
        | 
    0
    
        gabd_marat    
       
    
    28.11.18 
            ✎
    22:18 
 | 
         
        ВыборкаИсторияИзменений = Запрос.Выполнить().Выбрать();
     МассивСтруктурыИсторияИзменений = Новый Массив;
     СтруктураИсторияИзменений = Новый Структура;
     Индекс = 0;
     Пока ВыборкаИсторияИзменений.Следующий() Цикл
         
         СтруктураИсторияИзменений.Вставить("Дата",ВыборкаИсторияИзменений.Дата);
         СтруктураИсторияИзменений.Вставить("Сотрудник",ВыборкаИсторияИзменений.Сотрудник);
         СтруктураИсторияИзменений.Вставить("Участок",ВыборкаИсторияИзменений.Участок);
         СтруктураИсторияИзменений.Вставить("Ответственный",ВыборкаИсторияИзменений.Ответственный);
         СтруктураИсторияИзменений.Вставить("Допуск",ВыборкаИсторияИзменений.Допуск);
         СтруктураИсторияИзменений.Вставить("Комментарий",ВыборкаИсторияИзменений.Комментарий);
         //МассивСтруктурыИсторияИзменений.Добавить( В(Индекс,СтруктураИсторияИзменений);
         МассивСтруктурыИсторияИзменений.Добавить(СтруктураИсторияИзменений);
 
         Индекс = Индекс + 1;
         
     КонецЦикла;     
         | 
 | 
    
    
        | 
    1
    
        RomanYS    
       
    
    28.11.18 
            ✎
    22:21 
 | 
         
        Засунь в цикл
     СтруктураИсторияИзменений = Новый Структура;     
         | 
 | 
    
    
        | 
    2
    
        gabd_marat    
       
    
    28.11.18 
            ✎
    22:26 
 | 
         
        (1) Заработало, а не должна разве структура перезаписывать пред значения?     
         | 
 | 
    
    
        | 
    3
    
        palsergeich    
       
    
    28.11.18 
            ✎
    22:31 
 | 
         
        (2) Нет, Структура - объект, по факту  МассивСтруктурыИсторияИзменений.Добавить(СтруктураИсторияИзменений); Вы в массив добавляете ссылку на объект.
 И если Вы не сделаете (1) объект и ссылка на \него будут те же, а значения там поменяются.
 И в конце Вы получите массив элементов с одной и той же ссылкой в значении.
 Делая (1) вы в переменную заставляете сделать новый объект и все становится хорошо.     
         | 
 | 
    
    
        | 
    4
    
        palsergeich    
       
    
    28.11.18 
            ✎
    22:34 
 | 
         
        Аналогия - ексли бы там была не Структура, а скажем 
 СтруктураИсторияИзменений = Справочник.ИмяСправочника.СоздатьЭлемент()
 Поведение будет такое же     
         | 
 | 
    
    
        | 
    5
    
        Конструктор1С    
       
    
    29.11.18 
            ✎
    04:03 
 | 
         
        Переделай по-человечачи
 
     ВыборкаИсторияИзменений = Запрос.Выполнить().Выбрать();
     МассивСтруктурыИсторияИзменений = Новый Массив;
    
     Индекс = 0;
     Пока ВыборкаИсторияИзменений.Следующий() Цикл
 
         СтруктураИсторияИзменений = Новый Структура("Дата,Сотрудник,Участок,Ответственный,Допуск,Комментарий");
 
         ЗаполнитьЗначенияСвойств(СтруктураИсторияИзменений, ВыборкаИсторияИзменений);
 
         МассивСтруктурыИсторияИзменений.Добавить(СтруктураИсторияИзменений);
 
         Индекс = Индекс + 1;
         
     КонецЦикла;
 
 чтобы твоему последователю меньше глаза ломать и проще было доработать/исправить     
         | 
 |