Пишу отчет, в котором хочу видеть следующее: Все документы отчет производства за смену за определенный период, с учетом подразделений затрат(именно подразделений затрат, а не просто подразделений). Это пока ясно как запросом написать. Сложнее далее. В отчете нужно видеть продукцию, которая состоит из материалов, причем показывать только ту продукцию, которая будет списываться по 21 счету именно(колонка счет учета)! То есть если у нас Продукция шкаф состоит из 3 материалов:
полка
шурупы
дверь

полка и дверь списываются по 21 счету, а шурупы нет, то в отчет Шкаф у нас все равно попадает, вот как задать такое условие в запросе?

```1c
    ВЫБРАТЬ
    ОтчетПроизводстваЗаСменуПродукция.Номенклатура,
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.Ссылка
    ИЗ
    Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
    ГДЕ
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.ПодразделениеЗатрат = &ПодразделениеЗатрат
```
---
Вожак, Да, именно так. Если вам оно не надо, уберите и добавьте нужные вам поля. Например подразделение, ответственный)
---
```1c
    ВЫБРАТЬ
    ВЫБОР
    КОГДА ОтчетПроизводстваЗаСменуМатериалы.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Полуфабрикаты)
    ТОГДА ОтчетПроизводстваЗаСменуПродукция.Номенклатура
    КОНЕЦ КАК Поле1,
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.Ссылка
    ИЗ
    Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция,
    Документ.ОтчетПроизводстваЗаСмену.Материалы КАК ОтчетПроизводстваЗаСменуМатериалы
    ГДЕ
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.ПодразделениеЗатрат = &ПодразделениеЗатрат
```

Вот такой вариант на ум пришел
---
Вы ничего не забыли в запросе?
например указать соединение?
и нафига ОтчетПроизводстваЗаСменуПродукция.Ссылка.Ссылка, достаточно ОтчетПроизводстваЗаСменуПродукция.Ссылка
Ну и ещё, у вас продукция и материалы один и тот же справочник?
---
Хотя походу разный... Делай внутреннее соединение (ведь материалы как-то ж связаны с продукцией). А в условие соединение пихай условие на счет.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
ОтчетПроизводстваЗаСменуПродукция.Ссылка.Ссылка однозначно надо убирать, это в разы замедляет выполнение запроса!

а по-поводу условия почему в выражение ГДЕ не засунуть

```1c
    ОтчетПроизводстваЗаСменуМатериалы.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Полуфабрикаты)
```

?
---
Olie, ну где у меня в условиях ведь, а можно и в этом куске когда его использовать?
---
В чем еще может возникнуть проблема:
Материалы могут так же состоять из спецификаций, то есть
Шкаф - продукция, состоит из материалов
Доска
гвозди
дверь
Дверь в свою очередь состоит из петель и дерева, и вот когда такие моменты есть, то мне в отчет нужно и дверь как продукцию помещать
---
засунуть дверь в продукцию изначально не вариант?
Табличные части продукция и материалы как-то связаны между собой?
---
Sevens, Продукция это по сути спецификация, а материалы - это то, из чего состоит эта спецификация
---
Хорошо, на сколько я понял как пример:

```1c
    ВЫБРАТЬ
    ОтчетПроизводстваЗаСменуПродукция.Номенклатура,
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.Ссылка
    ИЗ
    Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
    Внутреннее Соединение Документ.ОтчетПроизводстваЗаСмену.Материалы КАК ОтчетПроизводстваЗаСменуМатериалы ПО
    ОтчетПроизводстваЗаСменуПродукция.Ссылка = ОтчетПроизводстваЗаСменуМатериалы.ссылка
    и ОтчетПроизводстваЗаСменуПродукция.Номенклатура.Спецификация = ОтчетПроизводстваЗаСменуМатериалы.Материал.Спецификация
    и ОтчетПроизводстваЗаСменуМатериалы.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Полуфабрикаты)
    ГДЕ
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.ПодразделениеЗатрат = &ПодразделениеЗатрат
```

оптимальней было бы перевести на временные таблицы, хотя не факт.
---
Sevens, увеличится быстродействие?
---
Имхо, да. Но я не эксперт в данном вопросе, так что гарантировать не могу. Как по мне быстрее бы было через временные, так как в выше приведенном мною коде, сначала соединяется все таблицы продукций со всеми таблицами материалов(вне зависимости от даты, подраздления и прочего) по условиям соединения. После чего накладывается условия ГДЕ на всю эту огромную выборку.
---
Sevens, а во временные таблицы как это переводить? создавать табилцы в запросе, в них колонки аналогичные по названиям тем, что в Отчете за смену?
---
...эээ... забудьте о временных таблицах, вначале разберитесь с тем что написано в (11) и скажите, что у вас не работает?
---
Sevens,
1. у таблицы материалы нету реквизита Спецификация, поэтому летит ошибка на этом моменте
---
Sevens, сделал так, но мне кажется не совсем верно:

```1c
    ВЫБРАТЬ
    ОтчетПроизводстваЗаСменуПродукция.Ссылка КАК Документ,
    ОтчетПроизводстваЗаСменуПродукция.Номенклатура КАК Продукция,
    ОтчетПроизводстваЗаСменуПродукция.Спецификация
    ИЗ
    Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Материалы КАК ОтчетПроизводстваЗаСменуМатериалы
    ПО ОтчетПроизводстваЗаСменуПродукция.Ссылка = ОтчетПроизводстваЗаСменуМатериалы.Ссылка
    И (ОтчетПроизводстваЗаСменуМатериалы.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Полуфабрикаты))
    ГДЕ
    ОтчетПроизводстваЗаСменуМатериалы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
```
---
Вожак, У вас на каждую продукцию свой документ или 1 документ на несколько продукций?
Подозреваю что 1 документ на несколько продукций
То есть в ТЧ "продукции" у вас несколько номенклатур, а в ТЧ "Материалы" у вас расшифровки на продукцию из первой ТЧ.
Так вот эти ТЧ чем-то ещё связаны кроме как документом?
Как вы определяете что материал стекло 10*10 от продукции1, а не от продукции2?
Не зря же я в своём запросе ставил соединение по спецификаций. Подозреваю, что там другая связь, но логика та же.
---
Sevens, Связь Следующая, если смотреть по справочнику:
Справочник номенклатура - у него есть закладка спецификация, открывая данную спефицикацию мы попадаем в справочник Спецификации, там есть строка - Номенклатура ( то есть сама продукция - выходное изделение еще написано), и ниже перечень материалов, из которых состоит эта спецификация. То есть может справочник спецификации еще в запрос добавить? и сделать соединения?
---
Так же на 1 номенклатуру может быть несколько документов, как сделать группировку, чтобы повторно позиции не выводились, то есть
Документ 1
Шкаф - продукция
полка, гвозди - материалы
Документ 2
Шкаф - продукция
полка, гвозди - спецификация
При нынешнем запросе я получу
Шкаф - документ1
Шкаф - документ2
А я хочу получить просто шкаф
---
Это решается группировкой по номенклатуре и Количество(Различные документы)
(20) Вам надо связать номенклатуру из ТЧ "Продукция" с номенклатурой(или что у вас там) из ТЧ "материалы". Как это сделать, виднее вам, я не вижу структуры ваших данных.

Как пример на временны таблицах:

```1c
    ВЫБРАТЬ
    ОтчетПроизводстваЗаСменуПродукция.Номенклатура,
    ОтчетПроизводстваЗаСменуПродукция.Ссылка как Док,
    Спецификации.Ссылка как Спец
    Поместить ПродукцияСП
    ИЗ
    Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
    ЛевоеСоединение Спрвочник.Спецификации как Спецификации ПО
    ОтчетПроизводстваЗаСменуПродукция.Номенклатура = Спецификации.НужноеВамПоле
    ГДЕ
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.ПодразделениеЗатрат = &ПодразделениеЗатрат
    ;
    ВЫБРАТЬ
    ОтчетПроизводстваЗаСменуПродукция.Материал,
    ОтчетПроизводстваЗаСменуПродукция.Ссылка как Док,
    Спецификации.Ссылка как Спец
    Поместить МатериалыСП
    ИЗ
    Документ.ОтчетПроизводстваЗаСмену.Материалы КАК ОтчетПроизводстваЗаСменуМатериалы
    ЛевоеСоединение Спрвочник.Спецификации как Спецификации ПО
    ОтчетПроизводстваЗаСменуМатериалы.Материал= Спецификации.НужноеВамПоле
    ГДЕ
    ОтчетПроизводстваЗаСменуМатериалы.Ссылка.ПодразделениеЗатрат = &ПодразделениеЗатрат
    и ОтчетПроизводстваЗаСменуМатериалы.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Полуфабрикаты)
    ;
    ВЫБРАТЬ
    ПродукцияСП.Док,
    ПродукцияСП.Номенклатура,
    ПродукцияСП.Спец,
    МатериалыСП.Материал
    Из
    ПродукцияСП как ПродукцияСП
    Внутреннее Соединение МатериалыСП как МатериалыСП По
    ПродукцияСП.Док = МатериалыСП.Док
    И ПродукцияСП.Спец = МатериалыСП.Спец
```

Это только пример, скорее всего он не верный (имеется ввиду не правильная связь продукции со спецификацией и материалов со спецификацией, тут вам надо самим написать).
Ну и когда получите нужный результат сгруппируйте по полю номенклатура, а с остальным сделайте то что вам будет необходимо)
---
Sevens, Так же могут быть полуфабрикаты, то есть на закладке продукция будет номенклатура, у которой нет спецификации, но на закладке материалы есть материалы, из которых она состоит
---
ещё раз, как вы знаете что именно из этих материалов состоит полуфабрикат?
---
попробую еще раз более подробно описать суть всего происходящего.
Есть Документ в БП КОРП 2.0 Отчет производства за смену. В нем на закладе продукция - указывается продукция, которая была произведена. В этом же документе на закладке Материалы - указываюстя материалы, которые использовались для производства данной продукции. Нужно сделать отчет( но по сути запрос, который потом в скд можно подставить и получится отчет), в котором будут показаны те продукции, в которых материал списывался по 21 счету.
---
а ещё раз спрошу, как связаны эти две ТЧ между собой, по какому полю?
Допустим ТЧ "продукция", колонки: Номенклатура,Количество. ТЧ "Материалы", колонки: Материал,Количество,Номенклатура.
Тогда у получается связь по ТЧ"Продукция" Колонка Номенклатура = ТЧ "Материалы" колонка "Номенклатура".
У вас как? у меня нет под рукой вашей конфы.
---
Sevens, напишите почту, пришлю вам конфу, заодно будет БП корп у вас) я так понимаю они не по какому полю не связаны, лишь в рамках 1 документа
---
Пример:

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ОтчетПроизводстваЗаСменуМатериалы.Ссылка как Доки
    Поместить СпДок
    Из
    Документ.ОтчетПроизводстваЗаСмену.Материалы как ОтчетПроизводстваЗаСменуМатериалы
    Где
    ОтчетПроизводстваЗаСменуМатериалы .Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ОтчетПроизводстваЗаСменуМатериалы.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Полуфабрикаты)
    ;
    ВЫБРАТЬ
    ОтчетПроизводстваЗаСменуПродукция.Номенклатура КАК Продукция,
    КОЛИЧЕСТВО(Различные ОтчетПроизводстваЗаСменуПродукция.Ссылка) КАК КолВоДок
    ИЗ
    Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
    Внутреннее Соединение СпДок как СпДок
    По ОтчетПроизводстваЗаСменуПродукция.Ссылка = СпДок.Док
    ГДЕ
    ОтчетПроизводстваЗаСменуПродукция.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

    СГРУППИРОВАТЬ ПО
    ОтчетПроизводстваЗаСменуМатериалы.Номенклатура
```

Описание: Сначала отбираем все документы за период у которых в тч материалы есть материалы со счетом Полуфабрикаты. Потом выбираем всю продукцию из этих документов.
---
Sevens, а к чему количество документов различных? чтобы мы видели количество документов, в которых есть продукция?
---
Вожак, Да, именно так. Если вам оно не надо, уберите и добавьте нужные вам поля. Например подразделение, ответственный)
---
Sevens, Окей, спасибо