|
Выбрать одним запросом текущее состояние КассККМ на определённом складе | ☑ | ||
---|---|---|---|---|
0
frutty
10.10.11
✎
13:33
|
Делаю так:
ВЫБРАТЬ КассоваяСмена.Номер КАК НомерКассовойСмены, КассоваяСмена.Ссылка КАК КассоваяСмена, КассоваяСмена.Дата КАК КассоваяСменаДата, КассоваяСмена.СтатусКассовойСмены КАК СтатусКассовойСмены, КассоваяСмена.КассаККМ КАК КассаККМ, КассоваяСмена.Валюта КАК Валюта, КассоваяСмена.Валюта.Представление КАК ВалютаПредставление, КассоваяСмена.ВидЦены КАК ВидЦены, КассоваяСмена.Организация КАК Организация, КассоваяСмена.Кассир КАК Кассир, КассоваяСмена.Склад КАК Склад, КассоваяСмена.ЦенаВключаетНДС КАК ЦенаВключаетНДС, КассоваяСмена.НалогообложениеНДС КАК НалогообложениеНДС, ВЫБОР КОГДА КассоваяСмена.СтатусКассовойСмены = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Открыта) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК СменаОткрыта, ВЫБОР КОГДА КассоваяСмена.СтатусКассовойСмены = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Открыта) ТОГДА КассоваяСмена.НачалоКассовойСмены ИНАЧЕ КассоваяСмена.ОкончаниеКассовойСмены КОНЕЦ КАК ДатаИзмененияСтатуса, ЕСТЬNULL(ДенежныеСредстваВКассахККМОстатки.СуммаОстаток, 0) КАК НаличностьВКассе ПОМЕСТИТЬ СостояниеКассККМ ИЗ Документ.КассоваяСмена КАК КассоваяСмена ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваВКассахККМ.Остатки(, КассаККМ.Склад = &Склад) КАК ДенежныеСредстваВКассахККМОстатки ПО КассоваяСмена.КассаККМ = ДенежныеСредстваВКассахККМОстатки.КассаККМ ГДЕ КассоваяСмена.Проведен ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СостояниеКассККМ.НомерКассовойСмены, СостояниеКассККМ.КассоваяСмена КАК КассоваяСмена, СостояниеКассККМ.СтатусКассовойСмены, СостояниеКассККМ.КассаККМ, СостояниеКассККМ.Валюта, СостояниеКассККМ.ВалютаПредставление, СостояниеКассККМ.ВидЦены, СостояниеКассККМ.Организация, СостояниеКассККМ.Кассир, СостояниеКассККМ.Склад, СостояниеКассККМ.ЦенаВключаетНДС, СостояниеКассККМ.НалогообложениеНДС, СостояниеКассККМ.СменаОткрыта, СостояниеКассККМ.ДатаИзмененияСтатуса, СостояниеКассККМ.НаличностьВКассе, СостояниеКассККМ.КассоваяСменаДата КАК КассоваяСменаДата ИЗ СостояниеКассККМ КАК СостояниеКассККМ ВНУТРЕННЕЕ СОЕДИНЕНИЕ СостояниеКассККМ КАК СостояниеКассККМ1 ПО СостояниеКассККМ.КассаККМ = СостояниеКассККМ1.КассаККМ И СостояниеКассККМ.КассоваяСмена >= СостояниеКассККМ1.КассоваяСмена СГРУППИРОВАТЬ ПО СостояниеКассККМ.СтатусКассовойСмены, СостояниеКассККМ.КассаККМ, СостояниеКассККМ.Валюта, СостояниеКассККМ.КассоваяСмена, СостояниеКассККМ.НомерКассовойСмены, СостояниеКассККМ.ВалютаПредставление, СостояниеКассККМ.ВидЦены, СостояниеКассККМ.Организация, СостояниеКассККМ.Кассир, СостояниеКассККМ.Склад, СостояниеКассККМ.НалогообложениеНДС, СостояниеКассККМ.ДатаИзмененияСтатуса, СостояниеКассККМ.ЦенаВключаетНДС, СостояниеКассККМ.СменаОткрыта, СостояниеКассККМ.НаличностьВКассе, СостояниеКассККМ.КассоваяСменаДата ИМЕЮЩИЕ КОЛИЧЕСТВО(СостояниеКассККМ1.КассоваяСмена) = 1 УПОРЯДОЧИТЬ ПО КассоваяСменаДата, КассоваяСмена Но упорядочить нужно временную таблицу "СостояниеКассККМ", а не финальный запрос, как быть если порядок во временной таблице делать нельзя? |
|||
1
Maxus43
10.10.11
✎
13:36
|
что то в логике нек так... одна и таже таблица сама с собой соединяется...
|
|||
2
frutty
10.10.11
✎
13:40
|
логика в том, что я нумерацию добавляю относительно КассаККМ и в итоге получаю пронумерованный список кассовых смен для каждой КассыККМ
|
|||
3
frutty
10.10.11
✎
13:54
|
всё оказалось легче чем я думал =)
ВЫБРАТЬ КассоваяСмена.Номер КАК НомерКассовойСмены, КассоваяСмена.Ссылка КАК КассоваяСмена, КассоваяСмена.СтатусКассовойСмены КАК СтатусКассовойСмены, КассоваяСмена.КассаККМ КАК КассаККМ, КассоваяСмена.Валюта КАК Валюта, КассоваяСмена.Валюта.Представление КАК ВалютаПредставление, КассоваяСмена.ВидЦены КАК ВидЦены, КассоваяСмена.Организация КАК Организация, КассоваяСмена.Кассир КАК Кассир, КассоваяСмена.Склад КАК Склад, КассоваяСмена.ЦенаВключаетНДС КАК ЦенаВключаетНДС, КассоваяСмена.НалогообложениеНДС КАК НалогообложениеНДС, ВЫБОР КОГДА КассоваяСмена.СтатусКассовойСмены = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Открыта) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК СменаОткрыта, ВЫБОР КОГДА КассоваяСмена.СтатусКассовойСмены = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Открыта) ТОГДА КассоваяСмена.НачалоКассовойСмены ИНАЧЕ КассоваяСмена.ОкончаниеКассовойСмены КОНЕЦ КАК ДатаИзмененияСтатуса, ЕСТЬNULL(ДенежныеСредстваВКассахККМОстатки.СуммаОстаток, 0) КАК НаличностьВКассе ПОМЕСТИТЬ СостояниеКассККМ ИЗ Документ.КассоваяСмена КАК КассоваяСмена ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваВКассахККМ.Остатки(, КассаККМ.Склад = &Склад) КАК ДенежныеСредстваВКассахККМОстатки ПО КассоваяСмена.КассаККМ = ДенежныеСредстваВКассахККМОстатки.КассаККМ ГДЕ КассоваяСмена.Проведен ИНДЕКСИРОВАТЬ ПО КассаККМ, КассоваяСмена ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СостояниеКассККМ.НомерКассовойСмены, СостояниеКассККМ.КассоваяСмена КАК КассоваяСмена, СостояниеКассККМ.СтатусКассовойСмены, СостояниеКассККМ.КассаККМ, СостояниеКассККМ.Валюта, СостояниеКассККМ.ВалютаПредставление, СостояниеКассККМ.ВидЦены, СостояниеКассККМ.Организация, СостояниеКассККМ.Кассир, СостояниеКассККМ.Склад, СостояниеКассККМ.ЦенаВключаетНДС, СостояниеКассККМ.НалогообложениеНДС, СостояниеКассККМ.СменаОткрыта, СостояниеКассККМ.ДатаИзмененияСтатуса, СостояниеКассККМ.НаличностьВКассе, КОЛИЧЕСТВО(СостояниеКассККМ1.КассоваяСмена) КАК Номер ИЗ СостояниеКассККМ КАК СостояниеКассККМ ВНУТРЕННЕЕ СОЕДИНЕНИЕ СостояниеКассККМ КАК СостояниеКассККМ1 ПО СостояниеКассККМ.КассаККМ = СостояниеКассККМ1.КассаККМ И СостояниеКассККМ.КассоваяСмена <= СостояниеКассККМ1.КассоваяСмена СГРУППИРОВАТЬ ПО СостояниеКассККМ.СтатусКассовойСмены, СостояниеКассККМ.КассаККМ, СостояниеКассККМ.Валюта, СостояниеКассККМ.КассоваяСмена, СостояниеКассККМ.НомерКассовойСмены, СостояниеКассККМ.ВалютаПредставление, СостояниеКассККМ.ВидЦены, СостояниеКассККМ.Организация, СостояниеКассККМ.Кассир, СостояниеКассККМ.Склад, СостояниеКассККМ.НалогообложениеНДС, СостояниеКассККМ.ДатаИзмененияСтатуса, СостояниеКассККМ.ЦенаВключаетНДС, СостояниеКассККМ.СменаОткрыта, СостояниеКассККМ.НаличностьВКассе ИМЕЮЩИЕ КОЛИЧЕСТВО(СостояниеКассККМ1.КассоваяСмена) = 1 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |