Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Исключить повторение сумм при соединении таблиц в запросе

Исключить повторение сумм при соединении таблиц в запросе
Я
   fdv_83
 
19.04.20 - 12:43
Здравствуйте, уважаемые форумчане. Имеется отчёт, который отображает заявки дилеров, отгрузки им товаров и взаиморасчёты. Строится на основе двух регистров накопления: один отражает заявки дилеров и отгрузки (измерения: Клиент, заявка, товар; ресурсы: количество, сумма), второй - взаиморасчёты (измерения: Клиент, заявка; ресурсы: сумма). При соединении второго регистра к первому суммы оплат повторяются столько раз сколько товаров по первому регистру. Подскажите, пожалуйста, как можно сделать, чтобы суммы оплат не повторялись.

ВЫБРАТЬ
    ЗаявкиДилеровОстаткиИОбороты.Клиент КАК Клиент,
    ЗаявкиДилеровОстаткиИОбороты.ЗаявкаДилера КАК ЗаявкаДилера,
    ЗаявкиДилеровОстаткиИОбороты.Товар КАК Товар,
    ЗаявкиДилеровОстаткиИОбороты.СуммаПриход КАК СуммаЗаявки,
    ЗаявкиДилеровОстаткиИОбороты.СуммаРасход КАК СуммаОтпущено,
    ВзаиморасчетыСВнешнимиДилерамиОстаткиИОбороты.СуммаРасход КАК Оплачено,
    ЗаявкиДилеровОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ЗаявкиДилеровОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
    ЗаявкиДилеровОстаткиИОбороты.КоличествоПриход КАК КолЗаявки,
    ЗаявкиДилеровОстаткиИОбороты.КоличествоРасход КАК КолОтпущено,
    ЗаявкиДилеровОстаткиИОбороты.КоличествоКонечныйОстаток КАК КолОстаток,
    ЗаявкиДилеровОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаОстаток,
    ВзаиморасчетыСВнешнимиДилерамиОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток1,
    ВзаиморасчетыСВнешнимиДилерамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток
ИЗ
    РегистрНакопления.ЗаявкиДилеров.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, Авто, , ) КАК ЗаявкиДилеровОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСВнешнимиДилерами.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, Авто, , ) КАК ВзаиморасчетыСВнешнимиДилерамиОстаткиИОбороты
        ПО ЗаявкиДилеровОстаткиИОбороты.Клиент = ВзаиморасчетыСВнешнимиДилерамиОстаткиИОбороты.Клиент
            И ЗаявкиДилеровОстаткиИОбороты.ЗаявкаДилера = ВзаиморасчетыСВнешнимиДилерамиОстаткиИОбороты.ЗаявкаДилера

УПОРЯДОЧИТЬ ПО
    Клиент,
    ЗаявкаДилера,
    Товар
АВТОУПОРЯДОЧИВАНИЕ
   RomanYS
 
1 - 19.04.20 - 13:02
(0) Нужно исходить из того, что вы хотите увидеть. Очевидный ответ "не разворачивать по товарам" тебя и заказчика вероятно не устроит.

Если нужна сумма по товарам - значит оплату нужно как-то распределять.
Нужна сумма только по заказу - значит соединение нужно убрать и сделать по другому.
   pechkin
 
2 - 19.04.20 - 13:08
Нужно делать объединение вместо соединения
   fdv_83
 
3 - 19.04.20 - 13:30
(1) Разворачивать по товарам нужно, а вот оплаты нужно отображать только по клиентам и заявкам
   seevkik
 
4 - 19.04.20 - 13:43
Тут аж два ответа: распредели или объедини.
В первом случае самый простой способ - распределить на количество товара (не ахти, но ума много не требует)
Во втором результаты просто объединятся и будут еще несколько строк с пустыми товарами, дальше можно и сообразить
   fdv_83
 
5 - 19.04.20 - 20:36
Спасибо за помощь

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.