Имя: Пароль:
1C
1C 7.7
v7: Подскажите по черному запросу
,
0 DES
 
03.05.18
11:21
Есть лицевые счета по адресам (город,улица,дом,квартира)
Как найти двойников, тех что на одном адресе имеет два и более лицевых счета?

двойные адреса нашел, как выйти на их ЛС?

"//{{ЗАПРОС(Сформировать)
    |Без итогов;
    |Город = Справочник.ЛицевыеСчета.Город;
    |Улица = Справочник.ЛицевыеСчета.Улица;
    |Квартира = Справочник.ЛицевыеСчета.Квартира;
    |Дом = Справочник.ЛицевыеСчета.Дом;
    |Функция Счётчик = Счётчик();
    |Группировка Город;
        |Группировка Улица;
    |Группировка Дом;
    |Группировка Квартира;
    |"//}}ЗАПРОС
1 Zmich
 
03.05.18
11:25
(0). |ЛС = Справочник.ЛицевыеСчета.ТекущийЭлемент;
и сделать последней группировку ЛС
2 DES
 
03.05.18
11:28
ЛС тогда счетчик не будет считать?
3 DES
 
03.05.18
11:30
как я узнаю что их больше одного на адресе?
4 Zmich
 
03.05.18
11:37
(3). Внутри каждой группировки будет свой Запрос.Счётчик, только нужно убрать |Без итогов;
5 DES
 
03.05.18
12:26
а еще почему подсчет записей в справочнике
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
    |ТекущийЭлемент  = Справочник.РРИЦ_банки.ТекущийЭлемент;
    |Функция Счетчик = Счётчик();
    |";
    Запрос.Выполнить(ТекстЗапроса);
    Если Запрос.Счетчик=0 Тогда

на файловой базе дает 0
а на скуле 1 ?
6 Ёпрст
 
03.05.18
12:31
(5) в файловой базе 0 записей, в sql- 1.
А так, для (0) функция счётчик бессмысленна, ибо это не having
7 trdm
 
03.05.18
12:32
(0) > Подскажите по черному запросу

Офтопик. А политкорректно ли называть такие запросы черными?
8 NSSerg
 
03.05.18
12:34
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
    |Обрабатывать непомеченныенаудаление;
    |Город = Справочник.ЛицевыеСчета.Город;
    |Улица = Справочник.ЛицевыеСчета.Улица;
    |Квартира = Справочник.ЛицевыеСчета.Квартира;
    |Дом = Справочник.ЛицевыеСчета.Дом;
    |ЛС = Справочник.ЛицевыеСчета.ТекущийЭлемент;  
    |Функция Счётчик = Счётчик();
    |Группировка Город;
    |Группировка Улица;
    |Группировка Дом;
    |Группировка Квартира;
    |Группировка ЛС без групп;";
Запрос.выполнить(ТекстЗапроса);
Пока Запрос.группиовка(1)=1 Цикл
   Пока ЗАпрос.группировка(2)=1 Цикл
      Пока ЗАпрос.группировка(3)=1 цикл
          Пока Запрос.группировка(4)=1 цикл
              сч=0;
              Пока ЗАпрос.группировка(5)=1 цикл
                сч=сч+1;
              КонецЦикла;
              Если сч>1 тогда
                  сообщить("Ошибка");
              КонецЕсли;
          КонецЦикла;
      КонецЦикла;
   КонецЦикла;
КонецЦикла;  
Можно так, а можно выгрузить запрос в ТЗ, добавить колонку, заполнить её единицами, свернуть по адресу, пробежаться по строкам, и там где в добавленной колонке больше единицы - выдать ошибку.
9 NSSerg
 
03.05.18
12:35
В Запросе - забыл удалить функцию "счётчик" - она там не нужна.
10 trdm
 
03.05.18
12:47
На скуле было бы проще.
11 NSSerg
 
03.05.18
12:49
(10) Куда уж проще.
12 DES
 
03.05.18
16:20
А как исключить помеченные на удаление?
13 Chameleon1980
 
03.05.18
18:23
Обрабатываит НеПомеченные на удаление. или как там
14 Chameleon1980
 
03.05.18
18:24
в самом начале запроса
Обрабатывать НеПомеченныеНаУдаление;
15 Злопчинский
 
03.05.18
19:19
(12) СП по языку запросов почитай - там есть
16 DES
 
03.05.18
22:06
(6) в скуле тоже 0, только что создан справочник.