|
Почему в консоли отчетов может быть такое | ☑ | ||
---|---|---|---|---|
0
kn
27.02.15
✎
20:06
|
В консоли отчетов если без отбора то номенклатурная позиция не показывается, а если с отбором то показывается. Т.е отбор не сужает а наоборот.Консоль отчетов стандартная в УТ10.3.
|
|||
1
Defender aka LINN
27.02.15
✎
20:34
|
(0) Как написал запрос, то тебе отчет и выводит
|
|||
2
Ненавижу 1С
гуру
27.02.15
✎
20:34
|
покажи запрос
|
|||
3
D_E_S_131
27.02.15
✎
20:38
|
Я бы еще и зрачки ТС на расширенность проверил.
|
|||
4
RomanYS
27.02.15
✎
21:02
|
Предлагаю устроить конкурс на пример такого запроса, ТС похоже не покажет на свой запрос)
|
|||
5
kn
27.02.15
✎
21:22
|
ВЫБРАТЬ
СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход - ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоОстаток, ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура ПОМЕСТИТЬ ОстатокКСписанию ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, &ДатаКон, Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты ГДЕ (ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя) {ГДЕ ТоварыНаСкладахОстаткиИОбороты.Склад.*, ТоварыНаСкладахОстаткиИОбороты.Номенклатура.*} СГРУППИРОВАТЬ ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход - ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоОстаток, ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура ПОМЕСТИТЬ НачальныйОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, &ДатаНач, Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты ГДЕ (ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя) {ГДЕ ТоварыНаСкладахОстаткиИОбороты.Склад.*, ТоварыНаСкладахОстаткиИОбороты.Номенклатура.*} СГРУППИРОВАТЬ ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладах.Регистратор, ТоварыНаСкладах.Номенклатура КАК Номенклатура, ТоварыНаСкладах.Количество КАК Количество, ТоварыНаСкладах.Период ПОМЕСТИТЬ ТабДок {ВЫБРАТЬ Регистратор.*, Номенклатура.*, ТоварыНаСкладах.Склад.*} ИЗ РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Период <= &ДатаКон И ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг {ГДЕ ТоварыНаСкладах.Регистратор.*, ТоварыНаСкладах.Номенклатура.*, ТоварыНаСкладах.Склад.*} {УПОРЯДОЧИТЬ ПО ТоварыНаСкладах.МоментВремени, ТоварыНаСкладах.Регистратор.*} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабДок.Регистратор КАК Регистратор, ТабДок.Номенклатура КАК Номенклатура, ТабДок.Количество, СУММА(ТабДок1.Количество) КАК КоличествоНакопительное, ТабДок.Период ПОМЕСТИТЬ ТабСНакоплением ИЗ ТабДок КАК ТабДок ЛЕВОЕ СОЕДИНЕНИЕ ТабДок КАК ТабДок1 ПО ТабДок.Номенклатура = ТабДок1.Номенклатура И ТабДок.Период <= ТабДок1.Период СГРУППИРОВАТЬ ПО ТабДок.Регистратор, ТабДок.Количество, ТабДок.Номенклатура, ТабДок.Период {УПОРЯДОЧИТЬ ПО Регистратор.*, ТабДок.Регистратор.МоментВремени} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабСНакоплением.Регистратор, ПРЕДСТАВЛЕНИЕ(ТабСНакоплением.Регистратор), ТабСНакоплением.Номенклатура, ПРЕДСТАВЛЕНИЕ(ТабСНакоплением.Номенклатура), ТабСНакоплением.Количество, ТабСНакоплением.КоличествоНакопительное, ТабСНакоплением.Период ПОМЕСТИТЬ ТабНакопительная2 ИЗ ТабСНакоплением КАК ТабСНакоплением {УПОРЯДОЧИТЬ ПО Регистратор.*, ТабСНакоплением.Регистратор.МоментВремени} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабНакопительная2.Регистратор, ТабНакопительная2.Номенклатура, ТабНакопительная2.Количество, ТабНакопительная2.КоличествоНакопительное КАК КоличествоНакопительное, ТабНакопительная2.Период, ЕСТЬNULL(ОстатокКСписанию.КоличествоОстаток, 0) КАК Остаток ПОМЕСТИТЬ ТабСписанияПодготовительная ИЗ ТабНакопительная2 КАК ТабНакопительная2 ЛЕВОЕ СОЕДИНЕНИЕ ОстатокКСписанию КАК ОстатокКСписанию ПО ТабНакопительная2.Номенклатура = ОстатокКСписанию.Номенклатура СГРУППИРОВАТЬ ПО ТабНакопительная2.Регистратор, ТабНакопительная2.Номенклатура, ТабНакопительная2.Количество, ТабНакопительная2.КоличествоНакопительное, ТабНакопительная2.Период, ЕСТЬNULL(ОстатокКСписанию.КоличествоОстаток, 0) {УПОРЯДОЧИТЬ ПО Регистратор.*, ТабНакопительная2.Регистратор.МоментВремени} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабСписанияПодготовительная.Регистратор, ТабСписанияПодготовительная.Номенклатура, ТабСписанияПодготовительная.Количество, СУММА(ТабСписанияПодготовительная.КоличествоНакопительное) КАК КоличествоНакопительное, ТабСписанияПодготовительная.Период ПОМЕСТИТЬ ТабСписания ИЗ ТабСписанияПодготовительная КАК ТабСписанияПодготовительная СГРУППИРОВАТЬ ПО ТабСписанияПодготовительная.Регистратор, ТабСписанияПодготовительная.Номенклатура, ТабСписанияПодготовительная.Количество, ТабСписанияПодготовительная.Период, ТабСписанияПодготовительная.Остаток ИМЕЮЩИЕ СУММА(ТабСписанияПодготовительная.КоличествоНакопительное) <= ТабСписанияПодготовительная.Остаток {УПОРЯДОЧИТЬ ПО Регистратор.*, ТабСписанияПодготовительная.Регистратор.МоментВремени} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабНакопительная2.Регистратор КАК Регистратор, ТабНакопительная2.Количество, ТабНакопительная2.КоличествоНакопительное, ТабНакопительная2.Номенклатура КАК Номенклатура, ТабНакопительная2.Период ПОМЕСТИТЬ ТабРазность ИЗ ТабНакопительная2 КАК ТабНакопительная2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТабСписания.Регистратор, 0, 0, ТабСписания.Номенклатура, ТабСписания.Период ИЗ ТабСписания КАК ТабСписания {УПОРЯДОЧИТЬ ПО Регистратор.*} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабРазность.Регистратор, ТабРазность.Номенклатура, СУММА(ТабРазность.Количество) КАК Количество, МАКСИМУМ(ТабРазность.КоличествоНакопительное) КАК КоличествоНакопительное, ТабРазность.Период ПОМЕСТИТЬ ТабРазностьСвертка ИЗ ТабРазность КАК ТабРазность СГРУППИРОВАТЬ ПО ТабРазность.Регистратор, ТабРазность.Номенклатура, ТабРазность.Период {УПОРЯДОЧИТЬ ПО Регистратор.*, ТабРазность.Регистратор.МоментВремени} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПЕРВЫЕ 1 ТабРазностьСвертка.Регистратор, ТабРазностьСвертка.Номенклатура, ТабРазностьСвертка.КоличествоНакопительное, ТабРазностьСвертка.Период КАК Период, ВЫБОР КОГДА ТабРазностьСвертка.КоличествоНакопительное > ОстатокКСписанию.КоличествоОстаток ТОГДА ТабРазностьСвертка.Количество - (ТабРазностьСвертка.КоличествоНакопительное - ОстатокКСписанию.КоличествоОстаток) ИНАЧЕ 0 КОНЕЦ КАК КОличествоСписываемое ПОМЕСТИТЬ ПоследняяСтрока ИЗ ТабРазностьСвертка КАК ТабРазностьСвертка ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстатокКСписанию КАК ОстатокКСписанию ПО ТабРазностьСвертка.Номенклатура = ОстатокКСписанию.Номенклатура ГДЕ ВЫБОР КОГДА ТабРазностьСвертка.КоличествоНакопительное > ОстатокКСписанию.КоличествоОстаток ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ СГРУППИРОВАТЬ ПО ТабРазностьСвертка.Регистратор, ТабРазностьСвертка.Номенклатура, ТабРазностьСвертка.КоличествоНакопительное, ТабРазностьСвертка.Период, ВЫБОР КОГДА ТабРазностьСвертка.КоличествоНакопительное > ОстатокКСписанию.КоличествоОстаток ТОГДА ТабРазностьСвертка.Количество - (ТабРазностьСвертка.КоличествоНакопительное - ОстатокКСписанию.КоличествоОстаток) ИНАЧЕ 0 КОНЕЦ УПОРЯДОЧИТЬ ПО Период УБЫВ {УПОРЯДОЧИТЬ ПО Регистратор.*, ТабРазностьСвертка.Регистратор.МоментВремени} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТабСписания.Регистратор КАК Регистратор, ТабСписания.Номенклатура КАК Номенклатура, ТабСписания.Количество КАК КоличествоСписываемое, ТабСписания.Период, МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ПериодЦены ПОМЕСТИТЬ СписываетсоеСДатойЦены ИЗ ТабСписания КАК ТабСписания ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ПО ТабСписания.Номенклатура = ЦеныНоменклатуры.Номенклатура И (ЦеныНоменклатуры.ТипЦен = &ТипЦен) И ТабСписания.Период >= ЦеныНоменклатуры.Период СГРУППИРОВАТЬ ПО ТабСписания.Номенклатура, ТабСписания.Период, ТабСписания.Регистратор, ТабСписания.Количество ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПоследняяСтрока.Регистратор, ПоследняяСтрока.Номенклатура, ПоследняяСтрока.КОличествоСписываемое, ПоследняяСтрока.Период, МАКСИМУМ(ЦеныНоменклатуры.Период) ИЗ ПоследняяСтрока КАК ПоследняяСтрока ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ПО ПоследняяСтрока.Номенклатура = ЦеныНоменклатуры.Номенклатура И (ЦеныНоменклатуры.ТипЦен = &ТипЦен) И ПоследняяСтрока.Период >= ЦеныНоменклатуры.Период СГРУППИРОВАТЬ ПО ПоследняяСтрока.Период, ПоследняяСтрока.Номенклатура, ПоследняяСтрока.Регистратор, ПоследняяСтрока.КОличествоСписываемое {УПОРЯДОЧИТЬ ПО Регистратор.*} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СписываетсоеСДатойЦены.Номенклатура КАК Номенклатура, СписываетсоеСДатойЦены.Номенклатура.Код КАК Код, СписываетсоеСДатойЦены.Номенклатура.Артикул КАК Артикул, СписываетсоеСДатойЦены.Номенклатура.НаименованиеПолное КАК НаименованиеПолное, СписываетсоеСДатойЦены.Номенклатура.СтранаПроисхождения КАК СтранаПроисхождения, СписываетсоеСДатойЦены.Номенклатура.Комментарий КАК Комментарий, СписываетсоеСДатойЦены.Регистратор КАК Регистратор, ЕСТЬNULL(НачальныйОстаток.КоличествоОстаток, 0) КАК ОстатокНаНачалоПериода, ПродажиОбороты.КоличествоОборот КАК КоличествоПродаж, ЗакупкиОбороты.КоличествоОборот КАК КоличествоЗакупок, СписываетсоеСДатойЦены.КоличествоСписываемое КАК ОстатокНаКонецПериода, ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) КАК Цена, ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) * ЕСТЬNULL(СписываетсоеСДатойЦены.КоличествоСписываемое, 0) КАК Всего {ВЫБРАТЬ Номенклатура.*, Регистратор.*, Код, Артикул, НаименованиеПолное, СтранаПроисхождения.*, Комментарий, ОстатокНаНачалоПериода, КоличествоПродаж, КоличествоЗакупок, ОстатокНаКонецПериода, Цена, Всего} ИЗ СписываетсоеСДатойЦены КАК СписываетсоеСДатойЦены ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ПО СписываетсоеСДатойЦены.Номенклатура = ЦеныНоменклатуры.Номенклатура И СписываетсоеСДатойЦены.ПериодЦены = ЦеныНоменклатуры.Период И (ЦеныНоменклатуры.ТипЦен = &ТипЦен) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты ПО СписываетсоеСДатойЦены.Номенклатура = ПродажиОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(&ДатаНач, &ДатаКон, , ) КАК ЗакупкиОбороты ПО СписываетсоеСДатойЦены.Номенклатура = ЗакупкиОбороты.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ НачальныйОстаток КАК НачальныйОстаток ПО СписываетсоеСДатойЦены.Номенклатура = НачальныйОстаток.Номенклатура {ГДЕ СписываетсоеСДатойЦены.Номенклатура.*, СписываетсоеСДатойЦены.Регистратор.*, СписываетсоеСДатойЦены.КоличествоСписываемое, (ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)) КАК Поле1, (ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) * ЕСТЬNULL(СписываетсоеСДатойЦены.КоличествоСписываемое, 0)) КАК Поле2, СписываетсоеСДатойЦены.Номенклатура.Код, СписываетсоеСДатойЦены.Номенклатура.Артикул, СписываетсоеСДатойЦены.Номенклатура.НаименованиеПолное, СписываетсоеСДатойЦены.Номенклатура.СтранаПроисхождения.*, СписываетсоеСДатойЦены.Номенклатура.Комментарий, ПродажиОбороты.КоличествоОборот, ЗакупкиОбороты.КоличествоОборот} УПОРЯДОЧИТЬ ПО СписываетсоеСДатойЦены.Номенклатура.Наименование, СписываетсоеСДатойЦены.Регистратор.МоментВремени УБЫВ {УПОРЯДОЧИТЬ ПО Номенклатура.*, Регистратор.*, Код, Артикул, НаименованиеПолное, СтранаПроисхождения.*, Комментарий, КоличествоПродаж, КоличествоЗакупок, ОстатокНаНачалоПериода, ОстатокНаКонецПериода, Цена, Всего, СписываетсоеСДатойЦены.Регистратор.МоментВремени} ИТОГИ МАКСИМУМ(ОстатокНаНачалоПериода), МАКСИМУМ(КоличествоПродаж), МАКСИМУМ(КоличествоЗакупок), СУММА(ОстатокНаКонецПериода), ВЫБОР КОГДА Регистратор ЕСТЬ NULL ТОГДА ВЫБОР КОГДА СУММА(ОстатокНаКонецПериода) = 0 ТОГДА 0 ИНАЧЕ ВЫРАЗИТЬ(СУММА(Всего) / СУММА(ОстатокНаКонецПериода) КАК ЧИСЛО(15, 2)) КОНЕЦ ИНАЧЕ ВЫРАЗИТЬ(СРЕДНЕЕ(Цена) КАК ЧИСЛО(15, 2)) КОНЕЦ КАК Цена, СУММА(Всего) ПО ОБЩИЕ, Номенклатура, Регистратор {ИТОГИ ПО Номенклатура.*, Регистратор.*, Код, Артикул, НаименованиеПолное, СтранаПроисхождения.*, Комментарий, КоличествоПродаж, КоличествоЗакупок, ОстатокНаНачалоПериода, ОстатокНаКонецПериода, Цена, Всего} |
|||
6
mikecool
27.02.15
✎
21:22
|
заверни его обратно, читать лень )
|
|||
7
kn
27.02.15
✎
21:24
|
да понятно
пробую по разному и с {} и без если на номенклатуру накладываю отбор то показывает а если общий то этой номенклатуры нет, глаза на месте. |
|||
8
kn
27.02.15
✎
21:25
|
консоль сама доступные поля строит видимо
|
|||
9
mikecool
27.02.15
✎
21:25
|
консоли плевать на {}
|
|||
10
RomanYS
27.02.15
✎
21:29
|
попробуй в последнем запросе переименовать Номенклатуру (как НоменклатураОтчета) и фильтруй по нему
|
|||
11
kn
27.02.15
✎
21:32
|
(9)после очистки {} тот же результат
(10)а для вышестоящих запросов сработает отбор? |
|||
12
kn
27.02.15
✎
21:35
|
(10) так да не показывает,
самое интересное что по смыслу номенклатура должна показываться в общем списке, данные которые показываются при отборе мне кажутся правильными, а полные - нет |
|||
13
Defender aka LINN
27.02.15
✎
21:41
|
Результирующий запрос смотри, думай
|
|||
14
France
27.02.15
✎
23:56
|
мля.. смотреть страшно, а анализировать - лениво.. совести нет у ТС))
|
|||
15
kn
01.03.15
✎
10:37
|
дело было в ВЫБРАТЬ ПЕРВЫЕ 1, надо было периписать этот запрос
для отбора срабатывал и показывал результат, а без отбора - не показывал) |
|||
16
kn
01.03.15
✎
10:39
|
(14) а карандаш есть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |