|
Что нужно добавить в запрос, чтобы выводились все элементы | ☑ | ||
---|---|---|---|---|
0
nick_krsk
28.01.12
✎
14:03
|
Добрый день!
Есть запрос, который выводит элементы спр Номенклатуры с оборотами и остатками за период. Если по элементу Номенклатуры нет ни оборотов, ни остатков, то он не выводится. Подскажите, какое условие нужно добавить в запрос, чтобы в выборку попадали все элементы спр Номенклатура? |
|||
1
Fragster
гуру
28.01.12
✎
14:07
|
Выбрать * из Справочники.Номенклатура как Спр Левое Соединение РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты как Рег По Спр.Ссылка = Рег.Номенклатура
|
|||
2
nick_krsk
28.01.12
✎
14:58
|
(1) Спасибо, идею понял. На простом запросе работает, но когда добавляю в типовой отчет - не хочет. Т.е. данные выводятся как и прежде. В чем может быть дело?
Было: ... |ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, { | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, { | Номенклатура.* КАК Номенклатура, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ЗаказПокупателя.* КАК ЗаказПокупателя, | ДоговорКонтрагента.* КАК ДоговорКонтрагента, | ДокументПродажи.* КАК ДокументПродажи, | Подразделение.* КАК Подразделение, | Проект.* КАК Проект, | Организация.* КАК Организация, | Контрагент.* КАК Контрагент, | (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения}) КАК ИсточникДанных Стало: ВЫБРАТЬ РАЗРЕШЕННЫЕ |спрНом.Ссылка, |ИсточникДанных.Номенклатура КАК Номенклатура, ... | ИЗ Справочник.Номенклатура Как спрНом | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, { | Номенклатура.* КАК Номенклатура, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ЗаказПокупателя.* КАК ЗаказПокупателя, | ДоговорКонтрагента.* КАК ДоговорКонтрагента, | ДокументПродажи.* КАК ДокументПродажи, | Подразделение.* КАК Подразделение, | Проект.* КАК Проект, | Организация.* КАК Организация, | Контрагент.* КАК Контрагент, | (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения}) КАК ИсточникДанных | ПО ИсточникДанных.Номенклатура = спрНом.Ссылка |
|||
3
acsent
28.01.12
✎
15:01
|
я такой вопрос на собеседовании задаю. 80% не проходят ))
|
|||
4
nick_krsk
28.01.12
✎
15:03
|
(3) Растолкуй, пожалуйста :)
|
|||
5
nick_krsk
28.01.12
✎
16:11
|
Вместо
ВЫБРАТЬ РАЗРЕШЕННЫЕ |спрНом.Ссылка, |ИсточникДанных.Номенклатура КАК Номенклатура Надо писать ВЫБРАТЬ РАЗРЕШЕННЫЕ |спрНом.Ссылка КАК Номенклатура Так?:) |
|||
6
Luhtas
28.01.12
✎
16:18
|
(5) Если тебе нужно показать номенклатуру (наименование) все равно даже если нет движений в регистре, тогда сначала выбирай запросом номенклатуру из справочника, и левым соединением подсоединяй для выбора данные из регистра...
|
|||
7
Luhtas
28.01.12
✎
16:20
|
+(5) ВЫБРАТЬ
Номенклатура.Ссылка, ТоварыОстаткиИОбороты.Склад, ТоварыОстаткиИОбороты.Номенклатура, ТоварыОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыОстаткиИОбороты.КоличествоОборот, ТоварыОстаткиИОбороты.КоличествоПриход, ТоварыОстаткиИОбороты.КоличествоРасход ИЗ РегистрНакопления.Товары.ОстаткиИОбороты КАК ТоварыОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ПО ТоварыОстаткиИОбороты.Номенклатура = Номенклатура.Ссылка |
|||
8
nick_krsk
28.01.12
✎
16:23
|
(7)Ага, спасибо!
|
|||
9
nick_krsk
28.01.12
✎
17:26
|
После семерки непривычно.
|
|||
10
1с-кин
28.01.12
✎
20:06
|
(6) у вас здесь описано не то, что в (7) - либо уж выбирать Номенклатуру запросом, либо сразу соединением.
|
|||
11
1с-кин
28.01.12
✎
20:07
|
(9) а семерка зедсь ни при чем. Просто уже идет вопрос оптимизации скорости работы запроса.
|
|||
12
nick_krsk
29.01.12
✎
12:32
|
Еще вопрос: я внес измения в отчет, после этого перестал правильно работать отбор по номенклатуре. Если установить отбор, то выводится вся номенклатура, но остатки показываются только по выбранной. В какую сторону копать? Отчет сделан на основе универсального.
|
|||
13
Fragster
гуру
29.01.12
✎
13:07
|
(12) я тут что-то сделал и у меня перестало работать... покажи запрос-то?
|
|||
14
nick_krsk
29.01.12
✎
13:21
|
Весь показывать наверно смысла нет - он на 340 строк.
//| ИсточникДанных.Номенклатура КАК Номенклатура, | спрНом.Ссылка КАК Номенклатура, .... | ИЗ Справочник.Номенклатура Как спрНом //|ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, { | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность},{ | Номенклатура.* КАК Номенклатура, | ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ЗаказПокупателя.* КАК ЗаказПокупателя, | ДоговорКонтрагента.* КАК ДоговорКонтрагента, | ДокументПродажи.* КАК ДокументПродажи, | Подразделение.* КАК Подразделение, | Проект.* КАК Проект, | Организация.* КАК Организация, | Контрагент.* КАК Контрагент, | (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения} |) КАК ИсточникДанных | ПО ИсточникДанных.Номенклатура = спрНом.Ссылка |
|||
15
DrShad
29.01.12
✎
13:25
|
а условия где?
|
|||
16
Fragster
гуру
29.01.12
✎
13:33
|
|{ГДЕ Номенклатура.* КАК Номенклатура} в конце надо
|
|||
17
nick_krsk
29.01.12
✎
13:41
|
(15) Условия явно не задаются, отчет строится УниверсальнымОтчетом
// Добавление предопределенных отборов отчета. // Необходимо вызывать для каждого добавляемого отбора. // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>); УниверсальныйОтчет.ДобавитьОтбор("Номенклатура"); УниверсальныйОтчет.ДобавитьОтбор("Проект"); УниверсальныйОтчет.ДобавитьОтбор("Подразделение"); |
|||
18
nick_krsk
29.01.12
✎
13:42
|
(16) Ругается: "Неоднозначное поле Номенклатура: Номенклатура.* КАК Номенклатура"
|
|||
19
Fragster
гуру
29.01.12
✎
14:09
|
спрНом.Номенклатура.* КАК Номенклатура
|
|||
20
nick_krsk
29.01.12
✎
14:13
|
(19) Говорит:"Поле не найдено 'спрНом'. спрНом.Номенклатура.* КАК Номенклатура"
|
|||
21
nick_krsk
29.01.12
✎
14:16
|
(19)Написал: спрНом.Ссылка.* КАК Номенклатура и взлетело!
Спасибо большое! :) |
|||
22
nick_krsk
30.01.12
✎
15:50
|
Еще вопрос: после всех действий, товары без оборотов выводятся, но их остатки не показываются. Как исправить?
|
|||
23
Ненавижу 1С
гуру
30.01.12
✎
15:51
|
(22) хотелось бы посмотреть на запрос "после всех действий"
|
|||
24
nick_krsk
30.01.12
✎
16:00
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
//|ИсточникДанных.Номенклатура КАК Номенклатура, спрНом.Ссылка КАК Номенклатура, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление, ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление, ИсточникДанных.ЗаказПокупателя КАК ЗаказПокупателя, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ЗаказПокупателя) КАК ЗаказПокупателяПредставление, ИсточникДанных.ДоговорКонтрагента КАК ДоговорКонтрагента, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление, ИсточникДанных.ДокументПродажи КАК ДокументПродажи, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументПродажи) КАК ДокументПродажиПредставление, ИсточникДанных.Подразделение КАК Подразделение, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Подразделение) КАК ПодразделениеПредставление, ИсточникДанных.Проект КАК Проект, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Проект) КАК ПроектПредставление, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Организация) КАК ОрганизацияПредставление, ИсточникДанных.Контрагент КАК Контрагент, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Контрагент) КАК КонтрагентПредставление, ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения) КАК НоменклатураБазоваяЕдиницаИзмеренияПредставление, ИсточникДанных.КоличествоОборот КАК КоличествоОборот, ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, ИсточникДанных.НДСОборот КАК НДСОборот, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд, ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки, СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки, ИсточникДанных.Регистратор КАК Регистратор, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление, ИсточникДанных.Период КАК Период, НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень, НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя, НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада, НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц, НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал, НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие, НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод, ЕСТЬNULL(ОстаткиВРознице.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиНаСкладах.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиВНТТ.КоличествоОстаток, 0) КАК ОстатокНаСкладах" + ТекстВыбораПолей + " //ПОЛЯ_СВОЙСТВА //ПОЛЯ_КАТЕГОРИИ {ВЫБРАТЬ Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, КоличествоОборот, СтоимостьОборот, СтоимостьБезСкидокОборот, НДСОборот, КоличествоЕдиницОтчетов, КоличествоБазовыхЕд, ПроцентСкидки, СуммаСкидки, Регистратор.* КАК Регистратор, Период КАК Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод, ЕСТЬNULL(ОстаткиВРознице.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиНаСкладах.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиВНТТ.КоличествоОстаток, 0) КАК ОстатокНаСкладах " + ТекстВыбораПолей + " //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ } ИЗ Справочник.Номенклатура Как спрНом //|ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, { ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность},{ Номенклатура.* КАК Номенклатура, ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ЗаказПокупателя.* КАК ЗаказПокупателя, ДоговорКонтрагента.* КАК ДоговорКонтрагента, ДокументПродажи.* КАК ДокументПродажи, Подразделение.* КАК Подразделение, Проект.* КАК Проект, Организация.* КАК Организация, Контрагент.* КАК Контрагент, (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения} ) КАК ИсточникДанных ПО ИсточникДанных.Номенклатура = спрНом.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаКон) Как ОстаткиВРознице //|ПО ИсточникДанных.Номенклатура = ОстаткиВРознице.Номенклатура //|И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиВРознице.ХарактеристикаНоменклатуры ПО спрНом.Ссылка = ОстаткиВРознице.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон) Как ОстаткиНаСкладах //|ПО ИсточникДанных.Номенклатура = ОстаткиНаСкладах.Номенклатура //|И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиНаСкладах.ХарактеристикаНоменклатуры ПО спрНом.Ссылка = ОстаткиВРознице.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаКон) Как ОстаткиВНТТ //|ПО ИсточникДанных.Номенклатура = ОстаткиВНТТ.Номенклатура //|И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиВНТТ.ХарактеристикаНоменклатуры" ПО спрНом.Ссылка = ОстаткиВРознице.Номенклатура" + ТекстСоединений + " //СОЕДИНЕНИЯ {ГДЕ // спрНом.Ссылка КАК Номенклатура, // ИсточникДанных.КоличествоОборот КАК КоличествоОборот, ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, ИсточникДанных.НДСОборот КАК НДСОборот, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд, ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки, СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки, ИсточникДанных.Регистратор.* КАК Регистратор, ИсточникДанных.Период КАК Период, НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень, НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя, НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада, НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц, НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал, НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие, НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод //УСЛОВИЯ_СВОЙСТВА //УСЛОВИЯ_КАТЕГОРИИ } {УПОРЯДОЧИТЬ ПО Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, КоличествоОборот, СтоимостьОборот, СтоимостьБезСкидокОборот, НДСОборот, КоличествоЕдиницОтчетов, КоличествоБазовыхЕд, ПроцентСкидки, СуммаСкидки, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ } ИТОГИ СУММА(КоличествоОборот), СУММА(СтоимостьОборот), СУММА(СтоимостьБезСкидокОборот), СУММА(НДСОборот), СУММА(КоличествоЕдиницОтчетов), СУММА(КоличествоБазовыхЕд), ВЫБОР КОГДА СУММА(СтоимостьБезСкидокОборот) = 0 ТОГДА 0 ИНАЧЕ (СУММА(СтоимостьБезСкидокОборот) - СУММА(СтоимостьОборот)) / СУММА(СтоимостьБезСкидокОборот) * 100 КОНЕЦ КАК ПроцентСкидки, СУММА(СуммаСкидки), среднее(ОстатокНаСкладах)" + ТекстИтогов + " //ИТОГИ_СВОЙСТВА //ИТОГИ_КАТЕГОРИИ ПО ОБЩИЕ {ИТОГИ ПО Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ } |
|||
25
nick_krsk
30.01.12
✎
16:04
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
//| ИсточникДанных.Номенклатура КАК Номенклатура, спрНом.Ссылка КАК Номенклатура, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление, ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление, ИсточникДанных.ЗаказПокупателя КАК ЗаказПокупателя, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ЗаказПокупателя) КАК ЗаказПокупателяПредставление, ИсточникДанных.ДоговорКонтрагента КАК ДоговорКонтрагента, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление, ИсточникДанных.ДокументПродажи КАК ДокументПродажи, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументПродажи) КАК ДокументПродажиПредставление, ИсточникДанных.Подразделение КАК Подразделение, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Подразделение) КАК ПодразделениеПредставление, ИсточникДанных.Проект КАК Проект, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Проект) КАК ПроектПредставление, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Организация) КАК ОрганизацияПредставление, ИсточникДанных.Контрагент КАК Контрагент, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Контрагент) КАК КонтрагентПредставление, ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения) КАК НоменклатураБазоваяЕдиницаИзмеренияПредставление, ИсточникДанных.КоличествоОборот КАК КоличествоОборот, ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, ИсточникДанных.НДСОборот КАК НДСОборот, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд, ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки, СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки, ИсточникДанных.Регистратор КАК Регистратор, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление, ИсточникДанных.Период КАК Период, НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень, НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя, НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада, НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц, НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал, НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие, НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод, ЕСТЬNULL(ОстаткиВРознице.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиНаСкладах.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиВНТТ.КоличествоОстаток, 0) КАК ОстатокНаСкладах" + ТекстВыбораПолей + " //ПОЛЯ_СВОЙСТВА //ПОЛЯ_КАТЕГОРИИ |{ВЫБРАТЬ Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, КоличествоОборот, СтоимостьОборот, СтоимостьБезСкидокОборот, НДСОборот, КоличествоЕдиницОтчетов, КоличествоБазовыхЕд, ПроцентСкидки, СуммаСкидки, Регистратор.* КАК Регистратор, Период КАК Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод, ЕСТЬNULL(ОстаткиВРознице.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиНаСкладах.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиВНТТ.КоличествоОстаток, 0) КАК ОстатокНаСкладах " + ТекстВыбораПолей + " //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ |} | ИЗ Справочник.Номенклатура Как спрНом //|ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, { ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность},{ Номенклатура.* КАК Номенклатура, ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ЗаказПокупателя.* КАК ЗаказПокупателя, ДоговорКонтрагента.* КАК ДоговорКонтрагента, ДокументПродажи.* КАК ДокументПродажи, Подразделение.* КАК Подразделение, Проект.* КАК Проект, Организация.* КАК Организация, Контрагент.* КАК Контрагент, (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения} ) КАК ИсточникДанных ПО ИсточникДанных.Номенклатура = спрНом.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаКон) Как ОстаткиВРознице ПО ИсточникДанных.Номенклатура = ОстаткиВРознице.Номенклатура И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиВРознице.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон) Как ОстаткиНаСкладах ПО ИсточникДанных.Номенклатура = ОстаткиНаСкладах.Номенклатура И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиНаСкладах.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаКон) Как ОстаткиВНТТ ПО ИсточникДанных.Номенклатура = ОстаткиВНТТ.Номенклатура И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиВНТТ.ХарактеристикаНоменклатуры" + ТекстСоединений + " |//СОЕДИНЕНИЯ |{ГДЕ спрНом.Ссылка КАК Номенклатура, ИсточникДанных.КоличествоОборот КАК КоличествоОборот, ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, ИсточникДанных.НДСОборот КАК НДСОборот, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд, ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки, СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки, ИсточникДанных.Регистратор.* КАК Регистратор, ИсточникДанных.Период КАК Период, НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень, НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя, НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада, НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц, НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал, НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие, НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод //УСЛОВИЯ_СВОЙСТВА //УСЛОВИЯ_КАТЕГОРИИ |} |{УПОРЯДОЧИТЬ ПО Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, КоличествоОборот, СтоимостьОборот, СтоимостьБезСкидокОборот, НДСОборот, КоличествоЕдиницОтчетов, КоличествоБазовыхЕд, ПроцентСкидки, СуммаСкидки, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ |} |ИТОГИ СУММА(КоличествоОборот), СУММА(СтоимостьОборот), СУММА(СтоимостьБезСкидокОборот), СУММА(НДСОборот), СУММА(КоличествоЕдиницОтчетов), СУММА(КоличествоБазовыхЕд), ВЫБОР КОГДА СУММА(СтоимостьБезСкидокОборот) = 0 ТОГДА 0 ИНАЧЕ (СУММА(СтоимостьБезСкидокОборот) - СУММА(СтоимостьОборот)) / СУММА(СтоимостьБезСкидокОборот) * 100 КОНЕЦ КАК ПроцентСкидки, СУММА(СуммаСкидки), среднее(ОстатокНаСкладах)" + ТекстИтогов + " //ИТОГИ_СВОЙСТВА //ИТОГИ_КАТЕГОРИИ |ПО ОБЩИЕ |{ИТОГИ ПО Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ |
|||
26
nick_krsk
30.01.12
✎
16:04
|
(25) Вот последняя версия :)
|
|||
27
nick_krsk
30.01.12
✎
16:06
|
Я думаю, что остатки не выводятся, потомучто таблица остатков соединяется с таблицей ИсточникДанных
|
|||
28
nick_krsk
30.01.12
✎
17:14
|
up
|
|||
29
Ненавижу 1С
гуру
31.01.12
✎
11:28
|
скрывешь?
+ ТекстСоединений + " |//СОЕДИНЕНИЯ |
|||
30
Fragster
гуру
31.01.12
✎
11:42
|
ну пошли уже запросы кусками...
|
|||
31
nick_krsk
31.01.12
✎
16:55
|
(29),(30) ссори, упустил
УниверсальныйОтчет.ПостроительОтчета.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ //|ИсточникДанных.Номенклатура КАК Номенклатура, // спрНом.Ссылка КАК Номенклатура, // ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление, ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление, ИсточникДанных.ЗаказПокупателя КАК ЗаказПокупателя, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ЗаказПокупателя) КАК ЗаказПокупателяПредставление, ИсточникДанных.ДоговорКонтрагента КАК ДоговорКонтрагента, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление, ИсточникДанных.ДокументПродажи КАК ДокументПродажи, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументПродажи) КАК ДокументПродажиПредставление, ИсточникДанных.Подразделение КАК Подразделение, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Подразделение) КАК ПодразделениеПредставление, ИсточникДанных.Проект КАК Проект, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Проект) КАК ПроектПредставление, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Организация) КАК ОрганизацияПредставление, ИсточникДанных.Контрагент КАК Контрагент, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Контрагент) КАК КонтрагентПредставление, ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения) КАК НоменклатураБазоваяЕдиницаИзмеренияПредставление, ИсточникДанных.КоличествоОборот КАК КоличествоОборот, ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, ИсточникДанных.НДСОборот КАК НДСОборот, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд, ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки, СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки, ИсточникДанных.Регистратор КАК Регистратор, ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление, ИсточникДанных.Период КАК Период, НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень, НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя, НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада, НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц, НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал, НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие, НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод, ЕСТЬNULL(ОстаткиВРознице.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиНаСкладах.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиВНТТ.КоличествоОстаток, 0) КАК ОстатокНаСкладах" + ТекстВыбораПолей + " //ПОЛЯ_СВОЙСТВА //ПОЛЯ_КАТЕГОРИИ {ВЫБРАТЬ Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, КоличествоОборот, СтоимостьОборот, СтоимостьБезСкидокОборот, НДСОборот, КоличествоЕдиницОтчетов, КоличествоБазовыхЕд, ПроцентСкидки, СуммаСкидки, Регистратор.* КАК Регистратор, Период КАК Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод, ЕСТЬNULL(ОстаткиВРознице.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиНаСкладах.КоличествоОстаток, 0) + ЕСТЬNULL(ОстаткиВНТТ.КоличествоОстаток, 0) КАК ОстатокНаСкладах " + ТекстВыбораПолей + " //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ } // ИЗ Справочник.Номенклатура Как спрНом // //ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, { ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность},{ Номенклатура.* КАК Номенклатура, ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ЗаказПокупателя.* КАК ЗаказПокупателя, ДоговорКонтрагента.* КАК ДоговорКонтрагента, ДокументПродажи.* КАК ДокументПродажи, Подразделение.* КАК Подразделение, Проект.* КАК Проект, Организация.* КАК Организация, Контрагент.* КАК Контрагент, (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения} ) КАК ИсточникДанных // ПО ИсточникДанных.Номенклатура = спрНом.Ссылка // ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаКон) Как ОстаткиВРознице ПО ИсточникДанных.Номенклатура = ОстаткиВРознице.Номенклатура И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиВРознице.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон) Как ОстаткиНаСкладах ПО ИсточникДанных.Номенклатура = ОстаткиНаСкладах.Номенклатура И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиНаСкладах.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаКон) Как ОстаткиВНТТ ПО ИсточникДанных.Номенклатура = ОстаткиВНТТ.Номенклатура И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиВНТТ.ХарактеристикаНоменклатуры" + ТекстСоединений + " //СОЕДИНЕНИЯ {ГДЕ // спрНом.Ссылка КАК Номенклатура, // ИсточникДанных.КоличествоОборот КАК КоличествоОборот, ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, ИсточникДанных.НДСОборот КАК НДСОборот, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов, КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд, ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки, СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки, ИсточникДанных.Регистратор.* КАК Регистратор, ИсточникДанных.Период КАК Период, НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень, НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя, НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада, НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц, НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал, НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие, НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод //УСЛОВИЯ_СВОЙСТВА //УСЛОВИЯ_КАТЕГОРИИ } {УПОРЯДОЧИТЬ ПО Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, КоличествоОборот, СтоимостьОборот, СтоимостьБезСкидокОборот, НДСОборот, КоличествоЕдиницОтчетов, КоличествоБазовыхЕд, ПроцентСкидки, СуммаСкидки, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ } ИТОГИ СУММА(КоличествоОборот), СУММА(СтоимостьОборот), СУММА(СтоимостьБезСкидокОборот), СУММА(НДСОборот), СУММА(КоличествоЕдиницОтчетов), СУММА(КоличествоБазовыхЕд), ВЫБОР КОГДА СУММА(СтоимостьБезСкидокОборот) = 0 ТОГДА 0 ИНАЧЕ (СУММА(СтоимостьБезСкидокОборот) - СУММА(СтоимостьОборот)) / СУММА(СтоимостьБезСкидокОборот) * 100 КОНЕЦ КАК ПроцентСкидки, СУММА(СуммаСкидки), среднее(ОстатокНаСкладах)" + ТекстИтогов + " //ИТОГИ_СВОЙСТВА //ИТОГИ_КАТЕГОРИИ ПО ОБЩИЕ {ИТОГИ ПО Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, ДоговорКонтрагента.*, ДокументПродажи.*, Подразделение.*, Проект.*, Организация.*, Контрагент.*, НоменклатураБазоваяЕдиницаИзмерения.*, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод //ПСЕВДОНИМЫ_СВОЙСТВА //ПСЕВДОНИМЫ_КАТЕГОРИИ } "; |
|||
32
Ненавижу 1С
гуру
31.01.12
✎
16:58
|
и все таки, что есть ТекстСоединений?
|
|||
33
nick_krsk
31.01.12
✎
17:04
|
Запрос.Текст = "ВЫБРАТЬ
| Склады.Ссылка, | Склады.ВидСклада, | Склады.Код, | Склады.Представление |ИЗ | Справочник.Склады КАК Склады |ГДЕ | (НЕ Склады.ПометкаУдаления) | И (НЕ Склады.ЭтоГруппа)"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); ТекстВыбораПолей = ""; ТекстСоединений = ""; ТекстИтогов = ""; Счетчик = 1; СоответствиеПоказателейОстатков = Новый Соответствие(); Пока Выборка.Следующий() Цикл ... ТекстСоединений = ТекстСоединений + " | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления." + ИмяРегистра + ".Остатки(&ДатаКон, Склад = &Склад" + Счетчик + ") Как ОстаткиСклада" + Счетчик + " | ПО ИсточникДанных.Номенклатура = ОстаткиСклада" + Счетчик + ".Номенклатура | И ИсточникДанных.ХарактеристикаНоменклатуры = ОстаткиСклада" + Счетчик + ".ХарактеристикаНоменклатуры"; ... |
|||
34
nick_krsk
31.01.12
✎
19:08
|
(32) Да, вроде в ТекстСоединений надо поправить. Спасибо за подсказку :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |