Имя: Пароль:
1C
1С v8
Выводятся не все записи запроса
0 Len1vec
 
09.06.21
15:32
Добрый день.
Подскажите, пожалуйста.
Есть "Комплексная автоматизация 2". Делаю отчет. В нём ВТ "Продукция" и справочник "Партии производства". Соединяю продукцию и партии левым соединением по некоторым значениям, а в результат запроса попадают только те записи, которые присутствуют в "партии".

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Продукция.ДокументПроизводства КАК ДокументПроизводства,
    Продукция.Номенклатура КАК Номенклатура,
    Продукция.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    Продукция.Количество КАК Количество,
    Продукция.Склад КАК Склад,
    Продукция.Спецификация КАК Спецификация,
    ПартииПроизводства.ГруппаЗатрат КАК ГруппаЗатрат,
    ПартииПроизводства.Ссылка КАК Ссылка
ПОМЕСТИТЬ ПродукцияПартии
ИЗ
    Продукция КАК Продукция
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК ПартииПроизводства
        ПО Продукция.Номенклатура = ПартииПроизводства.Номенклатура
            И Продукция.ХарактеристикаНоменклатуры = ПартииПроизводства.Характеристика
            И Продукция.ДокументПроизводства.ГруппировкаЗатрат = ПартииПроизводства.ГруппировкаЗатрат
            И Продукция.ДокументПроизводства = ПартииПроизводства.Документ.Ссылка
ГДЕ
    НЕ ПартииПроизводства.ПометкаУдаления
;


Пример:
ВТ "Продукция"
Документ №1 Сумка 10х10 5000 шт.
Документ №2 Сумка 10х15 3000 шт.

ВТ "ПродукцияПартии"
Документ №2 Сумка 10х15 3000 шт. ГруппаЗатрат2

В ВТ "ПродукцияПартии" нет записи справочника "Партии производства" для документа 1, хотя в запись с пустой группой затрат присутствовать должна. Хотелось бы так:
ВТ "ПродукцияПартии"
Документ №1 Сумка 10х10 5000 шт. NULL
Документ №2 Сумка 10х15 3000 шт. ГруппаЗатрат2
1 mikecool
 
09.06.21
15:36
перенеси ГДЕ
    НЕ ПартииПроизводства.ПометкаУдаления  в условия соединения
иначе получается внутреннее соединение
2 Len1vec
 
09.06.21
15:41
(1) ИЗ
    Продукция КАК Продукция
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК ПартииПроизводства
        ПО Продукция.Номенклатура = ПартииПроизводства.Номенклатура
            И Продукция.ХарактеристикаНоменклатуры = ПартииПроизводства.Характеристика
            И Продукция.ДокументПроизводства.ГруппировкаЗатрат = ПартииПроизводства.ГруппировкаЗатрат
            И Продукция.ДокументПроизводства = ПартииПроизводства.Документ.Ссылка
            И (НЕ ПартииПроизводства.ПометкаУдаления)

Не помогло
3 Kassern
 
09.06.21
15:46
(0) так вы соединяете партии с продукцией левым соединением, поэтому у вас и обрезается продукция.
4 Kassern
 
09.06.21
15:49
(3) а не чет я загоняюсь под конец рабочего дня. Уберите условие в конце и запихните его в связи.
5 Len1vec
 
09.06.21
15:55
(4) в (2) перенес - не помогло
6 Kassern
 
09.06.21
15:57
(5) значит сделал что-то не так, потому как левое соединение оставляет все записи из левой таблицы и не должно обрезать их. Значит где-то есть еще условия, которые ее обрезают
7 Len1vec
 
09.06.21
16:02
(6) Я скинул запрос в полном виде. Даже в консоли запросов выдает не так, как хочется
8 Len1vec
 
09.06.21
16:02
ВЫБРАТЬ
    ПроизводствоБезЗаказаВыходныеИзделия.Ссылка КАК ДокументПроизводства,
    ПроизводствоБезЗаказаВыходныеИзделия.Номенклатура КАК Номенклатура,
    ПроизводствоБезЗаказаВыходныеИзделия.Характеристика КАК ХарактеристикаНоменклатуры,
    ПроизводствоБезЗаказаВыходныеИзделия.Количество КАК Количество,
    ПроизводствоБезЗаказаВыходныеИзделия.Получатель КАК Склад,
    ПроизводствоБезЗаказаВыходныеИзделия.Спецификация КАК Спецификация
ПОМЕСТИТЬ Продукция
ИЗ
    Документ.ПроизводствоБезЗаказа.ВыходныеИзделия КАК ПроизводствоБезЗаказаВыходныеИзделия
ГДЕ
    ПроизводствоБезЗаказаВыходныеИзделия.Ссылка.Дата МЕЖДУ &ПериодНачало И &ПериодКонец
    И ПроизводствоБезЗаказаВыходныеИзделия.Ссылка.Проведен
    И НЕ ПроизводствоБезЗаказаВыходныеИзделия.Ссылка.ПометкаУдаления
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Продукция.ДокументПроизводства КАК ДокументПроизводства,
    Продукция.Номенклатура КАК Номенклатура,
    Продукция.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    Продукция.Количество КАК Количество,
    Продукция.Склад КАК Склад,
    Продукция.Спецификация КАК Спецификация,
    ПартииПроизводства.ГруппаЗатрат КАК ГруппаЗатрат,
    ПартииПроизводства.Ссылка КАК Ссылка
ПОМЕСТИТЬ ПродукцияПартии
ИЗ
    Продукция КАК Продукция
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК ПартииПроизводства
        ПО Продукция.ДокументПроизводства = ПартииПроизводства.Документ.Ссылка
            И Продукция.Номенклатура = ПартииПроизводства.Номенклатура
            И Продукция.ХарактеристикаНоменклатуры = ПартииПроизводства.Характеристика
            И Продукция.ДокументПроизводства.ГруппировкаЗатрат = ПартииПроизводства.ГруппировкаЗатрат
            И (НЕ ПартииПроизводства.ПометкаУдаления)
9 Kassern
 
09.06.21
16:04
(8) если из последнего ВТ убрать партии, то все норм?
10 Len1vec
 
09.06.21
16:09
(9) Да. В первой ВТ - вся продукция. Во второй ВТ должна быть вся продукция с партией (если есть), но выводится только продукция с партией. Разнес отдельно по ВТ специально
11 Len1vec
 
09.06.21
16:11
Потому что если проблема в партии, то буду искать другой способ
12 Мультук
 
гуру
09.06.21
16:15
(0)
Я обычно ищу "жертву" в виде одного документа и вместо

ПроизводствоБезЗаказаВыходныеИзделия.Ссылка.Дата МЕЖДУ &ПериодНачало И &ПериодКонец

пишу

ПроизводствоБезЗаказаВыходныеИзделия.Ссылка = &Ссылка

а затем разбираюсь с условиями соединения.
Тут документ-партия либо номенклатура "не та", либо характеристика, либо ...

P.S.
1) Сначала делаем временную таблицу (зачем кстати ?), а затем делаем  "через точку" лезем

И Продукция.ДокументПроизводства.ГруппировкаЗатрат = ПартииПроизводства.ГруппировкаЗатрат

2)  ПО Продукция.ДокументПроизводства = ПартииПроизводства.Документ.Ссылка
Зачем здесь .Ссылка ?

3) КА-3 можно проводить помеченные на удаление ?
   И ПроизводствоБезЗаказаВыходныеИзделия.Ссылка.Проведен
    И НЕ ПроизводствоБезЗаказаВыходныеИзделия.Ссылка.ПометкаУдаления
13 Len1vec
 
09.06.21
16:24
(12) 1. Я написал, что специально сделал ВТ - для проверки.
2. Что с ПартииПроизводства.Документ.Ссылка, что с ПартииПроизводства.Документ - результат один и тот же.
3. Согласен. Можно оставить только проведенные, но результат не меняется.
14 Kassern
 
09.06.21
16:42
(13) попробуйте вместо этой конструкции "Продукция.ДокументПроизводства.ГруппировкаЗатрат" ГруппировкаЗатрат вынести в первом ВТ. Под полными правами делаете? ФО никакие там не косячат?
15 Len1vec
 
09.06.21
16:54
(14) Да, полные права. Я, кажется, нашел ошибку)))
16 Kassern
 
09.06.21
17:00
(15) и в чем же она?
17 ДенисЧ
 
09.06.21
17:16
(16) Наверное, как всегда, в кислоте ))
18 Kassern
 
10.06.21
10:13
(17) не признается партизан, где собака зарыта была)
19 Len1vec
 
10.07.21
11:56
(16) в моей тупости и невнимательности временной)