Имя: Пароль:
1C
1С v8
Запрос для подсчёта количества созданных документов
,
0 Алерон
 
27.08.15
08:43
Запрос= Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    |    РаботникиОрганизацийСрезПоследних.Должность,
    |    РаботникиОрганизацийСрезПоследних.Сотрудник,
    |    ВнутреннийЗаказ.Ответственный,
    |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВнутреннийЗаказ.Ссылка) КАК Ссылка
    |ИЗ
    |    Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ТекДата, ) КАК РаботникиОрганизацийСрезПоследних
    |        ПО ВнутреннийЗаказ.Ответственный.ФизЛицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо
    |ГДЕ
    |    ВнутреннийЗаказ.Дата МЕЖДУ &ДатаН И &ДатаК
    |
    |СГРУППИРОВАТЬ ПО
    |    ВнутреннийЗаказ.Ответственный,
    |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    |    РаботникиОрганизацийСрезПоследних.Должность,
    |    РаботникиОрганизацийСрезПоследних.Сотрудник";
    
    Запрос.УстановитьПараметр("ДатаН", НачалоДня(ТекущаяДата()));
    Запрос.УстановитьПараметр("ДатаК", КонецДня(ТекущаяДата()));
    Запрос.УстановитьПараметр("ТекДата", КонецДня(ТекущаяДата()));
    
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Заявок=РезультатЗапроса.Выгрузить();
    Кол_во_заявокТМЦ1=Заявок.Итог("Ссылка");
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        счетчик=счетчик+1;
        начальная_строка=начальная_строка+1;
        Лист.Cells(начальная_строка,2).Borders.Linestyle=1;
        Лист.Cells(начальная_строка,2).Value=счетчик;
        Лист.Cells(начальная_строка,3).Borders.Linestyle=1;
        Лист.Cells(начальная_строка,3).Value="Управление снабжением";
        Лист.Cells(начальная_строка,4).Borders.Linestyle=1;
        Лист.Cells(начальная_строка,4).Value=""+ВыборкаДетальныеЗаписи.ПодразделениеОрганизации;
        Лист.Cells(начальная_строка,5).Borders.Linestyle=1;
        Лист.Cells(начальная_строка,5).Value=""+ВыборкаДетальныеЗаписи.Должность;
        Лист.Cells(начальная_строка,6).Borders.Linestyle=1;
        Лист.Cells(начальная_строка,6).Value=ВыборкаДетальныеЗаписи.Ответственный.Наименование;
        Лист.Cells(начальная_строка,7).Borders.Linestyle=1;
        Лист.Cells(начальная_строка,7).Value=ВыборкаДетальныеЗаписи.Ссылка;
        Лист.Cells(начальная_строка,8).Borders.Linestyle=1;
        Лист.Cells(начальная_строка,8).Value="Заявка на приобретение ТМЦ";
        
    КонецЦикла;

В итоге в Excel документ записывается сколько документов создал определенный пользователь за день. Хочу добавить еще одну колонку, сколько создано документов еще и с начала месяца. Это можно в один запрос уместить? А то у меня единственная идея это второй писать...
1 Апош
 
27.08.15
08:49
ты выбираешь документы с датой внутри периода, а не то, что думаешь
2 ibreiter
 
27.08.15
08:51
Выбирайте за месяц, а в выборке уже анализируйте
3 Алерон
 
27.08.15
09:59
(2) а как анализировать? Есть какие-то стандартные методы. Как я думаю, там надо сделать левое соединение за месяц к дню, но это то же запрос. .получается два запроса. Или я ошибаюсь?
4 Апош
 
27.08.15
10:04
итоги по началопериода(дата, день)
количество(ссылка)
5 Апош
 
27.08.15
10:04
(4) это если СКД религия запрещает
6 Алерон
 
27.08.15
10:08
(4) есть где-нибудь список этих команд("по началопериода")
7 Апош
 
27.08.15
10:10
(6) у ДенисаЧ. только у него самый свежий СП
8 Апош
 
27.08.15
10:11
9 hhhh
 
27.08.15
10:11
(6) это 2 команды на самом деле: "ПО" одна команда, НачалоПериода - другая.
10 Ненавижу 1С
 
гуру
27.08.15
10:16
|    КОЛИЧЕСТВО(ВнутреннийЗаказ.Ссылка) КАК КоличествоЗаМесяц,
| КОЛИЧЕСТВО(ВЫБОР КОГДА ВнутреннийЗаказ.Дата МЕЖДУ &ДатаН И &ДатаК ТОГДА ВнутреннийЗаказ.Ссылка КОНЕЦ) КАК КоличествоЗаДень
    |ИЗ
    |    Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ТекДата, ) КАК РаботникиОрганизацийСрезПоследних
    |        ПО ВнутреннийЗаказ.Ответственный.ФизЛицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо
    |ГДЕ
    |    ВнутреннийЗаказ.Дата МЕЖДУ &ДатаНачалаМесяца И &ДатаК



Запрос.УстановитьПараметр("ДатаН", НачалоДня(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаНачалаМесяца", НачалоМесяца(ТекущаяДата()));
    Запрос.УстановитьПараметр("ДатаК", КонецДня(ТекущаяДата()));
    Запрос.УстановитьПараметр("ТекДата", КонецДня(ТекущаяДата()));
11 Алерон
 
27.08.15
11:47
(10)     Запрос.Текст =
    " Выбрать
    |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    |    РаботникиОрганизацийСрезПоследних.Должность,
    |    РаботникиОрганизацийСрезПоследних.Сотрудник,
    |    ВнутреннийЗаказ.Ответственный,
    |    КОЛИЧЕСТВО(ВнутреннийЗаказ.Ссылка) КАК КоличествоЗаМесяц,
    | КОЛИЧЕСТВО(ВЫБОР КОГДА ВнутреннийЗаказ.Дата МЕЖДУ &ДатаН И &ДатаК ТОГДА ВнутреннийЗаказ.Ссылка КОНЕЦ) КАК КоличествоЗаДень
    |ИЗ
    |    Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ТекДата, ) КАК РаботникиОрганизацийСрезПоследних
    |        ПО ВнутреннийЗаказ.Ответственный.ФизЛицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо
    |ГДЕ
    |    ВнутреннийЗаказ.Дата МЕЖДУ &ДатаНачалаМесяца И &ДатаК   ";



Запрос.УстановитьПараметр("ДатаН", НачалоДня(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаНачалаМесяца", НачалоМесяца(ТекущаяДата()));
    Запрос.УстановитьПараметр("ДатаК", КонецДня(ТекущаяДата()));
    Запрос.УстановитьПараметр("ТекДата", КонецДня(ТекущаяДата()));
    
    
    РезультатЗапроса = Запрос.Выполнить();


Ошибка при вызове метода контекста (Выполнить)
    РезультатЗапроса = Запрос.Выполнить();
по причине:
{(2, 2)}: Поле не входит в группу "РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации"
<<?>>РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
12 ibreiter
 
27.08.15
14:08
еще нужно    
    |Сгруппировать по    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    |    РаботникиОрганизацийСрезПоследних.Должность,
    |    РаботникиОрганизацийСрезПоследних.Сотрудник,
    |    ВнутреннийЗаказ.Ответственный