Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос по остаткам
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Составил простой запрос, вычисление количественных и стоимостных остатков на складе. Но проблема в том, что если у данной номенклатуры никогда не была установлена какая-либо цена, то этот артикул (в том числе с характеристикой) не попадает в итоговую выборку. Вот запрос: "ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачОст, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонОст, | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток*ОптовыеЦеныНоменклатурыСрезПоследних.Цена КАК СуммаЗакупНачало, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток*ОптовыеЦеныНоменклатурыСрезПоследних.Цена КАК СуммаЗакупКонец, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток*РозничныеЦеныНоменклатурыСрезПоследних.Цена КАК СуммаРеализацияНачало, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток*РозничныеЦеныНоменклатурыСрезПоследних.Цена КАК СуммаРеализацияКонец |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( | &ДатаНач, | &ДатаКон, | День, | , | Номенклатура В ИЕРАРХИИ (&МассивНоменклатуры) | И Склад В ИЕРАРХИИ (&МассивСкладов)) КАК ТоварыНаСкладахОстаткиИОбороты |ВНУТРЕННЕЕ СОЕДИНЕНИЕ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон,) КАК РозничныеЦеныНоменклатурыСрезПоследних |ПО | РозничныеЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура И | РозничныеЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры |ВНУТРЕННЕЕ СОЕДИНЕНИЕ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон,) КАК ОптовыеЦеныНоменклатурыСрезПоследних |ПО | ОптовыеЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура И | ОптовыеЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры |ГДЕ ((ОптовыеЦеныНоменклатурыСрезПоследних.ТипЦен = &Оптовая) И (РозничныеЦеныНоменклатурыСрезПоследних.ТипЦен = &Розничная)) Пробовал и вместо ВНУТРЕННЕЕ СОЕДИНЕНИЕ писать ЛЕВОЕ (что по идее правильно, но результат одинаковый), и в выборе писал: "ВЫБРАТЬ ... | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонОст, |ВЫБОР | КОГДА ОптовыеЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL | Тогда 0 |Иначе | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток*ОптовыеЦеныНоменклатурыСрезПоследних.Цена |КОНЕЦ КАК СуммаЗакупНачало, ... но тоже не помогает. Подскажите, как переписать запрос, чтобы он не отсекал те записи, для которых нет цены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2009, 16:33 |
|
||
|
Запрос по остаткам
|
|||
|---|---|---|---|
|
#18+
не попадает? А чего хотели? Надо курить буквари чем внутреннее соединение отличается от левого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2009, 17:06 |
|
||
|
Запрос по остаткам
|
|||
|---|---|---|---|
|
#18+
не, надо курить буквари еще и по поводу порядка выполнения конструкций в запросах (хинт - когда применяются отборы) и как можно отборы переносить в параметры вирт. таблиц ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2009, 21:26 |
|
||
|
Запрос по остаткам
|
|||
|---|---|---|---|
|
#18+
курить можно много чего, но иногда достаточно просто совета. Если кому надо будет, то проблема решилась: Условие обрубает null'овые записи, но можно это обойти: | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &Оптовая ) КАК ОптовыеЦеныНоменклатурыСрезПоследних |ПО | ОптовыеЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура И | ОптовыеЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры ... ну и также для розничных, а условие теперь вообще не нужно. Ну а в списке выборки пришлось оставить следущее: |ВЫБОР | КОГДА ОптовыеЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL | Тогда 0 |Иначе | ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток*ОптовыеЦеныНоменклатур ыСрезПоследних.Цена |КОНЕЦ КАК СуммаЗакупНачало, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2009, 18:54 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36029242&tid=1523674]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 10ms |
| total: | 259ms |

| 0 / 0 |
