Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Выводятся не все записи запроса

Выводятся не все записи запроса
Я
   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
   mikecool
 
1 - 09.06.21 - 15:36
перенеси ГДЕ
    НЕ ПартииПроизводства.ПометкаУдаления  в условия соединения
иначе получается внутреннее соединение
   Len1vec
 
2 - 09.06.21 - 15:41
(1) ИЗ
    Продукция КАК Продукция
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПартииПроизводства КАК ПартииПроизводства
        ПО Продукция.Номенклатура = ПартииПроизводства.Номенклатура
            И Продукция.ХарактеристикаНоменклатуры = ПартииПроизводства.Характеристика
            И Продукция.ДокументПроизводства.ГруппировкаЗатрат = ПартииПроизводства.ГруппировкаЗатрат
            И Продукция.ДокументПроизводства = ПартииПроизводства.Документ.Ссылка
            И (НЕ ПартииПроизводства.ПометкаУдаления)

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

////////////////////////////////////////////////////////////////////////////////

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

пишу

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

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

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

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

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

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

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.