|
Соединения в запросе
|
Я
|
|
ColonelAp4u 21.11.17 - 16:19 | Добрый день, подскажите пожалуйста как правильно сделать запрос, сижу туплю, есть документ "сборка" в нем 3 ТЧ
ТЧ1 - 1 строка = Сборщик (Некий контр)
ТЧ2 - строки с заказами покупателей и с суммами
ТЧ3 - строки по услугам из заказов ТЧ2.
Если делаю запрос ТЧ1 левое ТЧ2 ПО ссылке документа сборки выводит итог, каким соединением добавить ТЧ3? а то все перепробовал и он в итоге выводит слишком большие суммы. |
1c-bs 1 - 21.11.17 - 16:26 | Группировки в запросе имеются?
|
ColonelAp4u 2 - 21.11.17 - 16:28 | |
Сти 3 - 21.11.17 - 16:30 | А что нужно-то получить в результате запроса? Итог по суммам ТЧ2 и ТЧ3? Тогда объединять их надо, а не соединять.
|
lodger 4 - 21.11.17 - 16:31 | ( 1) толку если у него СуммаВсего из ТЧ2 размножается на количество строк ТЧ3?
( 0) ТЧ3 содержит суммы? или только 2? |
ColonelAp4u 5 - 21.11.17 - 16:31 | Если я делаю запрос ТЧ1 левое ТЧ2 грубо сумма товаров за месяц по документам сборки 4кк, если делаю ТЧ1 левое ТЧ3 за этот же период то сумма по услугам монтажа 400к, и в первом и во втором случае суммы верные, но как только пытаюсь сделать ТЧ1 левое ТЧ2 и ТЧ1 Левое ТЧ3 выходит полный капец.
|
ColonelAp4u 6 - 21.11.17 - 16:31 | |
ColonelAp4u 7 - 21.11.17 - 16:32 | ( 3) щас попробую объеденить |
lodger 8 - 21.11.17 - 16:35 | простите за тупой вопрос, но зачем вам тч1 если там 1 строка?
|
Сти 9 - 21.11.17 - 16:36 | ( 5) капец потому-что при таком соединении каждая строка ТЧ2 соединяется с каждой строкой ТЧ3. Если бы в ТЧ не 1 строка была, то еще и на нее бы перемножилось. Кстати, непонятно зачем ТЧ там, если всегда одна строка. |
ColonelAp4u 10 - 21.11.17 - 16:38 | ( 9) хз, док самописный, не моя разработка. Рекламное место пустует |
ColonelAp4u 11 - 21.11.17 - 16:38 | Вот получился код запроса
ВЫБРАТЬ
_СборкаСборщики.Ссылка КАК Док,
_СборкаСборщики.Сборщик КАК Сборщик,
1 КАК Сумма,
2 КАК Сумма1
ИЗ
Документ._Сборка.Сборщики КАК _СборкаСборщики
ГДЕ
_СборкаСборщики.Ссылка.Проведен = ИСТИНА
И _СборкаСборщики.Ссылка.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияСобытий.Завершено)
И _СборкаСборщики.Ссылка.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
И _СборкаСборщики.Сборщик = &Сборщик
И _СборкаСборщики.Ссылка.Организация = &Организация
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
_СборкаТовары.Ссылка,
2,
_СборкаТовары.Сумма,
1
ИЗ
Документ._Сборка.Товары КАК _СборкаТовары
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
_СборкаУслуги.Ссылка,
2,
1,
_СборкаУслуги.Сумма
ИЗ
Документ._Сборка.Услуги КАК _СборкаУслуги
ИТОГИ
СУММА(Сумма),
СУММА(Сумма1)
ПО
Сборщик |
ColonelAp4u 12 - 21.11.17 - 16:41 | Что то подсказывает что не правильно я объединил.
|
ColonelAp4u 13 - 21.11.17 - 17:06 | Щас сделал объединение без сумм, ТЧ 1 ссылка сборщик ТЧ2 Ссылка нулл ТЧ3 ссылка нулл. Весь геморой упирается в то что этот сборщик находится в отдельной ТЧ, которая ни как кроме как ссылкой на док не связана с остальными ТЧ.
|
dezss 14 - 21.11.17 - 17:16 | ( 11) Сжечь еретика!!!!)))
И в первом и во втором объединении, делай левое к сборщику и сразу суммы выводи.
3-е объединение убей. |
dezss 15 - 21.11.17 - 17:26 | ( 14) + и в поля, где нечего суммировать пиши 0, а не 1 или 2....а то эти 1 или 2 просуммируют с твоими значениями. |
perester 16 - 21.11.17 - 17:28 | ( 0) можете написать примерный результат запроса? Не особо понятно зачем вообще тч сборщики в запросе |
dezss 17 - 21.11.17 - 17:30 | ( 16) по нему итоги строятся же... |
ColonelAp4u 18 - 21.11.17 - 18:02 | ( 14) Спасибо за совет, я честно говоря до этой идеи сам допетрил) но все же спс. |
perester 19 - 21.11.17 - 18:12 | тч сборщики на то и тч, что в нем может быть несколько сборщиков, тут по вопросу подходит перекрестное соединение, но в таком случае суммы неверно будут, скорее надо объединить тч2 и тч3, получить сборщиков и количество сборщиков, а потом соединить эти две таблицы в третью, которая покажет сборщика и суммы, поделенные на количество сборщиков, но и тут с определенной точки зрения неправильно потому что один сборщик может быть круче другого ( 18) помоему этот запрос не покажет что сборку делали несколько сборщиков |