|
СКД. Странные результаты | ☑ | ||
---|---|---|---|---|
0
chichiq
08.04.15
✎
15:22
|
Добрый день,
СКД показывает разные результаты за периоды, т.е. например, в период1 есть номенклатуры, которых нету в период2. при этом период1 в (период2). Обращаюсь к регистру накопления товарынаскладах.обороты. ВЫБРАТЬ ВЫБОР КОГДА РеализацияТоваровУслуг.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ТоварыНаСкладахОбороты.ВНаличииОборот, 0) * -1 ИНАЧЕ 0 КОНЕЦ КАК Продажа, ВЫБОР КОГДА СписаниеНедостачТоваров.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ТоварыНаСкладахОбороты.ВНаличииОборот, 0) * -1 ИНАЧЕ 0 КОНЕЦ КАК Списано, ВЫБОР КОГДА ПоступлениеТоваровУслуг.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ТоварыНаСкладахОбороты.ВНаличииОборот, 0) ИНАЧЕ 0 КОНЕЦ КАК Приход, ВЫБОР КОГДА ВозвратТоваровОтКлиента.Ссылка ЕСТЬ НЕ NULL ИЛИ ВозвратТоваровПоставщику.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ТоварыНаСкладахОбороты.ВНаличииОборот, 0) ИНАЧЕ 0 КОНЕЦ КАК Возврат, РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) КАК ВсегоДнейВПродаж, ВЫБОР КОГДА РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) <> 0 ТОГДА ВЫБОР КОГДА РеализацияТоваровУслуг.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ТоварыНаСкладахОбороты.ВНаличииОборот, 0) КОНЕЦ / РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) * -1 КОНЕЦ КАК СредняяСкорость, ТоварыНаСкладахОбороты.Склад КАК Склад, ТоварыНаСкладахОбороты.Характеристика КАК Характеристика, ТоварыНаСкладахОбороты.Номенклатура КАК Номенклатура, ВЫБОР КОГДА ПеремещениеТоваров1.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ТоварыНаСкладахОбороты.ВНаличииОборот, 0) КОНЕЦ КАК Перемещение, ТоварыНаСкладахОбороты.Регистратор ПОМЕСТИТЬ ОстаткиОбороты {ВЫБРАТЬ Склад.*, Характеристика.*, Номенклатура.*} ИЗ РегистрНакопления.ТоварыНаСкладах.Обороты(&НачалоПериода, &конецПериода, Авто, ) КАК ТоварыНаСкладахОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ПО ТоварыНаСкладахОбороты.Регистратор = РеализацияТоваровУслуг.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеНедостачТоваров КАК СписаниеНедостачТоваров ПО ТоварыНаСкладахОбороты.Регистратор = СписаниеНедостачТоваров.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ПО ТоварыНаСкладахОбороты.Регистратор = ПоступлениеТоваровУслуг.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров1 ПО ТоварыНаСкладахОбороты.Регистратор = ПеремещениеТоваров1.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровОтКлиента КАК ВозвратТоваровОтКлиента ПО ТоварыНаСкладахОбороты.Регистратор = ВозвратТоваровОтКлиента.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику ПО ТоварыНаСкладахОбороты.Регистратор = ВозвратТоваровПоставщику.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДвижениеТоваровОбороты.Номенклатура, ВЫБОР КОГДА ЗаказКлиента.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ДвижениеТоваровОбороты.ПланируемаяОтгрузкаНеОбеспеченнаяОборот, ДвижениеТоваровОбороты.ПланируемаяОтгрузкаСоСкладаОборот) КОНЕЦ КАК Резерв, ВЫБОР КОГДА ЗаказПоставщику.Ссылка ЕСТЬ НЕ NULL ТОГДА ЕСТЬNULL(ДвижениеТоваровОбороты.ПланируемоеПоступлениеОборот, 0) КОНЕЦ КАК Транзит, ДвижениеТоваровОбороты.Склад, ДвижениеТоваровОбороты.Характеристика ПОМЕСТИТЬ Заказы ИЗ РегистрНакопления.ДвижениеТоваров.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ДвижениеТоваровОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента ПО ДвижениеТоваровОбороты.Распоряжение = ЗаказКлиента.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику КАК ЗаказПоставщику ПО ДвижениеТоваровОбороты.Распоряжение = ЗаказПоставщику.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Номенклатура, Заказы.Номенклатура) КАК Номенклатура, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Характеристика, Заказы.Характеристика) КАК Характеристика, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток, ОстаткиОбороты.Продажа КАК Продажа, ОстаткиОбороты.Списано КАК Списано, ОстаткиОбороты.Приход КАК Приход, ОстаткиОбороты.Возврат КАК Возврат, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток, Заказы.Резерв КАК Резерв, Заказы.Транзит КАК Транзит, ЕСТЬNULL(ОстаткиОбороты.ВсегоДнейВПродаж, РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ)) КАК ВсегоДнейВПродаж, ОстаткиОбороты.СредняяСкорость КАК СредняяСкорость, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток / ОстаткиОбороты.СредняяСкорость КАК НаСколькоДней, ОстаткиОбороты.ВсегоДнейВПродаж КАК ВсегоДнейВПродаж1, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Склад, Заказы.Склад) КАК Склад, ОстаткиОбороты.Перемещение, ОстаткиОбороты.Регистратор ПОМЕСТИТЬ Основная ИЗ ОстаткиОбороты КАК ОстаткиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &ТекущийМоментВремени, , , ) КАК ТоварыНаСкладахОстаткиИОбороты ПО ОстаткиОбороты.Характеристика = ТоварыНаСкладахОстаткиИОбороты.Характеристика И ОстаткиОбороты.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад И ОстаткиОбороты.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Заказы КАК Заказы ПО ОстаткиОбороты.Характеристика = Заказы.Характеристика И ОстаткиОбороты.Склад = Заказы.Склад И ОстаткиОбороты.Номенклатура = Заказы.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Основная.Номенклатура КАК Номенклатура, Основная.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток, Основная.Продажа КАК Продажа, Основная.Списано КАК Списано, Основная.Приход КАК Приход, Основная.Возврат КАК Возврат, Основная.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток, Основная.Резерв КАК Резерв, Основная.Транзит КАК Транзит, Основная.ВсегоДнейВПродаж КАК ВсегоДнейВПродаж, Основная.СредняяСкорость КАК СредняяСкорость, Основная.НаСколькоДней КАК НаСколькоДней, ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, Основная.Номенклатура.Наименование КАК НоменклатураНаименование, Основная.Склад КАК Склад, Основная.Характеристика КАК Характеристика, Основная.Перемещение КАК Перемещение, Основная.Регистратор {ВЫБРАТЬ Номенклатура.*, ВНаличииНачальныйОстаток, Продажа, Списано, Приход, Возврат, ВНаличииКонечныйОстаток, Резерв, Транзит, ВсегоДнейВПродаж, СредняяСкорость, НаСколькоДней, Цена, Склад.*, Характеристика.*, Перемещение} ИЗ Основная КАК Основная ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекущийМоментВремени, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних ПО Основная.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И Основная.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика {ГДЕ Основная.Склад.*, Основная.Номенклатура.*} УПОРЯДОЧИТЬ ПО НоменклатураНаименование |
|||
1
chichiq
08.04.15
✎
15:24
|
мне кажется, если начальный и конечный остаток нулевые, то не учитывает движения номенклатуры. как исправить?
|
|||
2
Fragster
гуру
08.04.15
✎
15:25
|
все папаметры-периоды виртуальных таблиц возьми в {}
|
|||
3
chichiq
08.04.15
✎
15:27
|
(2) это как? можешь привести пример(фрагмент кода)
|
|||
4
chichiq
09.04.15
✎
03:35
|
up
|
|||
5
ЧеловекДуши
09.04.15
✎
06:19
|
(4) {(&НачалоПериода)} и т.д.
|
|||
6
1С_Fitness
09.04.15
✎
06:51
|
в консоли запрос работает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |