8.х вопрос по списку значений

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем bannov, 25 мар 2011.

  1. TopicStarter Overlay
    bannov
    Offline

    bannov Опытный в 1С

    Регистрация:
    17 дек 2008
    Сообщения:
    185
    Симпатии:
    0
    Баллы:
    26
    Написал с помощью таблицы значений, всё работает. Теперь нужно чтобы так же, но через список значений. Подскажите пожалуйста как?

    Код:
    КвалифЧисла=Новый КвалификаторыЧисла(2, 0, ДопустимыйЗнак.Неотрицательный);
    ТабЗнач = Новый ТаблицаЗначений();
    ТабЗнач.Колонки.Добавить("Склад", Новый ОписаниеТипов("СправочникСсылка.Склады"));
    ТабЗнач.Колонки.Добавить("Флаг", Новый ОписаниеТипов("Число", КвалифЧисла));
    Для Каждого Стр Из СкладыИК Цикл
    ТекСклад=Склад(Стр.КодИК);
    Если ТекСклад.Пустая()Тогда
    Продолжить;			
    КонецЕсли;
    НовСтр=ТабЗнач.Добавить();
    НовСтр.Склад=ТекСклад;
    НовСтр.Флаг=1;	
    КонецЦикла;
    ТабЗнач.Свернуть("Склад", "Флаг");
    Ошибка=Ложь;
    Для Каждого Стр Из ТабЗнач Цикл
    Если Стр.Флаг>1 Тогда
    Ошибка=Истина;
    Сообщить("Дублирование: ("+Стр.Склад.Код+") "+Стр.Склад);
    КонецЕсли;
    КонецЦикла;
    Если Ошибка Тогда
    Возврат;
    КонецЕсли;
    
    
    
  2. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    как-то так.. может ещё проще можно..

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

Поделиться этой страницей