Имя: Пароль:
1C
 
Запрос в универсальном отчете.УТ10 Нужна помощь.
,
0 GalinaN
 
21.02.13
12:01
Раньше писала на 1С 7. Вот осваиваю 1С 8.2
Пишу отчет ,,,,,нужно сделать выборки по конкретному складу (&СкладОстатка как параметр в универс.отчете) и если это параметр пустой,то по всем складам......
Вот по конкретному складу часть кода...

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК ДоговорКонтрагентаВладелец,
   ПРЕДСТАВЛЕНИЕ(ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента.Владелец),
   ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
   ПРЕДСТАВЛЕНИЕ(ЗаказыПокупателейОстаткиИОбороты.ДоговорКонтраге
.........................
{ВЫБРАТЬ
   ДоговорКонтрагентаВладелец.*,
   ДоговорКонтрагента.*,
       ....................
   ОсталосьОбеспечитьЕдиницОтчетов}
ИЗ
   РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , ЗаказПокупателя ССЫЛКА Документ.ЗаказПокупателя {(ДоговорКонтрагента.Владелец).* КАК ДоговорКонтрагентаВладелец, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ВЫРАЗИТЬ(ЗаказПокупателя КАК Документ.ЗаказПокупателя)).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ЗаказыПокупателейОстаткиИОбороты
       {ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказПокупателя {(ВЫРАЗИТЬ(ДокументРезерва КАК Документ.ЗаказПокупателя)).* КАК ЗаказПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыВРезервеНаСкладах
       ПО ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя = ТоварыВРезервеНаСкладах.ДокументРезерва
       И ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
       И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
           И (ТоварыВРезервеНаСкладах.Склад = &СкладОстатка)
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказПокупателя) КАК ТоварыКПередачеСоСкладовОстатки
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ТоварыКПередачеСоСкладовОстатки.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
           И ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя = ТоварыКПередачеСоСкладовОстатки.ДокументРезерва
           И (ТоварыКПередачеСоСкладовОстатки.Склад = &СкладОстатка)
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПолучениюНаСклады.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказПокупателя) КАК ТоварыКПолучениюНаСкладыОстатки
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ТоварыКПолучениюНаСкладыОстатки.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ТоварыКПолучениюНаСкладыОстатки.ХарактеристикаНоменклатуры
           И ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя = ТоварыКПолучениюНаСкладыОстатки.ДокументРезерва
           И (ТоварыКПолучениюНаСкладыОстатки.Склад = &СкладОстатка)}
...........................
{ГДЕ
   ЗаказыПокупателейОстаткиИОбороты.СтатусПартии.* КАК СтатусПартии,
   ЗаказыПокупателейОстаткиИОбороты.Цена КАК Цена,
   ЗаказыПокупателейОстаткиИОбороты.ЕдиницаИзмерения.* КАК ЕдиницаИзмерения,
......................
{УПОРЯДОЧИТЬ ПО
   ДоговорКонтрагентаВладелец.*,
   ДоговорКонтрагента.*,
   ЗаказПокупателя.*,
   .....и т.д...
А теперь не могу применить Что-то типа
ГДЕ
      ВЫБОР КОГДА &СкладОстатка = ЗНАЧЕНИЕ(Справочники.Склады.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ <ВаашаТаблица>.Склад =&СкладОстатка КОНЕЦ

подскажите по синтаксису,где она должна быть в запросе....что-то не получается....
1 GANR
 
21.02.13
12:07
ВЫБРАТЬ
   FI_АвансовыйОтчет.Ссылка
ИЗ
   Документ.FI_АвансовыйОтчет КАК FI_АвансовыйОтчет
{ГДЕ
   (FI_АвансовыйОтчет.Ссылка = &Ссылка)}
2 GANR
 
21.02.13
12:07
+(1) Это в СКД, в построителе - не знаю "прокатит" или нет.
3 Wobland
 
21.02.13
12:08
{ГДЕ
   (FI_АвансовыйОтчет.Ссылка.*}
вроде так
4 GANR
 
21.02.13
12:10
(3) Это отбор, но не необязательный параметр - немного другое. Хотя, может ТС и так сойдет.
5 GalinaN
 
21.02.13
12:19
В универс.отчете &CкладОстатка   есть параметр типа Справочники.Склады.Если я задаю Склад,то все понятно.А когда этот параметр пустой,то надо в запросе написать условие и на этот случай. ....то что написали....не понятно...?
6 GalinaN
 
21.02.13
12:22
Вот по конкретному складу...
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПолучениюНаСклады.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказПокупателя) КАК ТоварыКПолучениюНаСкладыОстатки
       ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ТоварыКПолучениюНаСкладыОстатки.Номенклатура
           И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ТоварыКПолучениюНаСкладыОстатки.ХарактеристикаНоменклатуры
           И ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя = ТоварыКПолучениюНаСкладыОстатки.ДокументРезерва
           И (ТоварыКПолучениюНаСкладыОстатки.Склад = &СкладОстатка)}....
А теперь я должна убрать
И (ТоварыКПолучениюНаСкладыОстатки.Склад = &СкладОстатка)}....    и прописать другое условие....Куда  и как конкретно??????
7 GalinaN
 
21.02.13
12:24
Именно надо для Универсального отчета!
8 Defender aka LINN
 
21.02.13
12:25
Сколько можно повторять... Это называется "Отбор"!
9 GalinaN
 
21.02.13
12:28
А что от этого меняется,,,,.ну отбор ...
10 pessok
 
21.02.13
12:28
если уж отбор совсем не идет, то вот так:
ТоварыКПолучениюНаСкладыОстатки.Склад = &СкладОстатка ИЛИ
&ПустойСклад

Запрос.УстановитьПараметр("ПустойСклад", Истина);
11 pessok
 
21.02.13
12:29
+(10) истина или ложь в зависимости от того, указан ли склад, само собой :)
12 pessok
 
21.02.13
12:33
и вообще, не надо мучать АнализЗаказовПокупателей :)
там и так отбор по складу есть
13 banco
 
21.02.13
12:36
(10) ТоварыКПолучениюНаСкладыОстатки.Склад = &СкладОстатка ИЛИ
&СкладОстатка = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
14 pessok
 
21.02.13
12:41
(13) так вроде не взлетает
15 GalinaN
 
21.02.13
12:44
(10) Если так ставить ,то вообще ничего не выбирает.пробовала.
16 GalinaN
 
21.02.13
12:45
(13) А внализе нет отбора по складам! Там можно выбрать склад,кот.указан в документе заказа.А нужен склад,на котором лежат остатки!
17 GalinaN
 
21.02.13
13:12
(12)Там не такого отбора.Это не тот склад!
Закон Брукера: Даже маленькая практика стоит большой теории.