8.х Создание запроса

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

  1. TopicStarter Overlay
    iLona90
    Offline

    iLona90 Опытный в 1С

    Регистрация:
    9 ноя 2015
    Сообщения:
    131
    Симпатии:
    2
    Баллы:
    29
    Доброго дня, используем 1С:Предприятие 8.3 (8.3.7.2008), Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.43.137). Появилась такая проблемка: нужно из накладной на реализацию сделать запрос, который будет искать позиции используемые в накладных на реализацию, в накладных на поступление, что бы узнать когда был приход. у обеих накладных, всегда будет совпадать дата, попробовала сделать запрос, установить фильтр по датам. но не могу сообразить, как мне установить фильтр по позиции из табличной части Накладной на Реализацию.
    Код:
    ДокОбъект = Документы.ОперацияБух.СоздатьДокумент();
        ДокОбъект.Дата = ТекущаяДатаДокумента;
        ДокОбъект.Записать();
       
        Запрос = новый Запрос;
        Запрос.УстановитьПараметр("Дата",ТекущаяДатаДокумента);
        Запрос.Текст = "ВЫБРАТЬ
                       |    ПоступлениеТоваровУслуг.Дата КАК Дата,
                       |    ПоступлениеТоваровУслуг.Организация КАК Организация,
                       |    ПоступлениеТоваровУслуг.Товары.(
                       |        Номенклатура КАК Номенклатура,
                       |        Сумма КАК Сумма
                       |    )
                       |ИЗ
                       |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
                       |ГДЕ
                       |    НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслуг.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)";
                      
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
       
    
    Пока у меня получилось так, а что дальше делать, не могу сообразить...
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.767
    Симпатии:
    509
    Баллы:
    204
    Обращайтесь сразу к табличным частям, как-то так:
    Код:
    ПоступлениеТоваровУслуг.Ссылка.Дата КАК Дата,
    ПоступлениеТоваровУслуг.Ссылка.Организация КАК Организация
    Из
    ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг
    ........
  3. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    НУ если я правильно понял вам надо из накладных на реализациию выбрать номеклатуру, ссылку на документ и дату. поместить в Вт, затем из накладных на поступление то же самое выбрать и поместить во вторую ВТ.
    а затем Вт1и ВТ2 левым соединениеп мо номенклатура и дата и из второй подтянуть ссылку.

    Вопрос просто в ом что будет если одна и та же номенклатура у вас могла поступать в один и то же день разными документами
  4. TopicStarter Overlay
    iLona90
    Offline

    iLona90 Опытный в 1С

    Регистрация:
    9 ноя 2015
    Сообщения:
    131
    Симпатии:
    2
    Баллы:
    29
    мне нужно, ну как я это вижу, обратиться к табличной части документа на реализацию из которого я делаю запрос.
    что-то на подобие

    Код:
    НоменклатураР = Объект.А тут путь на табличную часть.Номенклатура.Наименование();
    
    что бы потом можно было использовать переменную, в условии(фильтре) для поиска нужной накладной на поступление
  5. TopicStarter Overlay
    iLona90
    Offline

    iLona90 Опытный в 1С

    Регистрация:
    9 ноя 2015
    Сообщения:
    131
    Симпатии:
    2
    Баллы:
    29
    Да, вы правы, так и должно быть, по поводу поступления, такого не бывает. Именно в этом случае у нас Накладная на Реализацию, полностью совпадает с накладной на Поступление. Экспорт за границу производим.
  6. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Тогда в самом простом виде так
    Код:
    ВЫБРАТЬ
        НАЧАЛОПЕРИОДА(РеализацияТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаРеализации,
        РеализацияТоваровУслугТовары.Ссылка КАК Реализация,
        РеализацияТоваровУслугТовары.Номенклатура КАК НоменклатураРеализации
    ПОМЕСТИТЬ ВТРеализаций
    ИЗ
        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаПоступления,
        ПоступлениеТоваровУслугТовары.Ссылка КАК Поступления,
        ПоступлениеТоваровУслугТовары.Номенклатура КАК НоменклатураПоступления
    ПОМЕСТИТЬ ВТПоступления
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВТРеализаций.ДатаРеализации,
        ВТРеализаций.Реализация,
        ВТРеализаций.НоменклатураРеализации,
        ВТПоступления.Поступления
    ИЗ
        ВТРеализаций КАК ВТРеализаций
            ЛЕВОЕ СОЕДИНЕНИЕ ВТПоступления КАК ВТПоступления
            ПО ВТРеализаций.ДатаРеализации = ВТПоступления.ДатаПоступления
                И ВТРеализаций.НоменклатураРеализации = ВТПоступления.ДатаПоступления
  7. TopicStarter Overlay
    iLona90
    Offline

    iLona90 Опытный в 1С

    Регистрация:
    9 ноя 2015
    Сообщения:
    131
    Симпатии:
    2
    Баллы:
    29
    Спасибо большое) я почти разобралась, что здесь происходит) у меня один вопросик только, могу ли я полученную информацию использовать в дальнейшем коде?
    например мы нашли эту накладную на поступление и мне необходимо вытянуть реквизиты этой накладной Организация, сумма, и т.д. (НакладнаяП = НайденаяОрганизация.Контрагент.Название();) как-нибуудь так)
  8. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    ну у Вас же в запросе ссылка на документ вытаскивается, ну организация - контрагент - точно реквизиты есть - сумма документа - надо смотреть

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