Имя: Пароль:
1C
1С v8
v8: Как запросом найти сотрудников с одинаковыми табельными номерами?
0 0level
 
08.11.13
15:55
Есть регистр сведений кадровые сведения в нем повторяются записи содержащие табельный номер и сотрудника, нужно исключить повторяющиеся записи и выбрать тех сотрудников у кого одинаковые табельные номера.

  ВЫБРАТЬ различные    
                КадровыеСведения.ТабНомер как таб,
                КадровыеСведения.сотрудник
     ИЗ
         РегистрСведений.КадровыеСведения КАК КадровыеСведения
    


как выбрать те строки в которых совпадает табельный номер
1 Naumov
 
08.11.13
15:56
извини, но я написал в удаленной ветке.
2 ДенисЧ
 
08.11.13
15:57
ВЫБРАТЬ      
                КадровыеСведения.ТабНомер,
                КадровыеСведения.сотрудник
     ИЗ
         РегистрСведений.КадровыеСведения КАК КадровыеСведения
СГРУППИРОВАТЬ ПО ТабНомер, Сотрудник
ИТОГИ ПО ТабНомер

выб = ЗАпрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока выб.Следующий() Цикл
  сообщить("Табномер " + выб.ТабНомер);
  выбС = выб.Выбрать(ОбходРезультатаЗАпрос.ПоГруппировкам);
  Пока выбС.Следующий() Цикл
    сообщить("" + выбС.Сотрудник);
  КонецЦикла;
КонеЦикла
3 Maxus43
 
08.11.13
15:58
(2) ёперный театр)
Имеющие чего не заюзал? в запросе ж делается
4 viktor_vv
 
08.11.13
16:02
ВЫБРАТЬ
                КадровыеСведения.ТабНомер как таб,
                КадровыеСведения.сотрудник
     ИЗ
         РегистрСведений.КадровыеСведения КАК КадровыеСведения
        Внутреннее соединение
         (
ВЫБРАТЬ
                КадровыеСведения.ТабНомер как таб,
                Количество(КадровыеСведения.сотрудник)
     ИЗ
         РегистрСведений.КадровыеСведения КАК КадровыеСведения
Группировать ПО КадровыеСведения.ТабНомер
    Имеющие Количество(КадровыеСведения.сотрудник) > 1
         ) КАК Одинаковые ПО Одинаковые.Таб = КадровыеСведения.ТабНомер
5 catena
 
08.11.13
16:05
(4)А если по одному сотруднику несколько записей?
6 viktor_vv
 
08.11.13
16:11
(5) Это да, надо бы сгруппировать предварительно по табельному - сотруднику. (4) Написал из предположения один сотрудник - одна запись.
7 viktor_vv
 
08.11.13
16:13
(6)+ Хотя проще

                Количество(Различные КадровыеСведения.сотрудник)
     ИЗ
         РегистрСведений.КадровыеСведения КАК КадровыеСведения
Группировать ПО КадровыеСведения.ТабНомер
    Имеющие Количество(Различные КадровыеСведения.сотрудник) > 1
8 Classic
 
08.11.13
16:18
ВЫБРАТЬ различные    
                КадровыеСведения.ТабНомер как таб,
                КадровыеСведения.сотрудник
     ИЗ
         РегистрСведений.КадровыеСведения КАК КадровыеСведения
ВНУТРЕНЕЕ СОЕДИНЕНИЕ РегистрСведений.КадровыеСведения КАК КадровыеСведения1
ПО КадровыеСведения.ТабНомер = КадровыеСведения1.ТабНомер
И КадровыеСведения.Сотрудник <> КадровыеСведения1.Сотрудник
9 0level
 
08.11.13
16:25
Classic
Classic   СПАСИБО  ВСЕ ОК!!!!!!!!!!!!!!!!