|
как построить такой вот запрос | ☑ | ||
---|---|---|---|---|
0
olo_lo1
30.10.11
✎
22:15
|
не могу вкурить как построить такой вот запрос
нужно построить запрос на вхождения клиентов в выбранный список Проектов(где клиент был участником), т.е. как бы отчет по лояльности клиента Заранее неизвестно сколько проектов выберет пользователь в список запрос В списке в данном случае не подойдет, так как нужно вытащить данные где клиент участвовал во всех выбранных проектах. есть документ Событие, у него есть реквизит Клиент, Проект |
|||
1
Конфигуратор1с
30.10.11
✎
22:35
|
что есть проект ???
|
|||
2
olo_lo1
30.10.11
✎
22:39
|
типовой реквизит справочник.проекты
|
|||
3
Конфигуратор1с
30.10.11
✎
22:40
|
и как контрагенты связаны с проектами?
|
|||
4
olo_lo1
30.10.11
✎
22:40
|
через документ Событие
|
|||
5
Михей
30.10.11
✎
22:41
|
ВЫБРАТЬ
Клиент, Проект Из Документ.Событие СГРУППИРОВАТЬ ПО Клиент, Проект |
|||
6
Конфигуратор1с
30.10.11
✎
22:42
|
+ где проект в списке проектов
|
|||
7
SoftIce
30.10.11
✎
22:44
|
а что мешает просто выбрать
ВЫБРАТЬ ДокСобытие.Клиент ИЗ Документ.Событие КАК ДокСобытие ГДЕ Документ.Событие.Проект В (&СписокПроектов) И (НЕ Документ.Событие.ПометкаУдаления) |
|||
8
Diabolicum 1C
30.10.11
✎
22:46
|
(5), (6) не пройдет. Из условия задачи нужно узнать во всех ли событиях участвовал клиент. Но если он не участвовал, то документа Событие не будет и соответственно все клиенты всегда будут удовлетворять условию.
Если я правильно понял автора |
|||
9
olo_lo1
30.10.11
✎
22:47
|
(7) если было бы так просто..
здесь фишка в том что бы выявить что клиент был на всех выбранных проектах.. да еще хочется на СКД это дело написать |
|||
10
olo_lo1
30.10.11
✎
22:47
|
(8) да, все верно
|
|||
11
Diabolicum 1C
30.10.11
✎
22:48
|
Тут только полное соединение списка всех прошедших событий со списком документов событие, отобранных по клиенту
|
|||
12
olo_lo1
30.10.11
✎
22:49
|
(11) согласен с вами, а как это динамически в СКД в момент нажатии кнопки сформировать сделать ?
|
|||
13
Diabolicum 1C
30.10.11
✎
22:59
|
Выбрать
СпрКлиент.Ссылка как клиент, СпрСобытия.ссылка как событие Поместить СобытияКлиентов Из Справочник.контрагент как СпрКлиент, Справочник.события как СпрСобытия Где ....... ; Выбрать СК.Клиент, СК.Событие, Выбор когда док.клиент есть null тогда ложь иначе истина конец как участие Из СобытияКлиентов как СК Левое соединение документ.Событие как док По док.событие = СК.событие и Док.клиент = СК.клиент Вот примерно как то так. Запрос вернет список акций каждого клиента с признаком участия в них. Ну а дальше можно сгруппировать по клиенту и агрегировать поле участие по минимуму. Это в том случае, если нужно определить только участие клиента. Идея ясна?))) |
|||
14
olo_lo1
30.10.11
✎
23:12
|
запрос построил по-другому, все получилось, но я уперся как всегда в плохие знания СКД
каким образом в момент нажатия кнопки сформировтаь в компоновщик передать параметр ? |
|||
15
Diabolicum 1C
30.10.11
✎
23:23
|
(14) а зачем тебе строить запрос динамически? Тот подход, который я тебе предлагаю не требует динамического построения. Он будет работать всегда. Нужно только расставить параметры и фильтры.
С СКД я тебе не смогу помочь. Динамической работой с ней занимаюсь очень редко с книгой под рукой. А сейчас "звиняйте, бананьев немае" :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |