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

Разное количество полей в запросе при объединении

Автор SSC, 26 янв 2022, 16:03

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

SSC

Добрый день!

Помогите разобраться, почему пишет "в запросе разное количество полей в объединяемых запросах". не могу разобраться


ВЫБРАТЬ РАЗРЕШЕННЫЕ
   БухДанные.Контрагент КАК Контрагент,
   БухДанные.Договор КАК Договор,
   БухДанные.СуммаНачальныйДолг КАК СуммаНачальныйДолг,
   БухДанные.СуммаКонечныйДолг КАК СуммаКонечныйДолг,
   БухДанные.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
   БухДанные.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
   БухДанные.СуммаПриход КАК СуммаПриход,
   БухДанные.СуммаОплата КАК СуммаОплата,
   БухДанные.Организация КАК Организация,
   БухДанные.КПС КАК КПС,
   БухДанные.ИФО КАК ИФО,
   БухДанные.Подразделение КАК Подразделение,
   БухДанные.КФО КАК КФО,
   БухДанные.Регистратор КАК Регистратор,
   БухДанные.СуммаКомпенсации КАК СуммаКомпенсации,
   Дети.Ссылка КАК Ребенок,
   Дети.ЛицевойСчет КАК ЛицевойСчет,
   Дети.ДатаПриема КАК ДатаПриема,
   Дети.ДатаВыбытия КАК ДатаВыбытия,
   Дети.Родитель КАК Родитель,
   Дети.СчетРодителя КАК СчетРодителя
{ВЫБРАТЬ
   Контрагент.*,
   Ребенок.*,
   Договор.*,
   СуммаНачальныйДолг,
   СуммаКонечныйДолг,
   СуммаНачальныйОстаток,
   СуммаКонечныйОстаток,
   СуммаПриход,
   СуммаОплата,
   Организация.*,
   КПС.*,
   ИФО.*,
   Подразделение.*,
   КФО.*,
   Регистратор,
   СуммаКомпенсации,
   ЛицевойСчет,
   ДатаПриема,
   ДатаВыбытия,
   Родитель.*,
   СчетРодителя.*}
ИЗ
   (ВЫБРАТЬ
      ВЫРАЗИТЬ(ОстаткиНачало.Субконто1 КАК Справочник.Контрагенты) КАК Контрагент,
      ВЫРАЗИТЬ(ОстаткиНачало.Субконто2 КАК Справочник.Договоры) КАК Договор,
      ОстаткиНачало.СуммаРазвернутыйОстатокДт КАК СуммаНачальныйДолг,
      0 КАК СуммаКонечныйДолг,
      ОстаткиНачало.СуммаРазвернутыйОстатокКт КАК СуммаНачальныйОстаток,
      0 КАК СуммаКонечныйОстаток,
      0 КАК СуммаПриход,
      0 КАК СуммаОплата,
      ОстаткиНачало.Организация КАК Организация,
      ОстаткиНачало.КПС КАК КПС,
      ОстаткиНачало.ИФО КАК ИФО,
      ОстаткиНачало.Подразделение КАК Подразделение,
      ОстаткиНачало.КФО КАК КФО,
      НЕОПРЕДЕЛЕНО КАК Регистратор,
      0 КАК СуммаКомпенсации
   ИЗ
      РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки({(&ДатаН)}, Счет В (&СЧЕТАРАСЧЕТОВ), , {(Организация).*, (КПС).*, (КФО), (ИФО).*}) КАК ОстаткиНачало
   {ГДЕ
      (ВЫРАЗИТЬ(ОстаткиНачало.Субконто2 КАК Справочник.Договоры).НаправлениеДеятельности).* КАК НаправлениеДеятельности,
      ОстаткиНачало.Субконто2.* КАК Договор,
      ОстаткиНачало.Субконто1.* КАК Контрагент}
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
      ИЗ
      РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки({(ДОБАВИТЬКДАТЕ(&ДатаК, СЕКУНДА, 1))}, Счет В (&СЧЕТАРАСЧЕТОВ), , {(Организация).*, (КПС).*, (КФО), (ИФО).*}) КАК ОстаткиКонец
   {ГДЕ
      (ВЫРАЗИТЬ(ОстаткиКонец.Субконто2 КАК Справочник.Договоры).НаправлениеДеятельности).* КАК НаправлениеДеятельности,
      ОстаткиКонец.Субконто2.* КАК Договор,
      ОстаткиКонец.Субконто1.* КАК Контрагент}
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      ВЫРАЗИТЬ(ОстаткиКонец.Субконто1 КАК Справочник.Контрагенты),
      ВЫРАЗИТЬ(ОстаткиКонец.Субконто2 КАК Справочник.Договоры),
      0,
      ОстаткиКонец.СуммаРазвернутыйОстатокДт,
      0,
      ОстаткиКонец.СуммаРазвернутыйОстатокКт,
      0,
      0,
      ОстаткиКонец.Организация,
      ОстаткиКонец.КПС,
      ОстаткиКонец.ИФО,
      ОстаткиКонец.Подразделение,
      ОстаткиКонец.КФО,
      НЕОПРЕДЕЛЕНО,
      0,
      0,
      0,
      0,
      0,
      0,
      0
      ИЗ
      РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки({(ДОБАВИТЬКДАТЕ(&ДатаК, СЕКУНДА, 1))}, Счет В (&СЧЕТАРАСЧЕТОВ), , {(Организация).*, (КПС).*, (КФО), (ИФО).*}) КАК ОстаткиКонец
   {ГДЕ
      (ВЫРАЗИТЬ(ОстаткиКонец.Субконто2 КАК Справочник.Договоры).НаправлениеДеятельности).* КАК НаправлениеДеятельности,
      ОстаткиКонец.Субконто2.* КАК Договор,
      ОстаткиКонец.Субконто1.* КАК Контрагент}
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      ВЫРАЗИТЬ(Обороты.Субконто1 КАК Справочник.Контрагенты),
      ВЫРАЗИТЬ(Обороты.Субконто2 КАК Справочник.Договоры),
      0,
      0,
      0,
      0,
      Обороты.СуммаОборотДт,
      Обороты.СуммаОборотКт,
      Обороты.Организация,
      Обороты.КПС,
      Обороты.ИФО,
      Обороты.Подразделение,
      Обороты.КФО,
      Обороты.Регистратор,
      0,
      0,
      0,
      0,
      0,
      0,
      0

   ИЗ
      РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты({(&ДатаН)}, {(&ДатаК)}, Регистратор, Счет В (&СЧЕТАРАСЧЕТОВ), , {(Организация).*, (КПС).*, (КФО), (ИФО).*}, НЕ КорСчет В (&СЧЕТАРАСЧЕТОВ), ) КАК Обороты
   ГДЕ
      ТИПЗНАЧЕНИЯ(Обороты.Регистратор) <> ТИП(Документ.ЗакрытиеГодаТехнологическое)
      И ТИПЗНАЧЕНИЯ(Обороты.Регистратор) <> ТИП(Документ.ПереносОстатковПоКПС)
      И ТИПЗНАЧЕНИЯ(Обороты.Регистратор) <> ТИП(Документ.ПереносОстатков64нРасчеты)
   {ГДЕ
      (ВЫРАЗИТЬ(Обороты.Субконто2 КАК Справочник.Договоры).НаправлениеДеятельности).* КАК НаправлениеДеятельности,
      Обороты.Субконто2.* КАК Договор,
      Обороты.Субконто1.* КАК Контрагент}
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      ВЫРАЗИТЬ(СторноАвансов.Субконто1 КАК Справочник.Контрагенты),
      ВЫРАЗИТЬ(СторноАвансов.Субконто2 КАК Справочник.Договоры),
      0,
      0,
      0,
      0,
      -СторноАвансов.СуммаОборотДт,
      -СторноАвансов.СуммаОборотДт,
      СторноАвансов.Организация,
      СторноАвансов.КПС,
      СторноАвансов.ИФО,
      СторноАвансов.Подразделение,
      СторноАвансов.КФО,
      СторноАвансов.Регистратор,
      0,
      0,
      0,
      0,
      0,
      0,
      0

   ИЗ
      РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты({(&ДатаН)}, {(&ДатаК)}, Регистратор, Счет В (&СчетаАвансов), , {(Организация).*, (КПС).*, (КФО), (ИФО).*}, КорСчет В (&СЧЕТАРАСЧЕТОВ), ) КАК СторноАвансов
   {ГДЕ
      (ВЫРАЗИТЬ(СторноАвансов.Субконто2 КАК Справочник.Договоры).НаправлениеДеятельности).* КАК НаправлениеДеятельности,
      СторноАвансов.Субконто2.* КАК Договор,
      СторноАвансов.Субконто1.* КАК Контрагент}
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      ВЫРАЗИТЬ(ВозвратОплаты.Субконто1 КАК Справочник.Контрагенты),
      ВЫРАЗИТЬ(ВозвратОплаты.Субконто2 КАК Справочник.Договоры),
      0,
      0,
      0,
      0,
      -ВозвратОплаты.СуммаОборотДт,
      -ВозвратОплаты.СуммаОборотДт,
      ВозвратОплаты.Организация,
      ВозвратОплаты.КПС,
      ВозвратОплаты.ИФО,
      ВозвратОплаты.Подразделение,
      ВозвратОплаты.КФО,
      ВозвратОплаты.Регистратор,
      0,
      0,
      0,
      0,
      0,
      0,
      0

   ИЗ
      РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты({(&ДатаН)}, {(&ДатаК)}, Регистратор, Счет В (&СЧЕТАРАСЧЕТОВ), , {(Организация).*, (КПС).*, (КФО), (ИФО).*}, КорСчет В (&СчетаДенежныхСредств), ) КАК ВозвратОплаты
   {ГДЕ
      (ВЫРАЗИТЬ(ВозвратОплаты.Субконто2 КАК Справочник.Договоры).НаправлениеДеятельности).* КАК НаправлениеДеятельности,
      ВозвратОплаты.Субконто2.* КАК Договор,
      ВозвратОплаты.Субконто1.* КАК Контрагент}
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      РасчетКомпенсации.Ребенок.Контрагент,
      СоставГрупп.Договор,
      0,
      0,
      0,
      0,
      0,
      0,
      РасчетКомпенсации.Организация,
      ЗНАЧЕНИЕ(Справочник.КлассификационныеПризнакиСчетов.ПустаяСсылка),
      ЗНАЧЕНИЕ(Справочник.ИсточникиФинансовогоОбеспечения.ПустаяСсылка),
      РасчетКомпенсации.Регистратор.Подразделение,
      ЗНАЧЕНИЕ(Перечисление.КВД.ПустаяСсылка),
      РасчетКомпенсации.Регистратор,
      РасчетКомпенсации.СуммаКомпенсации,
      0,
      0,
      0,
      0,
      0,
      0
      
   ИЗ
      РегистрСведений.ЖурналУчетаКомпенсацииРодительскойПлаты КАК РасчетКомпенсации
         ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставГруппДДУ.СрезПоследних({(&ДатаК)}, {(Ребенок).*, (Договор).*}) КАК СоставГрупп
         ПО РасчетКомпенсации.Ребенок = СоставГрупп.Ребенок
   {ГДЕ
      (РасчетКомпенсации.НачалоПериода >= &ДатаН),
      (РасчетКомпенсации.КонецПериода <= &ДатаК),
      СоставГрупп.Договор.НаправлениеДеятельности.* КАК НаправлениеДеятельности,
      СоставГрупп.Договор.* КАК Договор,
      РасчетКомпенсации.Ребенок.Контрагент.* КАК Контрагент,
      РасчетКомпенсации.Ребенок.*,
      РасчетКомпенсации.Организация.*,
      (ЗНАЧЕНИЕ(Справочник.ИсточникиФинансовогоОбеспечения.ПустаяСсылка)).* КАК ИФО}) КАК БухДанные
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтДети КАК Дети
      ПО БухДанные.Контрагент = Дети.Контрагент
         И БухДанные.Договор = Дети.Договор
ГДЕ
   (БухДанные.Договор В
            (ВЫБРАТЬ
               СоставГруппДДУ.Договор КАК Договор
            ИЗ
               РегистрСведений.СоставГруппДДУ КАК СоставГруппДДУ)
         ИЛИ БухДанные.Договор В
            (ВЫБРАТЬ
               СоставГруппДДУДополнительныеУслуги.Договор КАК Договор
            ИЗ
               РегистрСведений.СоставГруппДДУДополнительныеУслуги КАК СоставГруппДДУДополнительныеУслуги))
{ГДЕ
   Дети.Ссылка.* КАК Ребенок,
   Дети.Родитель.* КАК Родитель,
   БухДанные.Подразделение.*,
   БухДанные.КПС.*,
   БухДанные.КФО,
   БухДанные.ИФО.*}
;

SSC

Добавлю, что запрос работает, если оставить везде по 15 полей (кроме самого первого, там 21 поле). Т.е. убрать все 0 в оставшихся запросах и оставить по 15 полей. Тогда предупреждения нет

LexaK

а что непонятно, во всех объединяемых запросах ДОЛЖНО быть одинаковое количество колонок!


вот такого не должно быть

Выбрать П1, П2
Объединить
Выбрать 0, 0, 0
если помогло нажмите: Спасибо!

SSC

Цитата: LexaK от 26 янв 2022, 16:17а что непонятно, во всех объединяемых запросах ДОЛЖНО быть одинаковое количество колонок!


вот такого не должно быть

Выбрать П1, П2
Объединить
Выбрать 0, 0, 0


Да, но там везде 21 поле выбирается

LexaK

еще раз все проверьте,
в одном из запросов НЕ 21 поле! (это железно)
если помогло нажмите: Спасибо!

LexaK

вот у вас запрос
  (ВЫБРАТЬ
      ВЫРАЗИТЬ(ОстаткиНачало.Субконто1 КАК Справочник.Контрагенты) КАК Контрагент,
      ВЫРАЗИТЬ(ОстаткиНачало.Субконто2 КАК Справочник.Договоры) КАК Договор,
      ОстаткиНачало.СуммаРазвернутыйОстатокДт КАК СуммаНачальныйДолг,
      0 КАК СуммаКонечныйДолг,
      ОстаткиНачало.СуммаРазвернутыйОстатокКт КАК СуммаНачальныйОстаток,
      0 КАК СуммаКонечныйОстаток,
      0 КАК СуммаПриход,
      0 КАК СуммаОплата,
      ОстаткиНачало.Организация КАК Организация,
      ОстаткиНачало.КПС КАК КПС,
      ОстаткиНачало.ИФО КАК ИФО,
      ОстаткиНачало.Подразделение КАК Подразделение,
      ОстаткиНачало.КФО КАК КФО,
      НЕОПРЕДЕЛЕНО КАК Регистратор,
      0 КАК СуммаКомпенсации
   ИЗ
Сколько в нем полей? - 15
а дальше по 21 !!!
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск