Не получается в СКД соединение табличной части документа с регистром "Закупки"
Не получается Левое соединение табличной части документа с регистром "Закупки" -оборотный регистр.
В прикр.таблице [..xls показано как должно быть.
Конфигурация УТ 10.2 не типовая.
Надо в запросе по док-м Готовая продукция(похож на ОтчетПроизводстваЗаСмену) за период получить Кол-во выпущенной продукции c материалами.
По табл.части "Материалы" достать последнюю цену на конец периода из регистра "Закупки".
Цены достаю правильно.Проблема в том,что если нет этого материала в регистре,то в результате запроса эта строчка материала исчезает.
Вот запрос...подскажите
В прикр.таблице [..xls показано как должно быть.
Конфигурация УТ 10.2 не типовая.
Надо в запросе по док-м Готовая продукция(похож на ОтчетПроизводстваЗаСмену) за период получить Кол-во выпущенной продукции c материалами.
По табл.части "Материалы" достать последнюю цену на конец периода из регистра "Закупки".
Цены достаю правильно.Проблема в том,что если нет этого материала в регистре,то в результате запроса эта строчка материала исчезает.
Вот запрос...подскажите
ВЫБРАТЬ
ВложенныйЗапрос.Материал1 КАК Материал1,
ВложенныйЗапрос.ХарактеристикаМатериала1 КАК ХарактеристикаМатериала1,
ВложенныйЗапрос.ЕдиницаИзмеренияМат1 КАК ЕдиницаИзмеренияМат1,
СУММА(ВложенныйЗапрос.КоличествоМат1) КАК КоличествоМат1,
ВложенныйЗапрос.НоменклатураБазоваяЕдиницаИзмерения1 КАК НоменклатураБазоваяЕдиницаИзмерения1,
СУММА(ВложенныйЗапрос.КоличествоМатЕдОтч1) КАК КоличествоМатЕдОтч1,
МИНИМУМ(ВложенныйЗапрос.НомерСтроки1) КАК НомерСтроки1,
ВложенныйЗапрос.Ссылка1 КАК Ссылка1,
ВложенныйЗапрос.Продукция1 КАК Продукция1,
ВложенныйЗапрос.ХарактеристикаПродукции1 КАК ХарактеристикаПродукции1,
ВложенныйЗапрос.ЕдиницаИзмерения1 КАК ЕдиницаИзмерения1,
СУММА(ВложенныйЗапрос.КоличествоПрод1) КАК КоличествоПрод1,
СУММА(ВЫБОР
КОГДА ЗакупкиОбороты.КоличествоОборот <> 0
ТОГДА ЗакупкиОбороты.СтоимостьОборот / ЗакупкиОбороты.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ) КАК ЦенаЗакупки1
{ВЫБРАТЬ
Материал1.*,
ХарактеристикаМатериала1.*,
ЕдиницаИзмеренияМат1.*,
КоличествоМат1,
НоменклатураБазоваяЕдиницаИзмерения1.*,
КоличествоМатЕдОтч1,
НомерСтроки1,
Ссылка1.*,
Продукция1.*,
ХарактеристикаПродукции1.*,
ЕдиницаИзмерения1.*,
КоличествоПрод1,
ЦенаЗакупки1}
ИЗ
(ВЫБРАТЬ
ВложенныйЗапрос1.Материал1 КАК Материал1,
ВложенныйЗапрос1.ХарактеристикаМатериала1 КАК ХарактеристикаМатериала1,
ВложенныйЗапрос1.НоменклатураБазоваяЕдиницаИзмерения1 КАК НоменклатураБазоваяЕдиницаИзмерения1,
ВложенныйЗапрос1.ЕдиницаИзмеренияМат1 КАК ЕдиницаИзмеренияМат1,
СУММА(ВложенныйЗапрос1.КоличествоМат1) КАК КоличествоМат1,
СУММА(ВложенныйЗапрос1.КоличествоМатЕдОтч1) КАК КоличествоМатЕдОтч1,
СУММА(ВложенныйЗапрос1.НомерСтроки1) КАК НомерСтроки1,
ГотоваяПродукцияПродукция.Ссылка КАК Ссылка1,
ГотоваяПродукцияПродукция.Номенклатура КАК Продукция1,
ГотоваяПродукцияПродукция.ХарактеристикаПродукции КАК ХарактеристикаПродукции1,
ГотоваяПродукцияПродукция.ЕдиницаИзмерения КАК ЕдиницаИзмерения1,
СУММА(ГотоваяПродукцияПродукция.Количество) КАК КоличествоПрод1
{ВЫБРАТЬ
НомерСтроки1,
Материал1.*,
ХарактеристикаМатериала1.*,
НоменклатураБазоваяЕдиницаИзмерения1.*,
ЕдиницаИзмеренияМат1.*,
КоличествоМат1,
КоличествоМатЕдОтч1,
Ссылка1.*,
Продукция1.*,
ХарактеристикаПродукции1.*,
ЕдиницаИзмерения1.*,
КоличествоПрод1}
ИЗ
(ВЫБРАТЬ
МИНИМУМ(ГотоваяПродукцияМатериалы.НомерСтроки) КАК НомерСтроки1,
ГотоваяПродукцияМатериалы.Номенклатура КАК Материал1,
ГотоваяПродукцияМатериалы.ХарактеристикаНоменклатуры КАК ХарактеристикаМатериала1,
СУММА(ГотоваяПродукцияМатериалы.Количество * ГотоваяПродукцияМатериалы.Коэффициент) КАК КоличествоМат1,
ГотоваяПродукцияМатериалы.Коэффициент КАК Коэффициент,
ГотоваяПродукцияМатериалы.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения1,
ГотоваяПродукцияМатериалы.ЕдиницаИзмерения КАК ЕдиницаИзмеренияМат1,
СУММА(ВЫБОР
КОГДА ГотоваяПродукцияМатериалы.Коэффициент = 1
ТОГДА ГотоваяПродукцияМатериалы.Количество / ГотоваяПродукцияМатериалы.Номенклатура.ЕдиницаДляОтчетов.Коэффициент
ИНАЧЕ ГотоваяПродукцияМатериалы.Количество
КОНЕЦ) КАК КоличествоМатЕдОтч1,
ГотоваяПродукцияМатериалы.Ссылка КАК Ссылка1
ИЗ
Документ.ГотоваяПродукция.Материалы КАК ГотоваяПродукцияМатериалы
ГДЕ
ГотоваяПродукцияМатериалы.Ссылка.Проведен = ИСТИНА
И ГотоваяПродукцияМатериалы.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
СГРУППИРОВАТЬ ПО
ГотоваяПродукцияМатериалы.ЕдиницаИзмерения,
ГотоваяПродукцияМатериалы.Номенклатура,
ГотоваяПродукцияМатериалы.ХарактеристикаНоменклатуры,
ГотоваяПродукцияМатериалы.Номенклатура.БазоваяЕдиницаИзмерения,
ГотоваяПродукцияМатериалы.Коэффициент,
ГотоваяПродукцияМатериалы.Ссылка) КАК ВложенныйЗапрос1
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ГотоваяПродукция.Продукция КАК ГотоваяПродукцияПродукция
ПО ВложенныйЗапрос1.Ссылка1 = ГотоваяПродукцияПродукция.Ссылка
ГДЕ
ГотоваяПродукцияПродукция.Ссылка.Проведен = ИСТИНА
И ГотоваяПродукцияПродукция.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
{ГДЕ
ВложенныйЗапрос1.НомерСтроки1,
ВложенныйЗапрос1.Материал1.*,
ВложенныйЗапрос1.ХарактеристикаМатериала1.*,
ВложенныйЗапрос1.НоменклатураБазоваяЕдиницаИзмерения1.*,
ВложенныйЗапрос1.ЕдиницаИзмеренияМат1.*,
ВложенныйЗапрос1.КоличествоМат1,
ВложенныйЗапрос1.КоличествоМатЕдОтч1,
ГотоваяПродукцияПродукция.Ссылка.* КАК Ссылка1,
ГотоваяПродукцияПродукция.Номенклатура.* КАК Продукция1,
ГотоваяПродукцияПродукция.ХарактеристикаПродукции.* КАК ХарактеристикаПродукции1,
ГотоваяПродукцияПродукция.ЕдиницаИзмерения.* КАК ЕдиницаИзмерения1,
ГотоваяПродукцияПродукция.Количество КАК КоличествоПрод1}
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос1.Материал1,
ВложенныйЗапрос1.НоменклатураБазоваяЕдиницаИзмерения1,
ГотоваяПродукцияПродукция.Номенклатура,
ВложенныйЗапрос1.ЕдиницаИзмеренияМат1,
ВложенныйЗапрос1.ХарактеристикаМатериала1,
ГотоваяПродукцияПродукция.ХарактеристикаПродукции,
ГотоваяПродукцияПродукция.Ссылка,
ГотоваяПродукцияПродукция.ЕдиницаИзмерения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(, &ДатаКон, Регистратор, ) КАК ЗакупкиОбороты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
МАКСИМУМ(ЗакупкиОбороты.Период) КАК Период,
ЗакупкиОбороты.Номенклатура КАК Номенклатура,
ЗакупкиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
ИЗ
РегистрНакопления.Закупки.Обороты(, &ДатаКон, Регистратор, ) КАК ЗакупкиОбороты
ГДЕ
ЗакупкиОбороты.Период <= &ДатаКонца
И ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
И ЗакупкиОбороты.Регистратор.Организация = &Организация
СГРУППИРОВАТЬ ПО
ЗакупкиОбороты.Номенклатура,
ЗакупкиОбороты.ХарактеристикаНоменклатуры) КАК ПослДокЗакупки
ПО (ПослДокЗакупки.Период = ЗакупкиОбороты.Период)
И (ПослДокЗакупки.Номенклатура = ЗакупкиОбороты.Номенклатура)
И (ПослДокЗакупки.ХарактеристикаНоменклатуры = ЗакупкиОбороты.ХарактеристикаНоменклатуры)
ПО ВложенныйЗапрос.ХарактеристикаМатериала1 = ЗакупкиОбороты.ХарактеристикаНоменклатуры
И ВложенныйЗапрос.Материал1 = ЗакупкиОбороты.Номенклатура
ГДЕ
ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
{ГДЕ
ВложенныйЗапрос.Материал1.*,
ВложенныйЗапрос.ХарактеристикаМатериала1.*,
ВложенныйЗапрос.ЕдиницаИзмеренияМат1.*,
ВложенныйЗапрос.КоличествоМат1,
ВложенныйЗапрос.НоменклатураБазоваяЕдиницаИзмерения1.*,
ВложенныйЗапрос.КоличествоМатЕдОтч1,
ВложенныйЗапрос.НомерСтроки1,
ВложенныйЗапрос.Ссылка1.*,
ВложенныйЗапрос.Продукция1.*,
ВложенныйЗапрос.ХарактеристикаПродукции1.*,
ВложенныйЗапрос.ЕдиницаИзмерения1.*,
ВложенныйЗапрос.КоличествоПрод1,
(ВЫБОР
КОГДА ЗакупкиОбороты.КоличествоОборот <> 0
ТОГДА ЗакупкиОбороты.СтоимостьОборот / ЗакупкиОбороты.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ) КАК ЦенаЗакупки1}
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.ХарактеристикаМатериала1,
ВложенныйЗапрос.ЕдиницаИзмеренияМат1,
ВложенныйЗапрос.НоменклатураБазоваяЕдиницаИзмерения1,
ВложенныйЗапрос.Ссылка1,
ВложенныйЗапрос.Продукция1,
ВложенныйЗапрос.ХарактеристикаПродукции1,
ВложенныйЗапрос.ЕдиницаИзмерения1,
ВложенныйЗапрос.Материал1
ИМЕЮЩИЕ
МАКСИМУМ(ЗакупкиОбороты.Период) <= &ДатаКонца
ПоказатьПрикрепленные файлы:
Образец.xlsx
По теме из базы знаний
- 115 полезностей по курсу СКД Евгения Гилёва
- Расчет себестоимости и его Откат в ERP: практика применения
- Партионный учет ФИФО ЛИФО. Остатки поступлений, пример получения данных партионного учета, если его нет. Вернуть остатки партий. Списать по срокам годности ФИФО ЛИФО
- Как сдать экзамен 1С:Специалист по платформе?
- Дополнительные сведения в типовых конфигурациях 1С
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) позволю себе пару занудных советов...
1) забудь про СКД. Консоль запросов - наше все.
2) в консоли напиши простой запрос. Только важное, ничего лишнего. Получится что-то типа такого
наверное там еще будут какие-то группировки и еще что-то необходимое. Этот запрос отладишь, чтобы он полностью правильно работал и показывал именно то, что нужно. Потом к нему можно будет добавлять нужные поля, потом - в самом конце! - засунуть его в СКД, если это так уж необходимо.
Да, и 3) никогда не используй имена вида ВложенныйЗапрос, ВложенныйЗапрос1 и тп. Имя должно быть осмысленным, чтобы по нему можно было понять, что за ним стоит. Для упрощения понимания лучше делать временные таблицы вместо вложенных запросов, с ними проще разбираться и отлаживаться.
1) забудь про СКД. Консоль запросов - наше все.
2) в консоли напиши простой запрос. Только важное, ничего лишнего. Получится что-то типа такого
Выбрать ТЧ.Материал, естьNULL(Регистр.СтоимостьМатериала, 0)
Из Документ.МойДокумент.ТабличнаяЧасть КАК ТЧ
ЛЕВОЕ Соединение Регистр.МойРегистр КАК ТаблицаРегистра
наверное там еще будут какие-то группировки и еще что-то необходимое. Этот запрос отладишь, чтобы он полностью правильно работал и показывал именно то, что нужно. Потом к нему можно будет добавлять нужные поля, потом - в самом конце! - засунуть его в СКД, если это так уж необходимо.
Да, и 3) никогда не используй имена вида ВложенныйЗапрос, ВложенныйЗапрос1 и тп. Имя должно быть осмысленным, чтобы по нему можно было понять, что за ним стоит. Для упрощения понимания лучше делать временные таблицы вместо вложенных запросов, с ними проще разбираться и отлаживаться.
не читая все
1. Сделать пакетный запрос
2. Первым пакетом из Табличных Частей собрать все возможные материалы в ВтМатериалы
что-то типа
Выбрать Различные
МатериалыТабличнаяЧасть.Материал КАК Материал
Поместь ВтМатериалы
Из ...
Потом эту ВТ соединять с регистром и еще раз с табличными частями если в ней не все данные
это устранит
1. Сделать пакетный запрос
2. Первым пакетом из Табличных Частей собрать все возможные материалы в ВтМатериалы
что-то типа
Выбрать Различные
МатериалыТабличнаяЧасть.Материал КАК Материал
Поместь ВтМатериалы
Из ...
Потом эту ВТ соединять с регистром и еще раз с табличными частями если в ней не все данные
это устранит
Проблема в том,что если нет этого материала в регистре,то в результате запроса эта строчка материала исчезает
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот