8.х Обход строк запроса по номеру строки

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

  1. TopicStarter Overlay
    DrBlack
    Offline

    DrBlack Опытный в 1С

    Регистрация:
    8 янв 2010
    Сообщения:
    79
    Симпатии:
    1
    Баллы:
    29
    Доброго времени суток!
    Мне необходимо обойти строки запроса опираясь на индекс (номер строки). Почему? Я вывожу отчет в 2-ва столбца, где в 1м стобце идут строки: 1,2,3,4,...,N/2, а во 2м строки: N/2+1, N/2+2,...,N, наглядний так:
    Строка 1 Строка 5
    Строка 2 Строка 6
    Строка 3 Строка 7
    Строка 4
    Люди добрые, как можно обратиться к строке по индексу?
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Выгрузив результат в ТЗ,
    но проще настроить вывод в 2 колонки, задаете признак вывода в первую или вторую колонку, для первой колонки используете "Вывести", для второй колонки "Присоединить"

    Хотя нет, в таком порядке не выведете. Покажите запрос, который выбирает данные.
  3. TopicStarter Overlay
    DrBlack
    Offline

    DrBlack Опытный в 1С

    Регистрация:
    8 янв 2010
    Сообщения:
    79
    Симпатии:
    1
    Баллы:
    29
    Не разобрался как вы советовали по 2-му методу (если нетрудно, приведите пример), зато реализовал 1-м методом и все давольно просто решается:
    Код:
    ТабДок = Новый ТабличныйДокумент();
    //Получение макета
    Макет = ПолучитьОбщийМакет("ПечатьНаименованиеТовара");
    //Получение части документа из макета
    Область = Макет.ПолучитьОбласть("ЗагДок");
    // действия по заполнению параметров части документа
    Область.Параметры.Поставщик = НаименованиеПоставщика.Наименование;
    ТабДок.Вывести(Область);
    Область = Макет.ПолучитьОбласть("ШапДок");
    ТабДок.Вывести(Область);
    Область = Макет.ПолучитьОбласть("СпиДок");
    //создать запрос на проверку кол-ва записей
    ТаблицаЗначений = Новый ТаблицаЗначений;
    ТаблицаЗначений = ЭлементыФормы.НаименованиеТовара.Значение;
    КолЗап = ТаблицаЗначений.Количество();
    //Выводим данные в отчет
    Н = 0;
    СредЗап = Окр(КолЗап/2+0.5,4,0);
    Пока Н < СредЗап Цикл          
    Область.Параметры.НаимЛ = ТаблицаЗначений.Получить(Н).Наимен;
    Область.Параметры.ЦенаЛ = ТаблицаЗначений.Получить(Н).ЗакЦ;
    Н2 = СредЗап+Н;
    Если Н2 < КолЗап Тогда
    Область.Параметры.НаимП = ТаблицаЗначений.Получить(Н2).Наимен;
    Область.Параметры.ЦенаП = ТаблицаЗначений.Получить(Н2).ЗакЦ;
    Иначе
    Область.Параметры.НаимП = "";
    Область.Параметры.ЦенаП = "";
    КонецЕсли;
    ТабДок.Вывести(Область);
    Н = Н + 1;
    КонецЦикла;    
    ТабДок.Показать()
    
    
    ЗЫ - Спасибо за совет!
    ЗЫ2 - я вместо построения запроса, перенес данные в таблицу значений из таблицы формы, что намного все упростило! )
Похожие темы
  1. smallangel
    Ответов:
    21
    Просмотров:
    4.381
Загрузка...

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