8.х Две выборки в одну строку

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

  1. TopicStarter Overlay
    Dale
    Offline

    Dale

    Регистрация:
    26 авг 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте. Меня инетерсует как можно передать в одну строку (область макета) результаты двух разных запросов. Строка будет формировать циклом табличную часть в печатной форме и в этом цикле нужно использовать как-то выборки двух запросов. Может кто-нибудь подсказать в двух словах как это сделать ?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А запросы объеденить нельзя в один, ведь вы то по какому то критерию знаете что вот этой строке из 1 запроса соответсвует во эта из 2го. Соеденяйте запросы в один и все. Это даже правильно
  3. TopicStarter Overlay
    Dale
    Offline

    Dale

    Регистрация:
    26 авг 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Я пробовал объединять - была ошибка что в объединяемых запросах разное количество полей. И еще в объединяемых запросах нельзя использовать поля неограниченной длины (к сожалению такое есть). Может по-другому как-нибудь можно ? "Неправильно" ?)
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Это все можно исправить. Покажите тексты запросов.
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну выкладывайет глянем, а если не объеденять, то цикл в цикле

    т.е Начинаете перебирать первую выборку, вывели ее первый элемент, сразу же тут цик по 2 выборке перебираете ее пока не находите нужный, выводите и стопите 2й цикл, потом пойдет 2й элемент из выборки 1. т.к цикл и т.д

    Пока Выборка1.Следующий() Цикл
    а=Выборка1.Поле1;
    Пока выборка2.Следующий() Цикл

    Если ...Тогда

    б=Выборка2.Поле1;
    Прервать;

    КонецЕсли;

    КонецЦикла

    КонецЦикла
  6. TopicStarter Overlay
    Dale
    Offline

    Dale

    Регистрация:
    26 авг 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Код на работе, завтра попробую объединить. Если не получится - выложу запросы. Спасибо за разъяснения!

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