Имя: Пароль:
1C
 
Неправильная сумма при левом соединении.
0 bambucho
 
24.03.16
16:16
Пиплы,не пойму откуда растут яй...)

Соединяю левым соединением РН.ОстаткиИОбороты с РС по Контрагентам.
Почему то общая сумма по ресурсам виртуальной таблицы  (применяю Итоги) рассчитываеться некорректно,а именно набегает лишние 0,01%.

Цель,сопоставить контрагентам из виртуальной таблицы,подразделения из РС.
1 itlikbez
 
24.03.16
16:19
(0) Вот и не применяй эти мерзкие "итоги".
2 vicof
 
24.03.16
16:27
"Пиплы,не пойму откуда растут яй...)"
Тебе на анатомический форум
3 bambucho
 
24.03.16
16:27
(1) а если по подробней,в чем суть проблемы?
Ведь с точки зрения логики левого соединения,я только добавляю данные соответствующие условию,т.е. не добавляю лишних строчек.
4 ObjectRelation Model
 
24.03.16
16:27
(3) а мы угадать запрос должны?
5 aleks_default
 
24.03.16
16:30
(3) т.е. по твоему левое соединение ни при каких условиях не добавляет лишние строки?
6 bambucho
 
24.03.16
16:32
Запрос упростил,что бы суть передать:


ВЫБРАТЬ
    ВложенныйЗапрос.Подразделение,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент КАК Контрагент,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Сделка КАК Сделка,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Организация КАК Организация,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК СуммаВзаиморасчетовНачальныйОстаток,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаВзаиморасчетовКонечныйОстаток,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаВзаиморасчетовПриход,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК СуммаВзаиморасчетовРасход,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрНачальныйОстаток КАК СуммаУпрНачальныйОстаток,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрКонечныйОстаток КАК СуммаУпрКонечныйОстаток,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрПриход КАК СуммаУпрПриход,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрРасход КАК СуммаУпрРасход
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НП, &КП, , , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗначенияСвойствОбъектов.Объект КАК Объект,
            ЗначенияСвойствОбъектов.Свойство КАК Свойство,
            ЗначенияСвойствОбъектов.Значение КАК Подразделение
        ИЗ
            РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ГДЕ
            ЗначенияСвойствОбъектов.Свойство.Наименование = "Склад") КАК ВложенныйЗапрос
        ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент = ВложенныйЗапрос.Объект
ИТОГИ
    СУММА(СуммаВзаиморасчетовНачальныйОстаток),
    СУММА(СуммаВзаиморасчетовКонечныйОстаток),
    СУММА(СуммаВзаиморасчетовПриход),
    СУММА(СуммаВзаиморасчетовРасход),
    СУММА(СуммаУпрНачальныйОстаток),
    СУММА(СуммаУпрКонечныйОстаток),
    СУММА(СуммаУпрПриход),
    СУММА(СуммаУпрРасход)
ПО
    ОБЩИЕ
7 bambucho
 
24.03.16
16:33
(5) полагаю создается коланка и в существующую строчку затягивается соответствующее условию значение
8 ObjectRelation Model
 
24.03.16
16:34
посмотреть уникальность ЗначенияСвойствОбъектов.Свойство.Наименование = "Склад"
9 itlikbez
 
24.03.16
16:39
(3) Суть проблемы в том, что "итоги" - "мерзкие".
Конструкция "итоги" - 1С-овская поделка прикрученная к нормальному SQL.
10 aleks_default
 
24.03.16
16:43
Всякое соединение делается по ключевому полю. Если в правой таблице несколько записей с одинаковым значением в ключевом поле, а в левой одна, то сколько строк будет в итоговой таблице? Одна?
11 bambucho
 
24.03.16
16:44
(9) )))
(8) были мысли насчет уникальности...гляжу
12 Nuobu
 
24.03.16
16:45
ГДЕ
            ЗначенияСвойствОбъектов.Свойство.Наименование = "Склад"

Поменяй на ссылку.
13 bambucho
 
24.03.16
16:47
(10) хороший вопрос,сейчас попробую разыграть...
мысли в перед...система в таком случае дублирует ресурсы согласно кол-ву одинаковых записей из правой...
14 bambucho
 
24.03.16
17:52
Да,поигрался,лишние цифры набегали из-за не уникальности записей во второй таблице при левом соединении.

Всем Спасибо за помошь.