Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

не могу вытащить новых клиентов

не могу вытащить новых клиентов
Я
   Frida1711
 
28.09.20 - 21:28
задача - вытащить клиентов, которые не получали услуги до заданного периода. пишу запрос - выдает пустое поле. запрос прост, что не так?

ВЫБРАТЬ
    ОказанныеУслуги_Обороты.Контрагент КАК Контр
ПОМЕСТИТЬ ВТ_СтарыеПациенты
ИЗ
    РегистрНакопления.ОказанныеУслуги_.Обороты(, &НачалоПериода, Период, ) КАК ОказанныеУслуги_Обороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    НовыеПац.Контрагент КАК Контрагент,
    ВЫБОР
        КОГДА СтарыеПациенты.Контр ЕСТЬ NULL
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК НовыеКлиенты
ИЗ
    РегистрНакопления.ОказанныеУслуги_.Обороты(&НачалоПериода, &КонецПериода, Период, ) КАК НовыеПац
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтарыеПациенты КАК СтарыеПациенты
        ПО НовыеПац.Контрагент = СтарыеПациенты.Контр
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТ_СтарыеПациенты
   Ёпрст
 
1 - 28.09.20 - 21:40
значит, нет новых клиетов
   Frida1711
 
2 - 28.09.20 - 21:42
(1) есть
   mistеr
 
3 - 28.09.20 - 21:47
(2) Может, они получали уже после &КонецПериода.
   mistеr
 
4 - 28.09.20 - 21:48
Я бы еще ресурс проверял <> 0, а то мало ли.
   Frida1711
 
5 - 28.09.20 - 21:51
(3) после получали. цель и стоит выявить среди клиентов за период новых, которые пришли в первый раз
   Ёпрст
 
6 - 28.09.20 - 21:57
ну, показывай, что у тебя в начПериод и в конпериод
   Frida1711
 
7 - 28.09.20 - 22:03
   H A D G E H O G s
 
8 - 28.09.20 - 22:13
Круто, че.
Вот такие ребята делают скриншоты, из которых ты максимально не сможешь понять ничего.
Если это док - хер тебе, а не его номер и дату.
Если это справочник - держи страницу с комментарием, а код/артикул? А нафига он тебе, тыжпрограммист.
   Frida1711
 
9 - 28.09.20 - 22:28
   Frida1711
 
10 - 28.09.20 - 22:34
Опишу по другому. Первым запросом получаем клиентов, получивших конкретную услугу за период. Далее получаем общую выручку по клиентам с начала заданного периода. теперь нужно получить, сколько из них было впервые пришедших.
   arsik
 
11 - 28.09.20 - 22:35
(9) Истеричка :))
В первом запросе результат есть?
   Frida1711
 
12 - 28.09.20 - 22:44
(11) везде есть результат, кроме последнего запроса
   Ёпрст
 
13 - 28.09.20 - 23:36
(9) выкинь свой скд, открой консоль запросов и выполни свой код там. есть че ? Если да, то смотри в свой скд, как ты там че соединяешь потом эти свои наборы и как параметры устанавливаешь
   hhhh
 
14 - 29.09.20 - 00:44
(0) вот тут хрень

ИЗ
    РегистрНакопления.ОказанныеУслуги_.Обороты(, &НачалоПериода, Период, ) КАК ОказанныеУслуги_Обороты 

надо периоды в фигурные скобки брать.
   ДенисЧ
 
15 - 29.09.20 - 04:27
(14) Хрень пишешь
   2S
 
16 - 29.09.20 - 05:29
(0)Уверен, что они есть в регистре? Может надо справочник контрагентов правым соединением анализировать?
   Frida1711
 
17 - 29.09.20 - 08:02
(16) есть. по совету (13) в консоли все отработало. не пойму тогда, что с соединением. мне нужно из первого запроса передать список клиентов в этот
   ДенисЧ
 
18 - 29.09.20 - 08:07
(17) Если в консоли работает, а в коде нет - значит, в коде параметры неправильно передаёшь
   hhhh
 
19 - 29.09.20 - 08:13
(18) в СКД невозможно свои периоды задать без фигурных скобок, она тупо автоматом проставляет НачалоПериода и КонецПериода во все таблицы. Вы же знаете.
   ДенисЧ
 
20 - 29.09.20 - 08:16
(19) Да запросто...
Я последние два года делал так. &НачДата, &КонДата... И в параметрах работал с ними. Никаких проблем
   Frida1711
 
21 - 29.09.20 - 08:21
(19) с фигурными тоже не работает
   hhhh
 
22 - 29.09.20 - 08:31
(21) добавьте поле КоличествоОборот в оба запроса на всякий случай. А то у вас только Контрагент, как-то не очень.
   Frida1711
 
23 - 29.09.20 - 08:38
(22) ура!!! спасибо)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.