|
Как правильно написать запрос? | ☑ | ||
---|---|---|---|---|
0
devochka_1c
12.01.13
✎
21:49
|
Здравствуйте, подскажите, пожалуйста!
Пишу запрос на выборку данных из регистра расходы УСН (БП 2.0): ВЫБРАТЬ СУММА(ТаблицаРегистра.КоличествоОстаток) КАК Количество, СУММА(ТаблицаРегистра.СуммаОстаток) КАК Сумма, СУММА(ТаблицаРегистра.НДСОстаток) КАК СуммаНУДт, ТаблицаРегистра.Партия КАК Субконто2, ТаблицаРегистра.СчетУчета КАК СчетДт, ТаблицаРегистра.ЭлементРасхода КАК Субконто1, ТаблицаРегистра.Партия КАК Субконто2Кт, ТаблицаРегистра.ДоговорКонтрагента.Владелец КАК Субконто1Кт, ТаблицаРегистра.Партия.Склад КАК Субконто3 {ВЫБРАТЬ ТаблицаРегистра.Организация.* КАК Организация, ТаблицаРегистра.СтатусыОплатыРасходовУСН.* КАК СтатусыОплатыРасходовУСН, ТаблицаРегистра.РасчетныйДокумент.* КАК РасчетныйДокумент, ТаблицаРегистра.Партия.* КАК Партия, ТаблицаРегистра.ВидРасхода.* КАК ВидРасхода, ТаблицаРегистра.ЭлементРасхода.* КАК ЭлементРасхода, ТаблицаРегистра.СтатусыПартийУСН.* КАК СтатусыПартийУСН, ТаблицаРегистра.СчетУчета.* КАК СчетУчета, ТаблицаРегистра.Валюта.* КАК Валюта, ТаблицаРегистра.ДоговорКонтрагента.* КАК ДоговорКонтрагента, ТаблицаРегистра.ОтражениеВУСН.* КАК ОтражениеВУСН, ТаблицаРегистра.НомерСтрокиДокумента КАК НомерСтрокиДокумента, ТаблицаРегистра.РеквизитыДокументаОплаты.* КАК РеквизитыДокументаОплаты, (СУММА(ТаблицаРегистра.КоличествоОстаток)) КАК Количество, (СУММА(ТаблицаРегистра.СуммаОстаток)) КАК Сумма, (СУММА(ТаблицаРегистра.НДСОстаток)) КАК НДС} ИЗ РегистрНакопления.РасходыПриУСН.Остатки(&ДатаКон, {(Организация).* КАК Организация, (СтатусыОплатыРасходовУСН).* КАК СтатусыОплатыРасходовУСН, (РасчетныйДокумент).* КАК РасчетныйДокумент, (Партия).* КАК Партия, (ВидРасхода).* КАК ВидРасхода, (ЭлементРасхода).* КАК ЭлементРасхода, (СтатусыПартийУСН).* КАК СтатусыПартийУСН, (СчетУчета).* КАК СчетУчета, (Валюта).* КАК Валюта, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ОтражениеВУСН).* КАК ОтражениеВУСН, (НомерСтрокиДокумента) КАК НомерСтрокиДокумента, (РеквизитыДокументаОплаты).* КАК РеквизитыДокументаОплаты}) КАК ТаблицаРегистра ГДЕ ТаблицаРегистра.СчетУчета = &СчетУчета И ТаблицаРегистра.СтатусыОплатыРасходовУСН = &СтатусыОплатыРасходовУСН И ТаблицаРегистра.Организация = &Организация И ТаблицаРегистра.НДСОстаток ЕСТЬ НЕ NULL И НЕ ТаблицаРегистра.НДСОстаток = 0 И НЕ ТаблицаРегистра.ДоговорКонтрагента = &ДоговорКонтрагента {ГДЕ ТаблицаРегистра.Организация.* КАК Организация, ТаблицаРегистра.СтатусыОплатыРасходовУСН.* КАК СтатусыОплатыРасходовУСН, ТаблицаРегистра.РасчетныйДокумент.* КАК РасчетныйДокумент, ТаблицаРегистра.Партия.* КАК Партия, ТаблицаРегистра.ВидРасхода.* КАК ВидРасхода, ТаблицаРегистра.ЭлементРасхода.* КАК ЭлементРасхода, ТаблицаРегистра.СтатусыПартийУСН.* КАК СтатусыПартийУСН, ТаблицаРегистра.СчетУчета.* КАК СчетУчета, ТаблицаРегистра.Валюта.* КАК Валюта, ТаблицаРегистра.ДоговорКонтрагента.* КАК ДоговорКонтрагента, ТаблицаРегистра.ОтражениеВУСН.* КАК ОтражениеВУСН, ТаблицаРегистра.НомерСтрокиДокумента КАК НомерСтрокиДокумента, ТаблицаРегистра.РеквизитыДокументаОплаты.* КАК РеквизитыДокументаОплаты} СГРУППИРОВАТЬ ПО ТаблицаРегистра.Партия, ТаблицаРегистра.ЭлементРасхода, ТаблицаРегистра.СчетУчета, ТаблицаРегистра.ДоговорКонтрагента.Владелец, ТаблицаРегистра.Партия.Склад, ТаблицаРегистра.Партия Нужно данные по складу выбрать из ОСВ. Написала вот такой запрос ВЫБРАТЬ СУММА(ТаблицаРегистра.КоличествоОстаток) КАК Количество, СУММА(ТаблицаРегистра.СуммаОстаток) КАК Сумма, СУММА(ТаблицаРегистра.НДСОстаток) КАК СуммаНУДт, ТаблицаРегистра.Партия КАК Субконто2, ТаблицаРегистра.СчетУчета КАК СчетДт, ТаблицаРегистра.ЭлементРасхода КАК Субконто1, ТаблицаРегистра.Партия КАК Субконто2Кт, ТаблицаРегистра.ДоговорКонтрагента.Владелец КАК Субконто1Кт, ТаблицаРегистра.Партия.Склад КАК Субконто3, ХозрасчетныйОстатки.Субконто3 КАК Субконто31 {ВЫБРАТЬ ТаблицаРегистра.Организация.* КАК Организация, ТаблицаРегистра.СтатусыОплатыРасходовУСН.* КАК СтатусыОплатыРасходовУСН, ТаблицаРегистра.РасчетныйДокумент.* КАК РасчетныйДокумент, ТаблицаРегистра.Партия.* КАК Партия, ТаблицаРегистра.ВидРасхода.* КАК ВидРасхода, ТаблицаРегистра.ЭлементРасхода.* КАК ЭлементРасхода, ТаблицаРегистра.СтатусыПартийУСН.* КАК СтатусыПартийУСН, ТаблицаРегистра.СчетУчета.* КАК СчетУчета, ТаблицаРегистра.Валюта.* КАК Валюта, ТаблицаРегистра.ДоговорКонтрагента.* КАК ДоговорКонтрагента, ТаблицаРегистра.ОтражениеВУСН.* КАК ОтражениеВУСН, ТаблицаРегистра.НомерСтрокиДокумента КАК НомерСтрокиДокумента, ТаблицаРегистра.РеквизитыДокументаОплаты.* КАК РеквизитыДокументаОплаты, (СУММА(ТаблицаРегистра.КоличествоОстаток)) КАК Количество, (СУММА(ТаблицаРегистра.СуммаОстаток)) КАК Сумма, (СУММА(ТаблицаРегистра.НДСОстаток)) КАК НДС} ИЗ РегистрНакопления.РасходыПриУСН.Остатки(&ДатаКон, {(Организация).* КАК Организация, (СтатусыОплатыРасходовУСН).* КАК СтатусыОплатыРасходовУСН, (РасчетныйДокумент).* КАК РасчетныйДокумент, (Партия).* КАК Партия, (ВидРасхода).* КАК ВидРасхода, (ЭлементРасхода).* КАК ЭлементРасхода, (СтатусыПартийУСН).* КАК СтатусыПартийУСН, (СчетУчета).* КАК СчетУчета, (Валюта).* КАК Валюта, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ОтражениеВУСН).* КАК ОтражениеВУСН, (НомерСтрокиДокумента) КАК НомерСтрокиДокумента, (РеквизитыДокументаОплаты).* КАК РеквизитыДокументаОплаты}) КАК ТаблицаРегистра ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКон, Счет = &Счет, , Организация = &Организация) КАК ХозрасчетныйОстатки ПО ТаблицаРегистра.ЭлементРасхода = ХозрасчетныйОстатки.Субконто1 И ТаблицаРегистра.Партия = ХозрасчетныйОстатки.Субконто2 ГДЕ ТаблицаРегистра.СчетУчета = &СчетУчета И ТаблицаРегистра.СтатусыОплатыРасходовУСН = &СтатусыОплатыРасходовУСН И ТаблицаРегистра.Организация = &Организация И ТаблицаРегистра.НДСОстаток ЕСТЬ НЕ NULL И НЕ ТаблицаРегистра.НДСОстаток = 0 И НЕ ТаблицаРегистра.ДоговорКонтрагента = &ДоговорКонтрагента {ГДЕ ТаблицаРегистра.Организация.* КАК Организация, ТаблицаРегистра.СтатусыОплатыРасходовУСН.* КАК СтатусыОплатыРасходовУСН, ТаблицаРегистра.РасчетныйДокумент.* КАК РасчетныйДокумент, ТаблицаРегистра.Партия.* КАК Партия, ТаблицаРегистра.ВидРасхода.* КАК ВидРасхода, ТаблицаРегистра.ЭлементРасхода.* КАК ЭлементРасхода, ТаблицаРегистра.СтатусыПартийУСН.* КАК СтатусыПартийУСН, ТаблицаРегистра.СчетУчета.* КАК СчетУчета, ТаблицаРегистра.Валюта.* КАК Валюта, ТаблицаРегистра.ДоговорКонтрагента.* КАК ДоговорКонтрагента, ТаблицаРегистра.ОтражениеВУСН.* КАК ОтражениеВУСН, ТаблицаРегистра.НомерСтрокиДокумента КАК НомерСтрокиДокумента, ТаблицаРегистра.РеквизитыДокументаОплаты.* КАК РеквизитыДокументаОплаты} СГРУППИРОВАТЬ ПО ТаблицаРегистра.Партия, ТаблицаРегистра.ЭлементРасхода, ТаблицаРегистра.СчетУчета, ТаблицаРегистра.ДоговорКонтрагента.Владелец, ТаблицаРегистра.Партия.Склад, ТаблицаРегистра.Партия, ХозрасчетныйОстатки.Субконто3 Но в итоге выборка по 1 запросу и по второму не совпадают, а должны совпадать. В чем моя ошибка? Помогите, пожалуйста. |
|||
1
hhhh
12.01.13
✎
22:31
|
Вроде не должны совпадать. Когда вручную смотрю этот регистр, не совпадает обычно с проводками.
|
|||
2
devochka_1c
12.01.13
✎
22:54
|
(1)Но мне нужно взять все данные из регистра и подцепить склад, к-й в остатках по оборотке. Как это сделать?
|
|||
3
hhhh
13.01.13
✎
02:45
|
ну возможно перемещения были со склада на склад. или Ручные операции.
|
|||
4
devochka_1c
13.01.13
✎
12:03
|
(3) Абсолютно верно, были перемещения. И как в таком случае мне получить достоверную выборку?
|
|||
5
hhhh
13.01.13
✎
13:48
|
(4) ну может брать ТаблицаТоваров.Партия.Склад? Зачем вам ХозрасчетныйОстатки.Субконто3 ?
|
|||
6
devochka_1c
13.01.13
✎
13:50
|
(5)Так нельзя, потому что на остатках на другом складе...
|
|||
7
devochka_1c
13.01.13
✎
17:44
|
Кто что подскажет?
|
|||
8
hhhh
13.01.13
✎
18:06
|
(6) тогда может ситуация быть, когда например 3 штуки, 1шт на одном складе, вторая на другом, а третья на третьем. В этом случае ваш запрос только в мусорную корзину выбросить.
|
|||
9
devochka_1c
13.01.13
✎
18:28
|
(8) Вот именно, у меня как раз такая ситуация. И как исправить это?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |