Имя: Пароль:
1C
1С v8
СКД без автозаполнения
0 OnCheck
 
23.12.11
06:58
Снял галку Автозаполнения, пытаюсь понят по какому принципу СКД исключает поля из текста запроса. Накидал простенький запрос с промежуточной ВТ. СКД выкидывает такую ошибку Ошибка при исполнении запроса набора данных
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"

текст запроса:

[code]
ВЫБРАТЬ
   Инцидент.Ссылка КАК Документ
ПОМЕСТИТЬ ВТИнциденты
{ВЫБРАТЬ
   Документ.*}
ИЗ
   Документ.Инцидент КАК Инцидент
ГДЕ
   Инцидент.Дата МЕЖДУ &НачалоПериода И &КонецПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Инциденты.Документ КАК Документ2,
   ПервыеОткрытия.Период КАК ПериодНач,
   ПоследниеЗакрытия.Период КАК ПериодКон,
   ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ПервыеОткрытия.Период, ПоследниеЗакрытия.Период, СЕКУНДА) / 3600 КАК ЧИСЛО(10, 2)) КАК ВремяВыполнения
ПОМЕСТИТЬ ВТПериодФактическогоВыполнения
{ВЫБРАТЬ
   Документ2.*,
   ПериодНач,
   ПериодКон,
   ВремяВыполнения}
ИЗ
   ВТИнциденты КАК Инциденты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МИНИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.ВремяРеакции = ИСТИНА
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПервыеОткрытия
       ПО (ПервыеОткрытия.Документ = Инциденты.Документ)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МАКСИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.Ссылка В(&СписокОкончаний)
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПоследниеЗакрытия
       ПО (ПоследниеЗакрытия.Документ = Инциденты.Документ)

ИНДЕКСИРОВАТЬ ПО
   Инциденты.Документ
[/code]
1 OnCheck
 
23.12.11
08:16
Тогда спрошу иначе:

Я пишу:

<code>
ВЫБРАТЬ
   Инцидент.Ссылка КАК Документ,
   Инцидент.Оценка,
   Инцидент.Услуга
ПОМЕСТИТЬ ВТИнциденты
ИЗ
   Документ.Инцидент КАК Инцидент
ГДЕ
   Инцидент.Дата МЕЖДУ &НачалоПериода И &КонецПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ВТИнциденты.Оценка) КАК Оценка,
   ВТИнциденты.Документ,
   ВТИнциденты.Услуга
ИЗ
   ВТИнциденты КАК ВТИнциденты

СГРУППИРОВАТЬ ПО
   ВТИнциденты.Документ,
   ВТИнциденты.Услуга
</>


с СКД генерирует так:

<code>
ВЫБРАТЬ
   Инцидент.Оценка КАК Оценка
ПОМЕСТИТЬ ВТИнциденты
ИЗ
   Документ.Инцидент КАК Инцидент
ГДЕ
   Инцидент.Дата МЕЖДУ &НачалоПериода И &КонецПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ВТИнциденты.Оценка) КАК Оценка
ИЗ
   ВТИнциденты КАК ВТИнциденты
</>

таким образом результат получается отличным. Пытаюсь получить результат генерации отчета СКД аналогичный исходному запросу, не меняя настройки построителя макета. Для этого снял галку автозаполнение и в конструкторе отчета играюсь с настройками на закладке компоновка данных, ни чего не получается :-(. Подскажите пожалуйста, что сделать?
2 Defender aka LINN
 
23.12.11
08:30
(0) У тебя псевдонимы поля Документ/Документ2 разные.
3 OnCheck
 
23.12.11
08:37
Насколько я заметил пока гуглил по форуму, Константин, вы хорошо разбираетесь в этих настройках, дело в том, что у меня поставлена задача разобраться в более сложном запросе, который на форум не выкладываю, подозревая, что выйдет пустая трата времени. Поэтому хочу разобраться детально. Поясните: а что псевдонимы должны быть одинаковыми и почему если да?   а еще, пожалуйста, подскажите по 2 вопросу. Большое спасибо.
4 OnCheck
 
23.12.11
08:39
я специально сделал их различными, вычитал, в форуме что в полях источника данных можно использовать поля временных таблиц, вот и решил это проверить но пока не вижу ни чего.
5 Defender aka LINN
 
23.12.11
08:59
(3) В выбранные поля СКД ты, я так понимаю, выводишь "Документ2". "Документ" туда не попадает, поэтому СКД его исключает из запроса.
6 OnCheck
 
23.12.11
09:11
(5) как сделать чтобы СКД не исключала поля, которые не выводятся, из запроса?
7 Axel2009
 
23.12.11
09:17
добавить их в фигурные скобки выбрать
8 OnCheck
 
23.12.11
09:26
добалял... и в "Выбрать" и в "ГДЕ" все равно не помогло
вот запрос:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ВТИнциденты.Оценка) КАК Оценка,
   ВТИнциденты.Документ КАК Документ,
   ВТИнциденты.Услуга КАК Услуга
{ВЫБРАТЬ
   Документ,
   Услуга,
   Оценка}
ИЗ
   ВТИнциденты КАК ВТИнциденты
{ГДЕ
   ВТИнциденты.Документ.*,
   ВТИнциденты.Услуга.*,
   ВТИнциденты.Оценка}

СГРУППИРОВАТЬ ПО
   ВТИнциденты.Документ,
   ВТИнциденты.Услуга


это генерит СКД


ВЫБРАТЬ
   Инцидент.Оценка КАК Оценка
ПОМЕСТИТЬ ВТИнциденты
ИЗ
   Документ.Инцидент КАК Инцидент
ГДЕ
   Инцидент.Дата МЕЖДУ &НачалоПериода И &КонецПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ВТИнциденты.Оценка) КАК Оценка
ИЗ
   ВТИнциденты КАК ВТИнциденты
9 Axel2009
 
23.12.11
09:27
а в настройках что?
10 OnCheck
 
23.12.11
09:28
(9) там поля Документ и услуга не выводятся, одна группировка детальные записи, где выбрано одно поле услуга
11 OnCheck
 
23.12.11
09:29
+(10) сори выведена не услуга, а оценка
12 Axel2009
 
23.12.11
09:31
(10) ну и что вы хотите, если там 1 поле оценка?
13 OnCheck
 
23.12.11
09:36
(12) хорошо, вот запрос который пишу я:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Инциденты.Документ КАК Документ,
   ПервыеОткрытия.Период КАК ПериодНач,
   ПоследниеЗакрытия.Период КАК ПериодКон,
   ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ПервыеОткрытия.Период, ПоследниеЗакрытия.Период, СЕКУНДА) / 3600 КАК ЧИСЛО(10, 2)) КАК ВремяВыполнения
ПОМЕСТИТЬ ВТПериодФактическогоВыполнения
ИЗ
   ВТИнциденты КАК Инциденты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МИНИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.ВремяРеакции = ИСТИНА
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПервыеОткрытия
       ПО (ПервыеОткрытия.Документ = Инциденты.Документ)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МАКСИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.Ссылка В(&СписокОкончаний)
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПоследниеЗакрытия
       ПО (ПоследниеЗакрытия.Документ = Инциденты.Документ)

ИНДЕКСИРОВАТЬ ПО
   Инциденты.Документ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   УровниСервисаУровниВремя.Ссылка КАК Ссылка,
   КОЛИЧЕСТВО(УровниСервисаУровниВремя.Ссылка) КАК Количество,
   СУММА(УровниСервисаУровниВремя.ВремяРеакции + УровниСервисаУровниВремя.ВремяРазрешения) КАК ВремяУровня
ПОМЕСТИТЬ ВТИтогоПоСервису
ИЗ
   Справочник.УровниСервиса.УровниВремя КАК УровниСервисаУровниВремя

СГРУППИРОВАТЬ ПО
   УровниСервисаУровниВремя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Инцидент.Ссылка КАК Ссылка,
   Инцидент.Услуга КАК Услуга,
   ВремяЖизниОбращения.ВремяВыполнения КАК ВремяВыполненияФактСумма,
   ВремяЖизниОбращения.ВремяВыполнения КАК ВремяВыполненияФактСреднее,
   СУММА(ВЫБОР
           КОГДА УровниСервиса.ВариантУровняСервиса = 0
               ТОГДА УровниСервиса.ВремяРеакции + УровниСервиса.ВремяРазрешения
           ИНАЧЕ ИтогоПоСервису.ВремяУровня / ИтогоПоСервису.Количество
       КОНЕЦ) КАК ВремяВыполненияПланСумма,
   СУММА(ВЫБОР
           КОГДА УровниСервиса.ВариантУровняСервиса = 0
               ТОГДА УровниСервиса.ВремяРеакции + УровниСервиса.ВремяРазрешения
           ИНАЧЕ ИтогоПоСервису.ВремяУровня / ИтогоПоСервису.Количество
       КОНЕЦ) КАК ВремяВыполненияПланСреднее
ПОМЕСТИТЬ ВТИтоги
{ВЫБРАТЬ
   Услуга.*,
   Ссылка.*}
ИЗ
   Справочник.УровниСервиса КАК УровниСервиса
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СоставУслуг.УровниСервиса КАК СоставУслугУровниСервиса
       ПО (СоставУслугУровниСервиса.УровеньСервиса = УровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Инцидент КАК Инцидент
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТИнциденты КАК ВТИнциденты
           ПО Инцидент.Ссылка = ВТИнциденты.Документ
       ПО (Инцидент.КомпонентаУслуги = СоставУслугУровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериодФактическогоВыполнения КАК ВремяЖизниОбращения
       ПО (ВремяЖизниОбращения.Документ.Ссылка = Инцидент.Ссылка)
       ЛЕВОЕ СОЕДИНЕНИЕ ВТИтогоПоСервису КАК ИтогоПоСервису
       ПО УровниСервиса.Ссылка = ИтогоПоСервису.Ссылка
ГДЕ
   УровниСервиса.Ссылка <> &БезSLA

СГРУППИРОВАТЬ ПО
   Инцидент.Услуга,
   ВремяЖизниОбращения.ВремяВыполнения,
   Инцидент.Ссылка,
   ВремяЖизниОбращения.ВремяВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТПериодФактическогоВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтогоПоСервису
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) КАК ВремяВыполненияФактСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияФактСреднее) / КОЛИЧЕСТВО(ИтогиСумм.ВремяВыполненияФактСреднее) КАК ВремяВыполненияФактСреднееИтог,
   СУММА(ИтогиСумм.ВремяВыполненияПланСумма) КАК ВремяВыполненияПланСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияПланСреднее) / КОЛИЧЕСТВО(ИтогиСумм.ВремяВыполненияПланСреднее) КАК ВремяВыполненияПланСреднееИтог,
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) / СУММА(ИтогиСумм.ВремяВыполненияПланСумма) * 100 КАК ПроцентФактаОтНормыИтог
ИЗ
   ВТИтоги КАК ИтогиСумм
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтоги




вот что генерит СКД

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Инциденты.Документ КАК Документ,
   ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ПервыеОткрытия.Период, ПоследниеЗакрытия.Период, СЕКУНДА) / 3600 КАК ЧИСЛО(10, 2)) КАК ВремяВыполнения
ПОМЕСТИТЬ ВТПериодФактическогоВыполнения
ИЗ
   ВТИнциденты КАК Инциденты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МИНИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.ВремяРеакции = ИСТИНА
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПервыеОткрытия
       ПО (ПервыеОткрытия.Документ = Инциденты.Документ)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МАКСИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.Ссылка В(&СписокОкончаний)
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПоследниеЗакрытия
       ПО (ПоследниеЗакрытия.Документ = Инциденты.Документ)

ИНДЕКСИРОВАТЬ ПО
   Инциденты.Документ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   УровниСервисаУровниВремя.Ссылка КАК Ссылка,
   КОЛИЧЕСТВО(УровниСервисаУровниВремя.Ссылка) КАК Количество,
   СУММА(УровниСервисаУровниВремя.ВремяРеакции + УровниСервисаУровниВремя.ВремяРазрешения) КАК ВремяУровня
ПОМЕСТИТЬ ВТИтогоПоСервису
ИЗ
   Справочник.УровниСервиса.УровниВремя КАК УровниСервисаУровниВремя

СГРУППИРОВАТЬ ПО
   УровниСервисаУровниВремя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВремяЖизниОбращения.ВремяВыполнения КАК ВремяВыполненияФактСумма,
   СУММА(ВЫБОР
           КОГДА УровниСервиса.ВариантУровняСервиса = 0
               ТОГДА УровниСервиса.ВремяРеакции + УровниСервиса.ВремяРазрешения
           ИНАЧЕ ИтогоПоСервису.ВремяУровня / ИтогоПоСервису.Количество
       КОНЕЦ) КАК ВремяВыполненияПланСумма
ПОМЕСТИТЬ ВТИтоги
ИЗ
   Справочник.УровниСервиса КАК УровниСервиса
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СоставУслуг.УровниСервиса КАК СоставУслугУровниСервиса
       ПО (СоставУслугУровниСервиса.УровеньСервиса = УровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Инцидент КАК Инцидент
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТИнциденты КАК ВТИнциденты
           ПО Инцидент.Ссылка = ВТИнциденты.Документ
       ПО (Инцидент.КомпонентаУслуги = СоставУслугУровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериодФактическогоВыполнения КАК ВремяЖизниОбращения
       ПО (ВремяЖизниОбращения.Документ.Ссылка = Инцидент.Ссылка)
       ЛЕВОЕ СОЕДИНЕНИЕ ВТИтогоПоСервису КАК ИтогоПоСервису
       ПО УровниСервиса.Ссылка = ИтогоПоСервису.Ссылка
ГДЕ
   УровниСервиса.Ссылка <> &БезSLA

СГРУППИРОВАТЬ ПО
   ВремяЖизниОбращения.ВремяВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТПериодФактическогоВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтогоПоСервису
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) КАК ВремяВыполненияФактСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияПланСумма) КАК ВремяВыполненияПланСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) / СУММА(ИтогиСумм.ВремяВыполненияПланСумма) * 100 КАК ПроцентФактаОтНормыИтог
ИЗ
   ВТИтоги КАК ИтогиСумм
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтоги



обрати внимание на ризницу формирования ВТИтоги
14 Axel2009
 
23.12.11
09:45
судя по запросу галка включена?
15 OnCheck
 
23.12.11
09:49
автозаполнение? да, пробовал без нее

вот запрос:



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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Инциденты.Документ КАК Документ,
   ПервыеОткрытия.Период КАК ПериодНач,
   ПоследниеЗакрытия.Период КАК ПериодКон,
   ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ПервыеОткрытия.Период, ПоследниеЗакрытия.Период, СЕКУНДА) / 3600 КАК ЧИСЛО(10, 2)) КАК ВремяВыполнения
ПОМЕСТИТЬ ВТПериодФактическогоВыполнения
ИЗ
   ВТИнциденты КАК Инциденты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МИНИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.ВремяРеакции = ИСТИНА
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПервыеОткрытия
       ПО (ПервыеОткрытия.Документ = Инциденты.Документ)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МАКСИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.Ссылка В(&СписокОкончаний)
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПоследниеЗакрытия
       ПО (ПоследниеЗакрытия.Документ = Инциденты.Документ)

ИНДЕКСИРОВАТЬ ПО
   Инциденты.Документ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   УровниСервисаУровниВремя.Ссылка КАК Ссылка,
   КОЛИЧЕСТВО(УровниСервисаУровниВремя.Ссылка) КАК Количество,
   СУММА(УровниСервисаУровниВремя.ВремяРеакции + УровниСервисаУровниВремя.ВремяРазрешения) КАК ВремяУровня
ПОМЕСТИТЬ ВТИтогоПоСервису
ИЗ
   Справочник.УровниСервиса.УровниВремя КАК УровниСервисаУровниВремя

СГРУППИРОВАТЬ ПО
   УровниСервисаУровниВремя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Инцидент.Ссылка КАК Ссылка,
   Инцидент.Услуга КАК Услуга,
   ВремяЖизниОбращения.ВремяВыполнения КАК ВремяВыполненияФактСумма,
   ВремяЖизниОбращения.ВремяВыполнения КАК ВремяВыполненияФактСреднее,
   СУММА(ВЫБОР
           КОГДА УровниСервиса.ВариантУровняСервиса = 0
               ТОГДА УровниСервиса.ВремяРеакции + УровниСервиса.ВремяРазрешения
           ИНАЧЕ ИтогоПоСервису.ВремяУровня / ИтогоПоСервису.Количество
       КОНЕЦ) КАК ВремяВыполненияПланСумма,
   СУММА(ВЫБОР
           КОГДА УровниСервиса.ВариантУровняСервиса = 0
               ТОГДА УровниСервиса.ВремяРеакции + УровниСервиса.ВремяРазрешения
           ИНАЧЕ ИтогоПоСервису.ВремяУровня / ИтогоПоСервису.Количество
       КОНЕЦ) КАК ВремяВыполненияПланСреднее
ПОМЕСТИТЬ ВТИтоги
{ВЫБРАТЬ
   Услуга.*,
   Ссылка.*}
ИЗ
   Справочник.УровниСервиса КАК УровниСервиса
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СоставУслуг.УровниСервиса КАК СоставУслугУровниСервиса
       ПО (СоставУслугУровниСервиса.УровеньСервиса = УровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Инцидент КАК Инцидент
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТИнциденты КАК ВТИнциденты
           ПО Инцидент.Ссылка = ВТИнциденты.Документ
       ПО (Инцидент.КомпонентаУслуги = СоставУслугУровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериодФактическогоВыполнения КАК ВремяЖизниОбращения
       ПО (ВремяЖизниОбращения.Документ.Ссылка = Инцидент.Ссылка)
       ЛЕВОЕ СОЕДИНЕНИЕ ВТИтогоПоСервису КАК ИтогоПоСервису
       ПО УровниСервиса.Ссылка = ИтогоПоСервису.Ссылка
ГДЕ
   УровниСервиса.Ссылка <> &БезSLA

СГРУППИРОВАТЬ ПО
   Инцидент.Услуга,
   ВремяЖизниОбращения.ВремяВыполнения,
   Инцидент.Ссылка,
   ВремяЖизниОбращения.ВремяВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТПериодФактическогоВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтогоПоСервису
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) КАК ВремяВыполненияФактСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияФактСреднее) / КОЛИЧЕСТВО(ИтогиСумм.ВремяВыполненияФактСреднее) КАК ВремяВыполненияФактСреднееИтог,
   СУММА(ИтогиСумм.ВремяВыполненияПланСумма) КАК ВремяВыполненияПланСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияПланСреднее) / КОЛИЧЕСТВО(ИтогиСумм.ВремяВыполненияПланСреднее) КАК ВремяВыполненияПланСреднееИтог,
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) / СУММА(ИтогиСумм.ВремяВыполненияПланСумма) * 100 КАК ПроцентФактаОтНормыИтог
{ВЫБРАТЬ
   ВремяВыполненияФактСуммаИтог,
   ВремяВыполненияФактСреднееИтог,
   ВремяВыполненияПланСуммаИтог,
   ВремяВыполненияПланСреднееИтог,
   ПроцентФактаОтНормыИтог}
ИЗ
   ВТИтоги КАК ИтогиСумм
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтоги


вот СКД




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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Инциденты.Документ КАК Документ,
   ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ПервыеОткрытия.Период, ПоследниеЗакрытия.Период, СЕКУНДА) / 3600 КАК ЧИСЛО(10, 2)) КАК ВремяВыполнения
ПОМЕСТИТЬ ВТПериодФактическогоВыполнения
ИЗ
   ВТИнциденты КАК Инциденты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МИНИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.ВремяРеакции = ИСТИНА
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПервыеОткрытия
       ПО (ПервыеОткрытия.Документ = Инциденты.Документ)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           Состояния.Документ КАК Документ,
           МАКСИМУМ(Состояния.Период) КАК Период
       ИЗ
           РегистрСведений.Состояния КАК Состояния
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СостоянияИнцидентов КАК СостоянияИнцидентов
               ПО Состояния.Состояние = СостоянияИнцидентов.Ссылка
       ГДЕ
           СостоянияИнцидентов.Ссылка В(&СписокОкончаний)
       
       СГРУППИРОВАТЬ ПО
           Состояния.Документ) КАК ПоследниеЗакрытия
       ПО (ПоследниеЗакрытия.Документ = Инциденты.Документ)

ИНДЕКСИРОВАТЬ ПО
   Инциденты.Документ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   УровниСервисаУровниВремя.Ссылка КАК Ссылка,
   КОЛИЧЕСТВО(УровниСервисаУровниВремя.Ссылка) КАК Количество,
   СУММА(УровниСервисаУровниВремя.ВремяРеакции + УровниСервисаУровниВремя.ВремяРазрешения) КАК ВремяУровня
ПОМЕСТИТЬ ВТИтогоПоСервису
ИЗ
   Справочник.УровниСервиса.УровниВремя КАК УровниСервисаУровниВремя

СГРУППИРОВАТЬ ПО
   УровниСервисаУровниВремя.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВремяЖизниОбращения.ВремяВыполнения КАК ВремяВыполненияФактСумма,
   СУММА(ВЫБОР
           КОГДА УровниСервиса.ВариантУровняСервиса = 0
               ТОГДА УровниСервиса.ВремяРеакции + УровниСервиса.ВремяРазрешения
           ИНАЧЕ ИтогоПоСервису.ВремяУровня / ИтогоПоСервису.Количество
       КОНЕЦ) КАК ВремяВыполненияПланСумма
ПОМЕСТИТЬ ВТИтоги
ИЗ
   Справочник.УровниСервиса КАК УровниСервиса
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СоставУслуг.УровниСервиса КАК СоставУслугУровниСервиса
       ПО (СоставУслугУровниСервиса.УровеньСервиса = УровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Инцидент КАК Инцидент
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТИнциденты КАК ВТИнциденты
           ПО Инцидент.Ссылка = ВТИнциденты.Документ
       ПО (Инцидент.КомпонентаУслуги = СоставУслугУровниСервиса.Ссылка)
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериодФактическогоВыполнения КАК ВремяЖизниОбращения
       ПО (ВремяЖизниОбращения.Документ.Ссылка = Инцидент.Ссылка)
       ЛЕВОЕ СОЕДИНЕНИЕ ВТИтогоПоСервису КАК ИтогоПоСервису
       ПО УровниСервиса.Ссылка = ИтогоПоСервису.Ссылка
ГДЕ
   УровниСервиса.Ссылка <> &БезSLA

СГРУППИРОВАТЬ ПО
   ВремяЖизниОбращения.ВремяВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТПериодФактическогоВыполнения
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтогоПоСервису
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) КАК ВремяВыполненияФактСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияПланСумма) КАК ВремяВыполненияПланСуммаИтог,
   СУММА(ИтогиСумм.ВремяВыполненияФактСумма) / СУММА(ИтогиСумм.ВремяВыполненияПланСумма) * 100 КАК ПроцентФактаОтНормыИтог
ИЗ
   ВТИтоги КАК ИтогиСумм
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТИтоги
16 Axel2009
 
23.12.11
09:49
круто. настройки где? скд формирует запрос на основе НАСТРОЕК!!!
17 OnCheck
 
23.12.11
09:51
(16) а как настройки показать? :-)
18 Axel2009
 
23.12.11
09:52
скриншотами
19 OnCheck
 
23.12.11
09:53
(18) а где выложить не подскажешь?
20 Axel2009
 
23.12.11
09:58
набери в поиске и найди, первый раз чтоли? =)
21 OnCheck
 
23.12.11
10:19
22 Axel2009
 
23.12.11
10:23
ну, 3 поля выбраны. зачем СКД еще выбирать лишние поля то?? он их и рубит. добавь еще выбранное поле, запрос скдшный изменится. в чем вопрос то?
23 OnCheck
 
23.12.11
10:26
(22) просто результат нужно именно так представить чтобы вычислить процентное отношение итогов, а если ВТИтоги сгруппированы без услуг и инцидентов, тогда результат различен, мне нужно вывести в отчете итоги среднее фактическое, среднее плановое, сумма фактическая, сумма плановая, и отношение суммы фактической к плановой.
24 Axel2009
 
23.12.11
10:28
выводи услугу и считай ресурсы по формуле. будет тебе выводиться как надо
25 OnCheck
 
23.12.11
10:47
(24) а как считать по формуле? через вычисляемые поля?
26 Axel2009
 
23.12.11
10:50
вручную формулу пиши какую надо в ресурс и все
27 OnCheck
 
23.12.11
10:51
кажется нашел, пользовательские поля в настройках?
28 Axel2009
 
23.12.11
10:51
закладка ресурсы, любая формула
29 OnCheck
 
23.12.11
10:54
я пробовал через вычисляемые поля, тогда если помещаешь в ресурсы нужна формула (Сумма, Средннее), но тогда не верно, потомучто сумма отношений не равно отношению сумм.
30 OnCheck
 
23.12.11
10:54
и что значит любая формула? на закладке ресурсы можно добавлять только поля источников данных!
31 Axel2009
 
23.12.11
11:00
(29) что не понятно в словосочетании "ЛЮБАЯ ФОРМУЛА"?
32 Axel2009
 
23.12.11
11:03
(29)+список выбора не может предугадать ЛЮБУЮ формулу. поэтому особые случаи необходимо расписывать ручками
33 OnCheck
 
23.12.11
11:07
(32) уточни пожалуйста, именно на закладке "ресурсы"? Просто я не могу найти там возможность ввода формулы, даже элементарную сумму двух полей не хочет принимать, если в наглую руками в поле "Выражение" вбить. Может быть на закладке вычисляемые поля, но тогда (29)
34 ironkrab
 
23.12.11
11:12
Все прочесть не осилил. Если необходимо, чтобы поле, которое не выводится в запрос, тем не менее в нем учавствовало, необходимо на закладке НАБОРЫ ДАННЫХ в поле РОЛЬ поставить галочку ОБЯЗАТЕЛЬНОЕ. Это то, что Вам нужно?
35 Axel2009
 
23.12.11
11:12
(33) да, "в наглую руками в поле "Выражение" вбить" как раз и есть ЛЮБАЯ формула. если ошибка - значит не так пишешь.
36 Axel2009
 
23.12.11
11:12
(34) спасибо кэп
37 ironkrab
 
23.12.11
11:17
(36) но если я не ошибаюсь об этом в 6 и было спрошено, разьве нет?
38 OnCheck
 
23.12.11
11:28
(34) это в СКД или в конструкторе запроса?
39 OnCheck
 
23.12.11
11:31
(35) точно здесь, а то ведь там даже имя поля вручную не забешь? http://hostingkartinok.com/show-image.php?id=986039485ac462bb68d8bd9ec7538b6e
40 ironkrab
 
23.12.11
11:33
(38) В СКД на первой Закладке НАБОРЫ ДАННЫХ
41 ironkrab
 
23.12.11
11:35
(40)Таблица ПОЛЯ Колонка РОЛЬ
42 Axel2009
 
23.12.11
11:35
"Поле" не забьешь. а "Выражение" забьешь
43 Axel2009
 
23.12.11
11:36
44 OnCheck
 
23.12.11
11:40
(41) это немного не в то, тут поля исключаются в запросах формирующих временные таблицы, не все поля Временных таблиц используются в полях СКД
45 OnCheck
 
23.12.11
11:41
(43) т.е. ты заводишь поля на закладке Наборы данных несвязанные с полями запроса?
46 Axel2009
 
23.12.11
11:45
(45) где поля не связанные? уже скриншот показал как указывать ЛЮБУЮ ФОРМУЛУ.. троль чтоли?
47 OnCheck
 
23.12.11
11:47
поле "СуммаПродаж_Месяц1" из левой колонки "Доступные поля" как то связано с каким нить источником данных? если связаны, получается, что СКД в дальнейшем игнорирует эту свзязь ?
48 Axel2009
 
23.12.11
11:51
(47) где игнорирует?? формула расчета для такого поля по итогам будет браться из поля Выражение
49 Axel2009
 
23.12.11
11:53
(47)+СуммаПродаж_Месяц1 поле ВЫБРАТЬ в источнике данных
50 OnCheck
 
23.12.11
11:58
(48) все понял, спасибо огромное разжевал!
Программист всегда исправляет последнюю ошибку.