8.х в таблице значений найти строки

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Raideres, 28 июл 2016.

  1. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    200
    Симпатии:
    0
    Баллы:
    26
    с таблице значений есть города 2-строки москва 3-строки самара и 1 строка уфа

    как мне их отобрать в 3 тз. чет я торможу


    чтоб в тзмосква ---- 2 строчки москва
    В тзсамара 3 строки
    и в тз уфа 1строка

    ТЗМОКВА=ТЗВСЕ.найти (); ЭТО СТРОКУ НАХОДИТ А ВСЕ СТРОКИ

    Отбор = новый Структура;
    Отбор.Вставить("Номенклатура",МояНоменклатура);

    НайденныеСтроки = ТЗ.НайтиСтроки(Отбор);

    Если Не НайденныеСтроки.Количество() = 0 тогда

    КонецЕсли;
    Последнее редактирование: 28 июл 2016
  2. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    684
    Симпатии:
    7
    Баллы:
    29
    Чё всё такое корявое? Со смартфона что ли текст набирал? Чтоб тебе так отвечали!
    1. Я бы типизировал колонки таблицы значений;
    2. Запихнул её в пакетный запрос
    3. Использовал итоги по "Город"
    4. Обходил бы результат запроса "ПоГруппировкам"
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Выгрузить одну колонку в ТЗ и свернуть по этой колонке, далее выгрузить колонку в массив.
    Использовать массив для поиска строк в исходной таблице.
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    А если так:
    Код:
        Т = Новый Массив(3);
        ТЗ.Сортировать("Город");
        Город = Неопределено;
        сч = -1;
        Для Каждого  стр Из ТЗ Цикл
            Если НЕ(стр.Город = Город) Тогда
                сч = сч+1;
                Т[сч] = Новый ТаблицаЗначений;
                Т[сч].Колонки.Добавить("Город");
               
            КонецЕсли;
            СтрТаб = Т[сч].Добавить();
            СтрТаб.Город = стр.Город;
            Город = стр.Город;
        КонецЦикла;
    
    Последнее редактирование: 29 июл 2016
  5. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    Написано же..
    Где у вас 3 тз? Пока только 1 вижу.
    Как минимум создаете копированием еще 2 ТЗ, а затем из каждой удаляете ненужное.

    А НайтиСтроки("Город",ГородМосква) найдет вам массив строк по определенному отбору.
  6. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Доброго всем,
    Не надо таких сложностей, все просто см. СП
    пример
    Код:
    НоаваяТаблицаМосква = ТЗВСЕ.Скопировать(Новый Структура("Номенклатура",МояНоменклатура));
    
    --- Объединение сообщений, 29 июл 2016 ---
    где конечно МояНоменклатура = "Москва"; // вообще, значение соотв. типа, как в колонке исх. таб. значений

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