Имя: Пароль:
1C
1С v8
Как в запросе соединить табличную часть и регистр
, ,
0 jyurik
 
05.09.19
16:47
Добрый день
Подскажите есть запрос (ниже) в данном варианте все формируется, как надо стоит мне добавить нужную строку "ЗаказыПокупателей.Цена" и вместо положенных пяти строк результата происходит умножение на пять соответственно их становится 25 строк, а мне нужно пять и плюс колонка "цена"

ВЫБРАТЬ
    ВложенныйЗапрос.Ссылка,
    ВложенныйЗапрос.НомерСтроки,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ЕдиницаИзмерения,
    ВложенныйЗапрос.Коэффициент,
    ВложенныйЗапрос.Количество КАК Количество,
    ВложенныйЗапрос.НоменклатурнаяГруппа,
    ВложенныйЗапрос.Заказ,
    ВложенныйЗапрос.Спецификация,
    ВложенныйЗапрос.Счет,
    ВложенныйЗапрос.СчетНУ,
    ЗаказыПокупателей.Регистратор.Ссылка,
    ЗаказыПокупателей.СтавкаНДС
ИЗ
    (ВЫБРАТЬ
        ОтчетПроизводстваЗаСменуПродукция.Ссылка КАК Ссылка,
        ОтчетПроизводстваЗаСменуПродукция.НомерСтроки КАК НомерСтроки,
        ОтчетПроизводстваЗаСменуПродукция.Номенклатура КАК Номенклатура,
        ОтчетПроизводстваЗаСменуПродукция.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
        ОтчетПроизводстваЗаСменуПродукция.Коэффициент КАК Коэффициент,
        ОтчетПроизводстваЗаСменуПродукция.Количество КАК Количество,
        ОтчетПроизводстваЗаСменуПродукция.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
        ОтчетПроизводстваЗаСменуПродукция.Заказ КАК Заказ,
        ОтчетПроизводстваЗаСменуПродукция.Спецификация КАК Спецификация,
        ОтчетПроизводстваЗаСменуПродукция.Счет КАК Счет,
        ОтчетПроизводстваЗаСменуПродукция.СчетНУ КАК СчетНУ
    ИЗ
        Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей
        ПО ВложенныйЗапрос.Заказ = ЗаказыПокупателей.Регистратор.Ссылка
ГДЕ
    ВложенныйЗапрос.Ссылка = &ОПЗС

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Ссылка,
    ВложенныйЗапрос.НомерСтроки,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ЕдиницаИзмерения,
    ВложенныйЗапрос.Коэффициент,
    ВложенныйЗапрос.НоменклатурнаяГруппа,
    ВложенныйЗапрос.Заказ,
    ВложенныйЗапрос.Спецификация,
    ВложенныйЗапрос.Счет,
    ВложенныйЗапрос.СчетНУ,
    ЗаказыПокупателей.Регистратор.Ссылка,
    ЗаказыПокупателей.СтавкаНДС,
    ВложенныйЗапрос.Количество
1 Beduin
 
05.09.19
16:51
Если у тебя есть заказ в первом запросе, зачем ты его из второго тянешь?
2 ИУБиПовиц
 
05.09.19
16:57
А запрос не тормозит то?:)
Вложенным запросом собираете данные по всем отчетам за смену, а потом отбираете по нему. Зачем соединение с регистром заказы, если оно не используется?. Зачем первый запрос, если все есть во вложенном? и группировка по количеству точна нужна?
3 jyurik
 
05.09.19
17:09
(1) Мне нужно в док Реализация услуг в таб часть загрузить из конкретного Отчета производства (таб части) а в Отчете производства нет цены. Она записана в заказе и соответствующем регистре
4 Beduin
 
05.09.19
17:17
(3) ПО ВложенныйЗапрос.Заказ = ЗаказыПокупателей.Регистратор.Ссылка
И ПО ВложенныйЗапрос.номенклатура= ЗаказыПокупателей.Номенклатура.Ссылка
5 VladZ
 
05.09.19
17:57
(0) Все правильно. Что ты просил сделать - то программа и сделала.
Соединяй по номенклатуре.
6 Максим Нижегородец
 
06.09.19
10:50
(0) Сделал бы так:

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

    ГДЕ
        ОтчетПроизводстваЗаСменуПродукция.Ссылка = &ОПЗС
    СГРУППИРОВАТЬ ПО
        ОтчетПроизводстваЗаСменуПродукция.Ссылка,
        ОтчетПроизводстваЗаСменуПродукция.НомерСтроки,
        ОтчетПроизводстваЗаСменуПродукция.Номенклатура
7 jyurik
 
06.09.19
14:29
Большое спасибо ВСЕМ за помощь
Сделал соединение еще и по номенклатуре и все получилось и убрал вложение, чтобы побыстрее соображал

ВОПРОС РЕШЕН
8 1Сергей
 
06.09.19
14:43
Всё лучше по номеру строки. Если номенклатура дублируется, то будут траблы
9 Максим Нижегородец
 
06.09.19
14:55
(8) номер строки это реквизит табличной части, в регистрах этого нет.
10 1Сергей
 
06.09.19
16:22
(9) да ладно! :)
11 palsergeich
 
06.09.19
16:37
(9) У меня для тебя интересные новости)
Встань в отладчике и посмотри)
Я бы мог согласиться с неподчиненным РС, но в РН, РБ и РР.....