Имя: Пароль:
1C
 
При объединении запросов указать приоритет документов
0 Vigor06
 
05.11.15
17:55
Доброго дня!
тема немножко криво сформулирована,но постараюсь объяснить суть:
в конфигурации Хеликс: Фитнес-клуб перебираю 2 вида документов за период: "групповое занятие" и "ОРП". На групповом занятии могут присутствовать как платники (приобрели услугу), так и бесплатники (по абонементу занимающиеся).
Соответственно выбираю за период все ОРП  и групповые занятия( их соединяю с регистром сведений.в котором указывается,сколько человек на занятии было).

При этом в отчете в группировке по тренеру по услуге получаю дважды указание одних и тех же людей: сначала в ОРП,а затем в Групповом занятии

Как можно их разграничить,чтобы если люди в этот день уже указаны в ОРП,то в групповом их не выводить?

Спасибо

Код запроса примерно такой


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

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ГрупповоеЗанятие.Номенклатура,
    Состав.Количество,
    NULL,
    NULL,
    ГрупповоеЗанятие.Исполнитель,
    Состав.Контрагент,
    ГрупповоеЗанятие.Ссылка,
    ГрупповоеЗанятие.СтруктурнаяЕдиница,
    ГрупповоеЗанятие.Дата
ИЗ
    (ВЫБРАТЬ
        СостояниеКлиентовПоГрупповымЗанятиям.Количество КАК Количество,
        СостояниеКлиентовПоГрупповымЗанятиям.ГрупповоеЗанятие КАК ГЗ,
        СостояниеКлиентовПоГрупповымЗанятиям.Контрагент КАК Контрагент
    ИЗ
        РегистрСведений.СостояниеКлиентовПоГрупповымЗанятиям КАК СостояниеКлиентовПоГрупповымЗанятиям) КАК Состав
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ГрупповоеЗанятие КАК ГрупповоеЗанятие
        ПО Состав.ГЗ = ГрупповоеЗанятие.Ссылка
ГДЕ
    ГрупповоеЗанятие.Дата МЕЖДУ &НачалоПериода И &КонецПериода
;
1 Горогуля
 
05.11.15
17:57
прекращай выбирать отчётные данные из документов
2 Vigor06
 
05.11.15
18:01
и получается в итоге что то такое: http://hkar.ru/EJKt
3 Vigor06
 
05.11.15
18:01
(1)Так все равно в разрезе документов нужно отчет делать. При выборе из регистра те же яйца получатся,только в профиль
4 Горогуля
 
05.11.15
18:06
(3) регистратор православен, документ.ссылка - нет
5 Горогуля
 
05.11.15
18:08
навеяло..
Отрицание – в арифметике это «богомерзкая» операция, представим, кто-то «отрицает» Бога. Поэтому термины «отрицание», «отрицательныи?» в  православнои? арифметике неприменимы.
© "Начала православной арифметики" Говорова(?)
6 VikingKosmo
 
05.11.15
18:08
(4) во имя Регистратора, Регистра и Нуралиева, аминь.
7 Vigor06
 
05.11.15
18:08
(4) ахах)
8 Vigor06
 
05.11.15
18:09
А по сути проблемы: как мне не выбирать одних и тех же посетителей несколько раз?
9 Nuobu
 
05.11.15
18:10
(0) Оберни во вложенный запрос и сверни
10 Nuobu
 
05.11.15
18:10
(9) То есть сгруппируй.
11 Горогуля
 
05.11.15
18:11
(8) выбрать различные
12 Горогуля
 
05.11.15
18:12
(11) ну или какой-нибудь срез последних. и не надо говорить, что в ём такого не предусмотрено
13 Vigor06
 
05.11.15
18:13
(9) это СКД,я хз как тут сворачивать
14 Горогуля
 
05.11.15
18:14
пля... посетители посещают. вот посетил. оставил после себя след в виде денег, проведённого времени, остатков на абонементе... какой в пень регистр сведений?
15 Nuobu
 
05.11.15
18:15
(13) Дописать перед своим запросом
Выбрать * из (

А после запроса
) КАК ВложенныйЗапрос


Открыть Конструктор запросов и добавить группировку.
16 Vigor06
 
05.11.15
18:17
(10)(11)а,ок,попробую... Но в данном случае мне в пределах 1го дня нужно как то их группировать/выбирать различные,так как отчет формирвуется за месяц,а за этот месяц клиент раз по 30 может придти
17 VikingKosmo
 
05.11.15
18:17
(16) сверни их в СКД, будь мужиком!
18 Vigor06
 
05.11.15
18:20
(17) в пределах дня?
19 VikingKosmo
 
05.11.15
18:21
(18) а что мешает?
20 Vigor06
 
05.11.15
18:23
(19)смутно понимаю,как это выглядит
21 VikingKosmo
 
05.11.15
18:24
(20) как группировка на закладке Настройки, группировка Карл!
22 Горогуля
 
05.11.15
18:29
и даже никто не рассказал автору, что документы можно не проводить. а по праздникам так и вовсе помечать на удаление. а если есть права бога...
23 Vigor06
 
05.11.15
18:29
(21) да я понимаю)не ойму,как для каждого дня сделать
24 Nuobu
 
05.11.15
18:31
(23) Тебе нужен вообще каждый день из заданного периода?
25 VikingKosmo
 
05.11.15
18:32
(22) об этом ТСу пока лучше даже не задумываться...
26 Vigor06
 
06.11.15
10:16
(24) мне нужно сделать так,что если в ОРП уже эти клиенты были в этот день с данной услугой,то групповое занятие с этой же услугой выводить уже не надо
27 Vigor06
 
06.11.15
15:15
В принципе,запрос по регистрам выглядит красивее
Но проболему пока так решить и не смог((

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

ВЫБРАТЬ
    СостояниеКлиентовПоГрупповымЗанятиям.СтруктурнаяЕдиница,
    СостояниеКлиентовПоГрупповымЗанятиям.ГрупповоеЗанятие.Номенклатура,
    СостояниеКлиентовПоГрупповымЗанятиям.Контрагент,
    СостояниеКлиентовПоГрупповымЗанятиям.ГрупповоеЗанятие.Исполнитель,
    СостояниеКлиентовПоГрупповымЗанятиям.Количество,
    NULL,
    СостояниеКлиентовПоГрупповымЗанятиям.ГрупповоеЗанятие
ИЗ
    РегистрСведений.СостояниеКлиентовПоГрупповымЗанятиям КАК СостояниеКлиентовПоГрупповымЗанятиям
ГДЕ
    СостояниеКлиентовПоГрупповымЗанятиям.Период МЕЖДУ &НачалоПериода И &КонецПериода
28 Nuobu
 
06.11.15
15:17
(27) Объединить во вложенныйЗапрос и сгруппировать по максимуму не получилось?
29 Vigor06
 
06.11.15
15:29
(28)Пробовал - не помогло

сейчас вот так сделал:

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

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    СостояниеКлиентовПоГрупповымЗанятиям.СтруктурнаяЕдиница,
    СостояниеКлиентовПоГрупповымЗанятиям.ГрупповоеЗанятие.Номенклатура,
    СостояниеКлиентовПоГрупповымЗанятиям.Контрагент,
    СостояниеКлиентовПоГрупповымЗанятиям.ГрупповоеЗанятие.Исполнитель,
    СостояниеКлиентовПоГрупповымЗанятиям.Количество,
    NULL,
    СостояниеКлиентовПоГрупповымЗанятиям.ГрупповоеЗанятие
ИЗ
    РегистрСведений.СостояниеКлиентовПоГрупповымЗанятиям КАК СостояниеКлиентовПоГрупповымЗанятиям
ГДЕ
    СостояниеКлиентовПоГрупповымЗанятиям.Период МЕЖДУ &НачалоПериода И &КонецПериода
    И НЕ СостояниеКлиентовПоГрупповымЗанятиям.Контрагент В
                (ВЫБРАТЬ
                    ОказаниеУслуг.Контрагент
                ИЗ
                    РегистрНакопления.ОказаниеУслуг КАК ОказаниеУслуг
                ГДЕ
                    ДЕНЬ(ОказаниеУслуг.Период) = ДЕНЬ(СостояниеКлиентовПоГрупповымЗанятиям.Период))
30 olegves
 
06.11.15
15:33
(27) узнай, наконец, что есть в языке запросов такая функция:
НачалоПериода...

Твой случай: День