![]() |
![]() |
![]() |
|
Не получается простейшее левое соединение в запросе | ☑ | ||
---|---|---|---|---|
0
John83
20.02.12
✎
14:42
|
Нужно обработать данные на основании рег. бух. и партий товаров НУ.
Но почему-то выводятся не все остатки по партиям, т.е. остаток точно есть, но в КоличествоОстаток попадает null. Чего не правильно делаю? ВЫБРАТЬ НалоговыйОборотыДтКт.СчетДт КАК СчетДт, НалоговыйОборотыДтКт.СубконтоДт1 КАК СубконтоДт1, НалоговыйОборотыДтКт.СубконтоДт2 КАК СубконтоДт2, НалоговыйОборотыДтКт.СуммаОборот КАК СуммаОборот, ПартииТоваров.КоличествоОстаток КАК КоличествоОстаток ИЗ РегистрБухгалтерии.Налоговый.ОборотыДтКт(, , Регистратор, , , , , ) КАК НалоговыйОборотыДтКт ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.Остатки КАК ПартииТоваров ПО НалоговыйОборотыДтКт.СчетДт = ПартииТоваров.СчетУчета И НалоговыйОборотыДтКт.СубконтоДт1 = ПартииТоваров.Номенклатура И НалоговыйОборотыДтКт.СубконтоДт2 = ПартииТоваров.Склад ГДЕ НалоговыйОборотыДтКт.Регистратор = &Регистратор УПОРЯДОЧИТЬ ПО СубконтоДт1 АВТОУПОРЯДОЧИВАНИЕ |
|||
1
John83
20.02.12
✎
14:44
|
пробовал условие на регистратор в связи запихнуть, но там вообще бред получается
хотя что-то подсказывает, что проблема именно в этом условии |
|||
2
John83
20.02.12
✎
15:50
|
upp
|
|||
3
DosWinXP
20.02.12
✎
16:29
|
1. Проверить типы данных в условиях соединения
2. Убедиться в наличии данных в базе, удовлетворяющих условию соединения |
|||
4
Spieluhr
20.02.12
✎
16:32
|
В свойствах таблицы Налоговый.ОборотыДтКт поставьте условие на счет Дт или хотя бы на виды субконто номенклатура/склад
|
|||
5
Wist
20.02.12
✎
16:39
|
(0) ты в первой таблице выбираешь ВСЕ обороты регистратора по плану счетов. Например, для поступления товаров и услуг будут движения и по счетам учета взаиморасчетов. Ставь условие на СчетДт
|
|||
6
John83
20.02.12
✎
16:51
|
Регистратор - это КорректировкаЗаписейРегистров, в который вносились данные по 43, 21 счетамНУ, субконтоДт1 - всегда номенклатура, субконтоДт2 - всегда склад.
Попробовал поставить условие на тот же 43ий счет - результат тот же. Остатки по партиям точно есть. |
|||
7
DosWinXP
20.02.12
✎
16:55
|
Т.е. по отдельности все данные выводятся, а при ЛЕВОЕ СОЕДИНЕНИЕ - нет?
|
|||
8
John83
20.02.12
✎
16:59
|
(7) именно так и есть
если поставить внутреннее соединение, то данные получаются неполные |
|||
9
John83
20.02.12
✎
17:01
|
данные по рег. бух попробовал сначала во вложенном запросе получить - все равно не работает...
уже моск сломал |
|||
10
DosWinXP
20.02.12
✎
17:05
|
Тогда попробуйте упрощать - убрать по отдельности каждое из условий соединения, а если не поможет - убирать по два... других вариантов "выловить" ошибку не вижу
|
|||
11
Maxus43
20.02.12
✎
17:05
|
убирай соединение
И НалоговыйОборотыДтКт.СубконтоДт2 = ПартииТоваров.Склад и пробуй |
|||
12
John83
20.02.12
✎
17:05
|
а вот если предварительно во вложенном запросе получить данные по партиям, то все начинает работать - в общем хрень непонятная
|
|||
13
Maxus43
20.02.12
✎
17:07
|
НалоговыйОборотыДтКт.СчетДт = ПартииТоваров.СчетУчета
в регистре кстати счет учета - составной... там точно счета НУ? |
|||
14
John83
20.02.12
✎
17:10
|
пилиять...
а сначала дату в регистр по партиям и не засунул - так и знал, что опять из-за какой-нить ерунды косячит :( |
|||
15
Maxus43
20.02.12
✎
17:11
|
(14) дык остатки там, без укзания даты вернёт текущее состояние, если точнее то дату сам подставит, причем из далёкого будущего
|
|||
16
John83
20.02.12
✎
17:13
|
(15) да в том-то и дело, что регистратор на начало года сделан
PS в очередной раз извеняюсь за беспокойство |
|||
17
Maxus43
20.02.12
✎
17:22
|
(16) а, щас остатков нет? но когда то были?) понятно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |