helpf.pro
Регистрация

v8: Какое соединение в запросе выбрать?

alhimov
28.07.2011 15:35Прочитано: 3117
Доброго дня.
Один документ пишет в два регистра-Закупки и Затраты. Из одного нужны все измерения и ресурс, из второго - присоединить только одно измерение.
Написал запрос

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

В результате на каждую строчку из первого регистра он мне вешает все строки из второго. Сумма по каждой строке в итоге повторяется столько раз, сколько записей во втором регистре.

Где ошибаюсь? help me
Yandex
Возможно, вас также заинтересует
Реклама на портале
Mokey
28.07.2011 17:29Ответ № 1
ЛЕВОЕ СОЕДИНЕНИЕ
alhimov
31.07.2011 19:14Ответ № 2
Записи в 1-м регистре:

Номенклатура |Поставщик |Сумма
___________________________________
Валенки | База |100
Калоши | Лабан |150
Ботинки мужские | Промснаб | 200

Записи во втором регистре:

Статья затрат
___________________________________
Теплая обувь
Резиновая обувь
Хорошая обувь

Мне после соединения нужен такой результат:

Номенклатура |Поставщик |Сумма |Статья затрат
_________________________________________________
Валенки | База |100 |Теплая обувь
Калоши | Лабан |150 |Резиновая обувь
Ботинки мужские | Промснаб | 200 |Хорошая обувь
ИТОГО 450

а при левом или внутреннем соединении получается вот что:

Номенклатура |Поставщик |Сумма |Статья затрат
_________________________________________________
Валенки | База |100 |Теплая обувь
Валенки | База |100 |Резиновая обувь
Валенки | База |100 |Хорошая обувь
Калоши | Лабан |150 |Резиновая обувь
Калоши | Лабан |150 |Теплая обувь
Калоши | Лабан |150 |Хорошая обувь
Ботинки мужские | Промснаб | 200 |Хорошая обувь
Ботинки мужские | Промснаб | 200 |Теплая обувь
Ботинки мужские | Промснаб | 200 |Резиновая обувь
ИТОГО 1350

Связь возможна только по регистратору. Пробовал группировку - не помогает.
Кто реально сталкивался с подобной ситуацией, подскажите как правильно построить запрос.
Mokey
01.08.2011 14:11Ответ № 3
Да это реально не проблема, просто у Вас в регистрах нет ключевого поля, по которому необходимо связать записи. Например, если во второй регистр добавить измерение "Номенклатура", то проблема решится сама собой, т.к. во втором регистре будет информация о том, что валенки - это теплая обувь и никак не резиновая.
А что есть регистратор в Вашем случае? Что он регистрирует?
alhimov
01.08.2011 15:02Ответ № 4
Спасибо.
Регистратор - Требование накладная. Делает записи в два регистра - Затраты и Незавершенное пр-во. По трем измерениям регистры одинаковы. Различия только в том, что в одном регистре ресурс - это стоимость списания, а во втором - одно лишнее измерение - номенклатура (его нет в первом регистре).
И вот здесь также прихожу к такому же выводу: нет уникального поля, по которому можно однозначно задать связь. Объединение с последующей группировкой не вариант, соединение таб.части документа с регистром - тоже.
Благодарю за ответ.
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.