Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 сен 2021, 03:52

внутреннее соединение по номенклатуре

Автор Milyausha, 06 фев 2020, 09:09

0 Пользователей и 1 гость просматривают эту тему.

Milyausha

Цитата: MuI_I_Ika от 10 фев 2020, 10:47
Правильно запрос построить так:

выбрать
   Документ.Номенклатура как НоменклатураСхемы
   из Документ.Схемы.Номенклатура КАК Документ
   где  Документ.Ссылка.Номер=&СхемаПрепаратов


спасибо! теперь без ошибок, но по какому полю теперь правильнее делать соединение с изложенным выше запросом, чтобы не ругалось на объединение табличных частей? допустим сначала я пишу :
выбрать
   Документ.Номенклатура как НоменклатураСхемы
   из Документ.Схемы.Номенклатура КАК Документ
   где  Документ.Ссылка.Номер=&СхемаПрепаратов

и потом это объединить (левое, правое или внутреннее) с  ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   СУММА(ВложенныйЗапрос.ОстатокПоСпец) КАК ОстатокПоСпец,
   СУММА(ВложенныйЗапрос.ОстатокПоУреждению) КАК ОстатокПоУреждению,
   СУММА(ВложенныйЗапрос.ЗарезервированноНаПациентов) КАК ЗарезервированноНаПациентов,
   СУММА(ВложенныйЗапрос.СвободныйОстаток) КАК СвободныйОстаток,
   ВложенныйЗапрос.СвободныйОстатокВУпаковках КАК СвободныйОстатокВУпаковках,
   ВложенныйЗапрос.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,
   ВложенныйЗапрос.Номенклатура.Упаковка КАК НоменклатураУпаковка
ИЗ
   (ВЫБРАТЬ
      СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
      NULL КАК ОстатокПоСпец,
      СебестоимостьТоваровОстатки.КоличествоОстаток КАК ОстатокПоУреждению,
      NULL КАК ЗарезервированноНаПациентов,
      ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2)) КАК СвободныйОстаток,
      ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2)) КАК СвободныйОстатокВУпаковках
   ИЗ
      РегистрНакопления.СебестоимостьТоваров.Остатки(&ДатаОстатка, ) КАК СебестоимостьТоваровОстатки
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      РезервОстатки.Номенклатура,
      NULL,
      NULL,
      РезервОстатки.РезервОстаток,
      ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2)),
      ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2))
   ИЗ
      РегистрНакопления.Резерв.Остатки(&ДатаОстатка, ) КАК РезервОстатки
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      ЗаказыПоставщикам.Номенклатура,
      ЗаказыПоставщикам.ПоСпецификацииОстаток + ЗаказыПоставщикам.КОформлениюОстаток,
      NULL,
      NULL,
      ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2)),
      ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2))
   ИЗ
      РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаОстатка, ) КАК ЗаказыПоставщикам) КАК ВложенныйЗапрос
Добавлено: 10 фев 2020, 21:12


Цитата: MuI_I_Ika от 10 фев 2020, 10:47
Правильно запрос построить так:

выбрать
   Документ.Номенклатура как НоменклатураСхемы
   из Документ.Схемы.Номенклатура КАК Документ
   где  Документ.Ссылка.Номер=&СхемаПрепаратов


нет ли необходимости приводить типы? потому что данный запрос не выдает ошибки, но и строк в результате 0. хотя их как минимум 3

Теги: Запрос 

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск