Имя: Пароль:
1C
1С v8
Помогите с запросом
0 curys
 
18.11.11
00:24
на форме есть 3 параметра: сайт, регион, поисковик, при проверке заполнения полей формируется текст запроса, так вот у меня не получается составить запрос на вариант когда выбирается сайт и поисковик

Вот текст запроса:
Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
   |    ПозицииСайтовСрезПоследних.Период КАК Период,
   |    ПозицииСайтовСрезПоследних.Сайт,
   |    ПозицииСайтовСрезПоследних.Регион,
   |    ПозицииСайтовСрезПоследних.Запрос,
   |    ПозицииСайтовСрезПоследних.Позиция,
   |    ПозицииСайтовСрезПоследних.Поисковик,
   |   &Дата КАК Дата
   |ИЗ
   |    РегистрСведений.ПозицииСайтов.СрезПоследних(&Дата"
   +?(ЗначениеЗаполнено(Сайт),",Сайт = &Сайт","")
   +?(ЗначениеЗаполнено(Сайт) И ЗначениеЗаполнено(Регион)," И ","")
   +?(ЗначениеЗаполнено(Сайт) И ЗначениеЗаполнено(Поисковик),"","")
   +?(ЗначениеЗаполнено(Сайт),"",",")
   +?(ЗначениеЗаполнено(Поисковик),"Поисковик = &Поисковик ","")
   +?(ЗначениеЗаполнено(Поисковик) И ЗначениеЗаполнено(Регион)," И ","")
   +?(ЗначениеЗаполнено(Регион),"Регион = &Регион ","")
   +") КАК ПозицииСайтовСрезПоследних"+
   "
   |";
1 Total Commander
 
18.11.11
00:32
Вообще то для этих целей придуман построитель отчетов. Но если потом не будет стыдно смотреть всем кто увидит твой код:

Фильтр = "";
Если ЗначениеЗаполнено(Сайт) Тогда
  Фильтр = Фильтр + "Сайт = &Сайт И ";
КонецЕсли;

Если ЗначениеЗаполнено(Регион) Тогда
  Фильтр = Фильтр + "Регион= &Регион И ";
КонецЕсли;

Если ЗначениеЗаполнено(Поисковик) Тогда
  Фильтр = Фильтр + "Поисковик= &Поисковик И ";
КонецЕсли;

Если СтрДлина(Фильтр) > 0 Тогда
  Фильтр = Лев(Фильтр, СтрДлина(Фильтр) - 3); // удаляем самое левое " И " которое будет в любом случае
КонецЕсли;

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Сайт", Сайт);
Запрос.УстановитьПараметр("Регион", Регион);
Запрос.УстановитьПараметр("Поисковик", Поисковик);
   Запрос.Текст = "ВЫБРАТЬ
   |    ПозицииСайтовСрезПоследних.Период КАК Период,
   |    ПозицииСайтовСрезПоследних.Сайт,
   |    ПозицииСайтовСрезПоследних.Регион,
   |    ПозицииСайтовСрезПоследних.Запрос,
   |    ПозицииСайтовСрезПоследних.Позиция,
   |    ПозицииСайтовСрезПоследних.Поисковик,
   |   &Дата КАК Дата
   |ИЗ
   |    РегистрСведений.ПозицииСайтов.СрезПоследних(&Дата, " + Фильтр +")";
2 curys
 
18.11.11
00:34
Спасибо
3 curys
 
18.11.11
00:49
еще такой вопрос: возможно ли в ОсновнойСхемеКомпановкиДанных выделить определенную ячейку другим цветом?
4 AlStorm
 
18.11.11
04:57
Смотри вкладку оформление.
5 AlStorm
 
18.11.11
04:58
Кстати, а что за запрос такой интресный? Конфа по продвижению сайтов?
6 curys
 
18.11.11
17:52
да парсер гугла, яндекса
7 curys
 
18.11.11
18:05
спасибо, с ячейкой я разобрался) просто у меня косяк в регистре был, позиции в стоке прописаны=)

и еще такой вопрос как можно вывести в скд вот такой столбец? (нарисован в экселе) отображает процент выведенности сайтов в топ.

http://narod.ru/disk/31759791001/отчет.png.html

буду очень благодарен за помощь, с скд недавно только начал работать=)
8 curys
 
19.11.11
10:18
9 fly7
 
19.11.11
10:27
я бы написал "Процент вывода сайта в ТОП"
"выведенность" режет слух

процент от чего? можно сделать через пользовательские поля
10 curys
 
19.11.11
10:38
берутся считаются кол-во всех запросы по группе поисковик и кол-во запросов попавшие в 10ку, а далее 100%/кол-во всех * кол-во попавших в 10ку, тоже самое и для группы сайтов
11 curys
 
19.11.11
13:22
Подскажите как по одному ресурсу выводить итого и по другому нет?