Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 07:12
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Задвоение в запросе  (Прочитано 3373 раз)

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

Оффлайн Yeahkaterina

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-16
  • Сайт: 
  • Профессия: Бухгалтер
Здравствуйте! Подскажите пожалуйста, как правильно реализовать запрос. Запрос такой:


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

УПОРЯДОЧИТЬ ПО
   КонтрагентРег,
   КонтрагентДок


Дело в том, что необходимо выбрать еще счет из ХозрасчетныйОстаткиИОбороты. Но если в запросе указать еще счет :

ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.Субконто1 КАК КонтрагентРег,
   ВложенныйЗапрос.Контрагент КАК КонтрагентДок,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт,
   ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаОборот, 0) КАК СуммаОбРег,
   ВложенныйЗапрос.Дебет КАК Дебет,
   ВложенныйЗапрос.Кредит КАК Кредит,
   ВложенныйЗапрос.Суммавдок КАК СуммаОбДок,
   ВложенныйЗапрос.ДоговорВидДоговора,
   ВложенныйЗапрос.АктВзаим,
   ХозрасчетныйОстаткиИОбороты.Счет
           .
           .
           .
           .
 Тогда контрагенты задваиваются и обороты показываются неправильные. Подскажите пожалуйста как поступить



Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Мой совет: сделайте две виртуальные таблицы в запросе, посмотрите, что они возвращают. Сгруппируйте все по максимуму и потом делайте соединение... Это не оптимально, но поможет понять, почему происходит задвоение.

Оффлайн comol

  • ****
  • Сообщений: 285
  • РЕПУТАЦИЯ: 38
  • КПД: 13%
  • Регистрация: 2011-09-08
  • Сайт: comol.livejournal.com
  • Профессия: Программист 1С
Ну хорошо бы наверное сделать констуркцию вида ВЫБРАТЬ &Счет КАК Счет в таблице документа и соединить с регистром с учетом данной таблицы - первое правило избавления от задвоений... соединения должны быть по всем полям, присутствующим в конечном результате.
Судя по контексту основная таблица - акт сверки - значит правильнее сделать всё-таки левое соединение.

Ну и если совсем ничего не получается - делайте объединение потом группировку. там если уж не получите правильного результата - хотя бы поймёте в чем проблема
Статьи по оптимизации 1С: http://comol.livejournal.com/


Теги:
 

Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 4152
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
РС "СостояниеОСОрганизаций" в запросе

Автор ILLUMIРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1122
Последний ответ 07 Янв 2015, 05:33
от ILLUMI
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

Автор dollРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2127
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Поле не найдено" в запросе, но оно есть.

Автор ferrari314Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2687
Последний ответ 27 Окт 2015, 10:29
от vitasw
Временная таблица во вложенном запросе+Группировка VS Таблица значений + Свернуть

Автор TsaigerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 595
Последний ответ 14 Июл 2017, 23:10
от Tsaiger

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 118
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal