Имя: Пароль:
1C
1С v8
Список значений - некорректно добавляются строки
0 Fomania
 
02.02.12
09:56
Имею код:
   
   НужныеЦены = СоздатьОбъект("СписокЗначений");

   Если СпрТипЦен.НайтиПоКоду("00014")=1 Тогда
       НужныеЦены.ДобавитьЗначение(СпрТипЦен);
   Иначе
       Возврат;
   КонецЕсли;
   
   Если СпрТипЦен.НайтиПоКоду("00013")=1 Тогда
       НужныеЦены.ДобавитьЗначение(СпрТипЦен);
   Иначе
       Возврат;
   КонецЕсли;
   
   Если СпрТипЦен.НайтиПоКоду("00033")=1 Тогда
       НужныеЦены.ДобавитьЗначение(СпрТипЦен);
   Иначе
       Возврат;
   КонецЕсли;

При отладке обнаруживаю следующее. При добавлении первой строки:

НужныеЦены.ПолучитьЗначение(1) = (2руб.) Постоянный клиент
НужныеЦены.ПолучитьЗначение(2) =
НужныеЦены.ПолучитьЗначение(3) =
СпрТипЦен = (2руб.) Постоянный клиент

При добавлении второй строки:

НужныеЦены.ПолучитьЗначение(1) = (3руб.) Опт
НужныеЦены.ПолучитьЗначение(2) = (3руб.) Опт
НужныеЦены.ПолучитьЗначение(3) =
СпрТипЦен = (3руб.) Опт

При добавлении третьей строки:

НужныеЦены.ПолучитьЗначение(1) = (9руб.) Дилер канцеляр.
НужныеЦены.ПолучитьЗначение(2) = (9руб.) Дилер канцеляр.
НужныеЦены.ПолучитьЗначение(3) = (9руб.) Дилер канцеляр.
СпрТипЦен = (9руб.) Дилер канцеляр.

Почему в списке меняется уже добавленное значение??
1 Fomania
 
02.02.12
10:02
Это в семерке, случайно в ветку 8ки разместила
2 cw014
 
02.02.12
10:04
(0) НужныеЦены.ДобавитьЗначение(СпрТипЦен.ТекущийЭлемент());

Иначе ты добавляешь, как бы это сказать по восьмерошному - менеджер справочника
3 cw014
 
02.02.12
10:05
(0) See, that's not a bug, it's a feature...
4 Fomania
 
02.02.12
10:20
(2)Спасибо! Что-то я про ТекущийЭлемент забыла )
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший