![]() |
![]() |
![]() |
|
Проблема с Запросом...Хелп... | ☑ | ||
---|---|---|---|---|
0
Новый87
16.02.15
✎
10:58
|
Есть запрос по нескольким регистрам...:
ТекстЗапроса = "ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК Приход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК Расход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток, | ЕСТЬNULL(ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК Резерв, | ЕСТЬNULL(ТоварыКПолучениюНаСкладыОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КПолучению, | ЕСТЬNULL(ТоварыКПередачеСоСкладовОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КПередаче, | ЕСТЬNULL(ЗаказыПоставщикамОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК УПоставщиков, | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ТоварыКПередачеСоСкладовОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК СвободныйОстаток, | ЕСТЬNULL(ЗаказыПокупателейОстатки.КоличествоОстаток, 0) КАК ОсталосьОбеспечить |{ВЫБРАТЬ | Номенклатура.*, | Склад.*, | НачальныйОстаток, | Приход, | Расход, | КонечныйОстаток, | Резерв, | КПолучению, | КПередаче, | УПоставщиков, | СвободныйОстаток, | ОсталосьОбеспечить} |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПолучениюНаСклады.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК ТоварыКПолучениюНаСкладыОстаткиИОбороты | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыКПолучениюНаСкладыОстаткиИОбороты.Номенклатура | И ТоварыНаСкладахОстаткиИОбороты.Склад = ТоварыКПолучениюНаСкладыОстаткиИОбороты.Склад | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК ТоварыКПередачеСоСкладовОстаткиИОбороты | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыКПередачеСоСкладовОстаткиИОбороты.Номенклатура | И ТоварыНаСкладахОстаткиИОбороты.Склад = ТоварыКПередачеСоСкладовОстаткиИОбороты.Склад | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК ЗаказыПоставщикамОстаткиИОбороты | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЗаказыПоставщикамОстаткиИОбороты.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК РазмещениеЗаказовПокупателейОстаткиИОбороты | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = РазмещениеЗаказовПокупателейОстаткиИОбороты.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Авто, , ) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура | И ТоварыНаСкладахОстаткиИОбороты.Склад = ТоварыВРезервеНаСкладахОстаткиИОбороты.Склад | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(&ДатаКон {(&ДатаКон)}) КАК ЗаказыПокупателейОстатки | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура |{ГДЕ | ТоварыНаСкладахОстаткиИОбороты.Номенклатура.*, | ТоварыНаСкладахОстаткиИОбороты.Склад.*} |{УПОРЯДОЧИТЬ ПО | Номенклатура.*} |ИТОГИ | СУММА(НачальныйОстаток), | СУММА(Приход), | СУММА(Расход), | СУММА(КонечныйОстаток), | СУММА(Резерв), | СУММА(КПолучению), | СУММА(КПередаче), | СУММА(УПоставщиков), | СУММА(СвободныйОстаток), | СУММА(ОсталосьОбеспечить) |ПО | ОБЩИЕ, | Номенклатура ИЕРАРХИЯ |{ИТОГИ ПО | Номенклатура.*, | Склад.*} |АВТОУПОРЯДОЧИВАНИЕ"; Проблема в том, что сумма в осталось обеспечить близко не та... умноженная на некоторое число...Добрые люди подскажите где я ошибся?! |
|||
1
Alexaha
16.02.15
✎
11:05
|
(0) из ТоварыНаСкладахОстаткиИОбороты ты выбираешь 2 измерения (номенклатура и склад) а свзяываешься с ЗаказыПокупателейОстатки только по номенклатуре в результате получаешь несколько строк остатков по заказам соответствии с количеством складов
|
|||
2
Ёпрст
гуру
16.02.15
✎
11:06
|
периодичность не авто поставь
|
|||
3
torgm
16.02.15
✎
11:09
|
(0) насколько правомерны здесь соединения?
Вполне возможны ситуации когда товаров нет на складах, а в заказах покупателей и заказах поставщикам есть.... |
|||
4
Новый87
16.02.15
✎
11:15
|
(1) Но для ТоварыВРезервеНаСкладахОстаткиИОбороты ведь не мешает то что нет склада, суммы верные получает!
|
|||
5
Новый87
16.02.15
✎
11:20
|
(2) Поигрался с периодичностью...у вычисляемого поля СвободныйОстаток сумма ушла((
|
|||
6
Новый87
16.02.15
✎
11:23
|
(3) Если я правильно понимаю ЛЕВОЕ СОЕДИНЕНИЕ добавит только там значение где есть совпадение по номенклатуре(и складу) в остальных случаях не должно?!
|
|||
7
Alexaha
16.02.15
✎
11:30
|
(4) с резеровами у тебя связь по двум полям
|
|||
8
Новый87
16.02.15
✎
11:32
|
(7) Изменяюсь...промазал...ЗаказыПоставщикамОстаткиИОбороты
|
|||
9
hhhh
16.02.15
✎
11:47
|
(8) уже ведь выяснили ведь. Для каждого склада у вас пишет полный резерв. Поэтому он будет умножен на количество складов в итоге. Так же и другие соединения у вас, которые только по номенклатуре.
|
|||
10
rabbidX
16.02.15
✎
11:58
|
В итогах для Сумма обеспечить вместо Сумма поставь Максимум
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |