Имя: Пароль:
1C
1С v8
v8: Универсальный отчет
0 TwoWorld
 
22.11.11
14:25
"ВЫБРАТЬ
      |    ИнвентаризацияТоваровНаСкладе.Номенклатура КАК Номенкл,
      |    ИнвентаризацияТоваровНаСкладе.Количество КАК Количество,
      |    ИнвентаризацияТоваровНаСкладе.КоличествоУчет КАК КоличествоУчет,
      |    ИнвентаризацияТоваровНаСкладе.Ссылка.Склад КАК Склад,
      |    ИнвентаризацияТоваровНаСкладе.Ссылка.Ссылка
      |ИЗ
      |    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладе
      |ГДЕ ИнвентаризацияТоваровНаСкладе.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода

Проблема в том, что когда я делаю отбор по документам в настройках, нужно обязательно выбирать период отчета, а без периода он не работает, как сделать!
1 Господин ПЖ
 
22.11.11
14:29
открой силу {...} Люк!
2 John83
 
22.11.11
14:29
это не вирт. таблица
указывай в обработке, случай НЕ ЗначениеЗаполнено(КонПериода)
PS тут точно речь про УО?
3 Господин ПЖ
 
22.11.11
14:30
>это не вирт. таблица

и щито?..
4 TwoWorld
 
22.11.11
14:31
(2) да универсальный отчет, это часть просто отчета
5 TwoWorld
 
22.11.11
14:31
(1) ?
6 John83
 
22.11.11
14:34
(3) если не указать конечную дату, то возьмет текущую (или дата актуальности итогов - как-то так), в случае с документами - 00010101
7 Господин ПЖ
 
22.11.11
14:35
(5) что полезли тогда в универс. отчет немытыми руками... курить построитель до просветления...

(6) кто мешает указать 3000 год?
8 John83
 
22.11.11
14:37
(7) в (0) четко сказано, что дату не выбирают, о чем я и сказал в (2)
9 TwoWorld
 
22.11.11
14:45
Например, мне нужно сформировать отчет по 3 документам разных годов дат, т.е я не выбираю период а выбираю список документов! И при моем в (0) он требует выбрать период, а то не взлетит...
10 Rizhij_Nikitos
 
22.11.11
14:52
ну значти (0) сделай так, самый просто вариант

ТекстЗапроса1 = "ВЫБРАТЬ
      |    ИнвентаризацияТоваровНаСкладе.Номенклатура КАК Номенкл,
      |    ИнвентаризацияТоваровНаСкладе.Количество КАК Количество,
      |    ИнвентаризацияТоваровНаСкладе.КоличествоУчет КАК КоличествоУчет,
      |    ИнвентаризацияТоваровНаСкладе.Ссылка.Склад КАК Склад,
      |    ИнвентаризацияТоваровНаСкладе.Ссылка.Ссылка
      |ИЗ
      |    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладе";
ТекстЗапроса2 = Символы.ПС+"ГДЕ ИнвентаризацияТоваровНаСкладе.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода";
//НАчПериода или КОнПериода там наверно равенство должно быть 01010001 ну типа пустом значению.
Если НачПериода"" Или КонПериода<>"" Тогда
Запрос.Текст = ТекстЗапроса1;
Иначе
Запрос.Текст = ТекстЗапроса1+ТекстЗапроса2;
КонецЕсли;
Выборка = Запрос.Выполнить().Выгрузить(); // и тд и тп.
11 milan
 
22.11.11
15:01
(10) Делать так - моветон, сударь.
12 Alexandr Puzakov
 
22.11.11
15:06
(10) это ахтунг! Даже если бы это было уместно, то делать нужно примерно так:

ТекстЗапроса =
"ВЫБРАТЬ
|    ИнвентаризацияТоваровНаСкладе.Номенклатура КАК Номенкл,
|    ИнвентаризацияТоваровНаСкладе.Количество КАК Количество,
|    ИнвентаризацияТоваровНаСкладе.КоличествоУчет КАК КоличествоУчет,
|    ИнвентаризацияТоваровНаСкладе.Ссылка.Склад КАК Склад,
|    ИнвентаризацияТоваровНаСкладе.Ссылка.Ссылка
|ИЗ
|    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладе
|ГДЕ ИнвентаризацияТоваровНаСкладе.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода";

Если НЕ ЗначениеЗаполнено(НачПериода) И НЕ ЗначениеЗаполнено(КонПериода) Тогда
    ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ГДЕ ИнвентаризацияТоваровНаСкладе.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода", "");
Иначе
    Запрос.УстановитьПериод("НачДата", НачДата);
    Запрос.УстановитьПериод("КонДата", КонДата);
КонецЕсли;

Запрос.Текст = ТекстЗапроса;
13 Alexandr Puzakov
 
22.11.11
15:08
+(12) это нужно для того, чтобы твой запрос легко открывался в конструкторе и не пришлось долго матюгаться, пытаясь собрать его из кусков...
14 Alexandr Puzakov
 
22.11.11
15:09
И если это действительно универсальный отчет, то нужно так:

"ВЫБРАТЬ
|    ИнвентаризацияТоваровНаСкладе.Номенклатура КАК Номенкл,
|    ИнвентаризацияТоваровНаСкладе.Количество КАК Количество,
|    ИнвентаризацияТоваровНаСкладе.КоличествоУчет КАК КоличествоУчет,
|    ИнвентаризацияТоваровНаСкладе.Ссылка.Склад КАК Склад,
|    ИнвентаризацияТоваровНаСкладе.Ссылка.Ссылка
|ИЗ
|    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладе
|{ГДЕ ИнвентаризацияТоваровНаСкладе.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода}"
Закон Брукера: Даже маленькая практика стоит большой теории.