8.х ПОЛНОЕ ОБЪЕДИНЕНИЕ

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

  1. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    Здравствуйте, уважаемые пользователи!
    Выручайте, требуют отчет в СКД, а я с ним справиться не могу, уже закипаю.

    Платформа 8.2

    Допустим есть документ: Заказ 008 от 05.03.2015
    В документе две абсолютно одинаковые табличные части:
    Код:
    ТоварыФакт__________и_________ТоварыПлан
    Наим.______Кол-во_____________Наим.______Кол-во
    Ручка______5__________________Ручка______5
    Карандаш___2__________________Карандаш___2
    ______________________________Ластик_____4
    
    т.е. ТоварыПлан на одну позицию больше

    я пишу такой запрос:
    Код:
    ВЫБРАТЬ
        ЗаказТоварыФакт.Номенклатура,
        ЗаказТоварыПлан.Номенклатура КАК Номенклатура1
    ИЗ
        Документ.Заказ.ТоварыФакт КАК ЗаказТоварыФакт
            ПОЛНОЕ СОЕДИНЕНИЕ Документ.Заказ.ТоварыПлан КАК ЗаказТоварыПлан
            ПО ЗаказТоварыФакт.Номенклатура = ЗаказТоварыПлан.Номенклатура
                И ЗаказТоварыФакт.Ссылка = ЗаказТоварыПлан.Ссылка
    
    А он мне выводит всего две строчки:
    Ручка______Ручка
    Карандаш___Карандаш

    Когда должен:
    Ручка________Ручка
    Карандаш____Карандаш
    NULL________Ластик

    или не должен!? что я неправильно делаю? вроде как ПОЛНОЕ СОЕДИНЕНИЕ
  2. Svb
    Offline

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

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Какие поля выводятся в СКД?
    --- Объединение сообщений, 5 мар 2015 ---
    Можете прикрепить отчет?
  3. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    могу, в отчете, которыя скинул выводится только одно поле, но с двумя полями Номенклатура тоже самое, проверено

    Вложения:

    Последнее редактирование: 5 мар 2015
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    А за чем Вам соединение, может Вам надо как в теме Объединение
    ОБЪЕДЕНИТЬ ВСЕ
    тогда результатом объединения будет как раз
    Ручка 10
    Карандаш 4
    Ластик 4

    Ну или если во втором запросе количество с минусом возьмете то
    Ручка 0
    Карандаш 0
    Ластик -4
  5. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    Нет, нужно соединение, т.е. количество по факту, и количество по плану нужно видеть, я просто в вопросе результат коротко написал, должно быть так:
    Ручка 5 5
    Карандаш 2 2
    Ластик 0 4
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Сделайте Объединение с двумя колонками: КолвоПлан, КолвоФакт и группируйте по номенклатуре результат объединения.
  7. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    xxx949
    Выберите сначала товары из двух табличных частей в две временные таблицы, потом соединяйте эти две временные таблицы как у вас в первом посте написано.
  8. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    я так тоже пробовал, не получилось, выдает такой же результат. я так предполагаю, что есть документ, у него есть товары, в одной из ТЧ на один товар меньше. но мне нужно вытащить все товары из двух таблиц, совместить их по названию и к тому же знать, что все эти товары относятся к одному и тому же документу, так как документов может быть несколько. А так как я их сверяю по ссылке, то не может быть сверен отсутствующий товар, у которого вообще ссылки никакой нет, поэтому программа его полностью выкидывает.

    Вот со справочниками все предельно просто и все работает, а вот с документами не могу сообразить как , ведь понимаю, что нужно привязываться к ссылке на документ. Т.к. ручка может быть как в одном документе, так и в другом и он должен их не сгруппировать, а показать отдельно: т.е.
    Код:
    Заказ 008     Ручка     5     3
    Заказ 012     Ручка     2     4
    Заказ 012     Ластик    0     5
    Последнее редактирование: 5 мар 2015
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Ну правильно nomad_irk продолжает мою тему - тогда просто количество не в одну колонку а две разных сделайте и все
  10. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    не верю.
    вероятно ошиблись в запросе.

    Upd: А хотя может и верю. Попробовать надо.


    Upd1: Попробовал. Не, все же не верю.
    --- Объединение сообщений, 5 мар 2015 ---
    Прочитал ваш 5-й пост.
    Сделайте как в #6 советуют, вы же все равно еще количество вытаскивать и суммировать будете.
    --- Объединение сообщений, 5 мар 2015 ---
    Если совсем точно, то по номенклатуре и документу. )
    Последнее редактирование: 5 мар 2015
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Так будет быстрее по скорости, чем делать соединение.

    Код:
    Выбрать
    ВложенныйЗапрос.Документ,
    ВложенныйЗапрос.Номенклатура,
    Сумма(ВложенныйЗапрос.КолвоПлан),
    Сумма(ВложенныйЗапрос.КолвоФакт)
    ИЗ
    (Выбрать ТЧДок.Ссылка КАК Документ,
    ТЧДок.Номенклатура,
    ТЧДок.Количество КАК КолвоПлан,
    0 КАК КолвоФакт
    ИЗ
    Документ.ИмяДокумента.ТЧ КАК ТЧДок
    ГДЕ
    ТЧДок.Ссылка = &Документ
    
    Объединить ВСЕ
    
    Выбрать
    ТЧДок.Ссылка,
    ТЧДок.Номенклатура,
    0,
    ТЧДок.Количество
    ИЗ
    Документ.ИмяДокумента.ТЧ КАК ТЧДок
    ГДЕ
    ТЧДок.Ссылка = &Документ) КАК ВложенныйЗапрос
    
    СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Документ,
    ВложенныйЗапрос.Номенклатура
    
    xxx949 нравится это.
  12. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    Я если правильно понял, сейчас воспроизведу:
    я только что сделал два набора данных, в одном я получаю таблицу ПЛАН, во втором таблицу ФАКТ (пробовал сначала по отдельности два запроса позапускать, в первом случае я получил 6 записей, во втором 5 записей, все нормально), теперь я эти два набора данных связал по номенклатуре, отчет мне вывел 5 записей, куда делась 6-я??? у меня похоже крыша едет. Или речь шла не о наборах записей?
  13. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    брр.. как вы их связали? если через закладку "связи наборов данных" - это левое соединение. Тогда уж набор данных - объединение пробуйте.
    а вообще речь шла не о наборах записей, а о временных таблицах. Набор записей - один.
    а еще nomad_irk уже написал как.
  14. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    ок, уже все получилось, спасибо огромное nomad_irk
    --- Объединение сообщений, 5 мар 2015 ---
    и всем спасибо за помощь
    --- Объединение сообщений, 5 мар 2015 ---
    Спасибо, так получилось

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