Имя: Пароль:
1C
1С v8
Вопрос по динамическим спискам с произвольным запросом
0 Cmyk32
 
02.07.12
15:41
Привет!
У меня есть справочник документ "Заказ" и регистр сведений "Регистрация обзвонов" с измерением "Заказ", "Дата звонка" и ресурсом "Результат".

Соответственно, звонков может быть несколько (на самом деле максимум 3).
Возможно ли в динамическом списке построить таблицу вида:

Заказ ... (Реквизиты заказа) ... ДатаЗвонка1 Результат1 ДатаЗвонка2 Результат 2 ...
?
1 Cmyk32
 
02.07.12
15:41
(0) У меня есть справочник документ.
Сорри, просто документ)
2 Jaap Vduul
 
02.07.12
15:45
Возможно
3 Cmyk32
 
02.07.12
15:46
(2) Отлично.
Второй вопрос. Как?
4 butterbean
 
02.07.12
15:50
(3) ты не знаешь как запрос составить??
5 kochurovg
 
02.07.12
16:11
Запрос д.б. примерно таким :


ВЫБРАТЬ
   Рег.Заказ КАК Заказ,
   ПервыеЗвонки.ДатаЗвонка КАК ДатаЗвонка1,
   ВторыеЗвонки.ДатаЗвонка КАК ДатаЗвонка2
   
ИЗ
   РегистрСведений.РегистрацияОбзвонов КАК Рег
   ЛЕВОЕ СОЕДИНЕНИЕ
       (ВЫБРАТЬ
           Рег1.Заказ КАК Заказ,
           МИН(Рег1.ДатаЗвонка) КАК ДатаЗвонка
       ИЗ
           РегистрСведений.РегистрацияОбзвонов КАК Рег1
       СГРУППИРОВАТЬ ПО
           Рег1.Заказ
       ) КАК ПервыеЗвонки
       ПО ПервыеЗвонки.Заказ=Рег.Заказ
   ЛЕВОЕ СОЕДИНЕНИЕ
       (ВЫБРАТЬ
           Рег2.Заказ КАК Заказ,
           МИН(Рег2.ДатаЗвонка) КАК ДатаЗвонка
       ИЗ
           РегистрСведений.РегистрацияОбзвонов КАК Рег2
           ВНУТРЕННЕЕЕ СОЕДИНЕНИЕ ПервыеЗвонки КАК _ПервыеЗвонки
               ПО _ПервыеЗвонки.Заказ = Рег2.Заказ
               И Рег2.ДатаЗвонка>_ПервыеЗвонки.ДатаЗвонка
       СГРУПИРОВАТЬ ПО
           Рег2.Заказ
       ) КАК ВторыеЗвонки
       ПО ВторыеЗвонки.Заказ=Рег.Заказ

далее надо добавить еще соединения  чтоб получить 3-й звонок и Результаты
6 gosn1ck
 
02.07.12
16:14
юзер френдли будет если ты возьмёшь последние 3 звонка и делать будешь не тупую табличку, а группировку по заказу и работать будет быстрее
7 Cmyk32
 
02.07.12
16:34
(5) Спасибо, но я хочу получить запрос именно для n-звонков.
8 Cmyk32
 
02.07.12
16:34
(6) Думаешь? То есть - юзер захочет посмотреть даты звонков - развернет группировку и успокоиться?
9 Cmyk32
 
02.07.12
16:35
(6) Я отмела такой вариант. Хотя не могу привести адекватного аргумента - почему.
10 kochurovg
 
02.07.12
16:37
(7) т.е. в динамическом списке должно быть n колонок ?
11 butterbean
 
02.07.12
16:38
(7) т.е. превратить 2 в n ты не сможешь??
12 Новенький_2009
 
02.07.12
16:40
(0) классическая задача на транспонирование матрицы. Получить ее ТОЛЬКО запросом при n-количестве звонков - затруднительно.
13 Cmyk32
 
02.07.12
16:43
(11) Хм. В СКД смогу - ибо там есть группировка по колонкам.
Но заранее не зная количество звонков - так сразу даже и не придумаю.
14 Cmyk32
 
02.07.12
16:44
(12) Кажись, в (11) спец знает как это сделать только запросом.
15 Новенький_2009
 
02.07.12
16:46
(14) только через конкатенацию текста запроса с учетом количества звонков. Если просто так - нет. Не получится. Если на скд с группировкой в таблице по колонкам - получится - но там (по секрету) НЕ один запрос :)

Мне кажется, правильнее - все таки через группировку по какому-то ключу. Так естественнее для пользователей. На скд на пример.
16 Cmyk32
 
02.07.12
16:46
(10) Это катастрофический вариант события. Быть такого не должно. Максимум у меня будет 3 значения. Но раз уж тема открыта, хочу узнать - возможно ли для N и как)
17 Cmyk32
 
02.07.12
16:47
(15) Да, в итоге сделаю группировку.
Только у меня вопрос: а почему в СКД это не один запрос? Я одним сделала. Дата звонка - измерение - в колонку. Результат - ресурс. Разумеется в поле ресурс подставляется функция "сумма", "среднее" и пр., но ее можно вручную стереть.
18 butterbean
 
02.07.12
16:48
(16) для неизвестного заранее количества - невозможно
19 Новенький_2009
 
02.07.12
16:48
(16) если ты откроешь любой учебник по SQL и посмотришь, как решаются подобные задачи - то ты просветишься. Если нет - то прими за аксиому - НИКАК :)
20 Новенький_2009
 
02.07.12
16:49
(17) ты потрейсь свой запрос - и посмотри сколько запросов и самое главное КАКИХ делает скд, чтоб расчитать итоги по ресурсам в таблице по колонке. Абалдеешь честное слово :)
21 Cmyk32
 
02.07.12
16:52
(19) Я не на запрос возлогала надежды в (0), а на какие-нибудь свойства УФ, о которых не знаю (поскольку пока только знакомлюсь с ними).
Спасибо за комментарии)
22 Cmyk32
 
02.07.12
16:53
(20)О! Просвети еще - что такое "потрейсь"?)
23 Новенький_2009
 
02.07.12
16:54
(21) не. Не питай надежды. Рисуй обычную группировку. А кстати - это нетленка или типовая какая? И как звонки туды к вам залетают? Рарусовский софтфон поди или чо?

(22) трейсером скулевским поймай запросы, которые делает СКД, когда ты жмякаешь кнопку сформировать - и погляди на них.
24 Cmyk32
 
02.07.12
16:58
(23) Это конфа с нуля за один день, в которой один документ, несколько справочников, пару обработок и отчетов (под рекламную акцию, которая будет длиться 2-3 месяца). Почему 1С? Чтобы не платить 50 тр фрилансу))
25 Новенький_2009
 
02.07.12
17:00
(25) Хм. Качество рекламных и маркетинговых акций можно отслеживать в УТ 11 "из коробки".
26 Cmyk32
 
02.07.12
17:03
(25) Не то. Суть следующая:
Есть стандартный шаблон опроса. Целевая аудитория в ТЦ заполняет соответствующие анкеты. Потом все анкеты сливаются к оператором, которые вносят их в базу. Затем обрабатывают каждую анкету по спец.механике (совершают ряд звонков, регистрируют доп.вопросы). В конце каждого месяца данные попадают в сводный отчет и пересылаются клиенту, заказавшему акцию.
27 Новенький_2009
 
02.07.12
17:06
(26) Хм. А чем то, что ты описала от УТ то отличается? :)
28 Новенький_2009
 
02.07.12
17:11
Создаешь шаблон анкеты опроса. Рисуешь обработку анкеты по своей прикладной механике. Чутка видимо правишь как-то стандартный отчет - и получаешь свое. Ты открой-открой - не бойсо.
29 Cmyk32
 
02.07.12
17:13
(27) Ну там нет анкет, в которых можно фиксировать варианты ответов. Насколько помню в УТ что-то типа мероприятий.
Вот только - мы не используем УТ.
Но с домашнего компа поковыряюсь в УТ детальнее ради интереса.
30 Cmyk32
 
02.07.12
17:15
(29) + Ну и конечно это не наше "маркетинговое мероприятие", а заказ клиента. Т.е. в нашей управленческой базе - анкетам делать нечего (мусор).

Может допиливание УТ подошло бы. Но не в этот раз.
31 Cmyk32
 
02.07.12
17:16
(28) Раз пошел такой диалог)) То задам вопрос не в тему. Ты УНФ внедрял? Из каких соображений 1С советует ее для компаний с численностью пользователей 1-10?
32 gosn1ck
 
02.07.12
17:28
(8) а что он писает кипятком еще что ли? вопроса не понял
33 Новенький_2009
 
02.07.12
17:29
(29) Путаешь (вроде).
(31) я хз, что они советуют. Вопрос наверное нужно ставить так: есть контора, и она хочет видеть...увидим ли мы это в УНФ? Если нет - то возможно ли сделать так, чтобы увидели? Если да - то за сколько :)

УНФ - хорошая простая конфа. Ее хорошесть в ее простоте.
34 Cmyk32
 
02.07.12
17:33
(32) Забей. Просто - для привередливых юзеров это лишний клик.
35 Cmyk32
 
02.07.12
17:35
(33) Не, не путаю. Мы - рекламное агентство, которое оказывает услуги по проведению акций и сбору информации для своих клиентов. По окончании(через 2-3 месяца) мы заархивируем базу и забудем о ней и об акции))

СПАСИБО тебе большое!)
36 Новенький_2009
 
02.07.12
20:30
(35) ну - не путаешь, значит молодец. И пожалуйста :)