v8: как убрать повторяющиеся строки в запросе? #418635


#0 by ЭЦ
Здравствуйте. Имеется регистр наколения ФактическиеОтпускаОрганизаций с полями : Сотрудник, Период Движения в регистр вводятся документами -регистраторами. Требуетмся найти все джвижения выполненными разными регистраторами с одинаковым значенимм сотрудника и периода. //----------------------------------------- все вроденормально за исключением того что в результатах все записи задвоены т.е имеются строки Рег1 Рег2 Сотр Пер и Рег2 Рег1 Сотрпер прошу подсказать как лучше отфильтровать повторяющиесястроки. СПАСИБО
#1 by ТелепатБот
#2 by чувак
Счась забанят
#3 by mikecool
Сгруппировать по
#4 by mikecool
+3 выбрать различные
#5 by ЭЦ
По чему группировать?
#6 by GenV
Можно попробывать добавить условие в соединение, что первый регистратор раньше второго
#7 by mikecool
по чему надо, по тому и группируй
#9 by GenV
6+ а вообще достаточно итогов по Сотрудник+Период, и получать регистраторы, если уж дважды в отпуск отправили.
#10 by acsent
Это классическая задача из таблицы Сделать таблицу [1C] К1 К2 К3 А  1  2 /1C]
#11 by ЭЦ
Имеется вв виду чтото вроде: ================ сначчала во вложенном запросе получаем сотрудников и периоды для которых имеются различные регистраторы, затем для них выбираем всех регистраторов? ========== тоже склоняюсь к этому, но кажется несколько громоздко, помоему должно быть чтото попроще. Например отобрать толькочетные записи в результате запроса ?
#12 by ЭЦ
Имеется в виду вовложенном запросе получить всех сотрудников и периоды для которых имеются различные регистраторы. а затем уже для них выбирать регистраторы? ----------- Думал также но кажется громозлко, хотелосьбы попроще - например отобрать тлько четные строми
#13 by ЭЦ
ну и как ее решать?
#14 by Ненавижу 1С
тебе ж сказали, вместо: |И ФОО.Регистратор <> ФОО1.Регистратор поставь: |И ФОО.Регистратор.МоментВремени < ФОО1.Регистратор.МоментВремени
#15 by ЭЦ
ТОЛКОВО
#16 by ЭЦ
Мысль хорошая но не работает т.к. Момнт времени для регистра это строка врт такого типа --------------------------- 18.07.2007 0:00:00; Начисление отпуска работникам организаций ЕВ000000066 от 11.07.2007 12:02:10 ------------------ и сравнение на "" не срабатывает будем пробовать ФОО.Период<ФОО1.Период
#17 by ЭЦ
ПОПРАВКА 15 Мысль хорошая но не работает т.к. Момнт времени для регистра это строка врт такого типа --------------------------- 18.07.2007 0:00:00; Начисление отпуска работникам организаций ЕВ000000066 от 11.07.2007 12:02:10 ------------------ и сравнение на "" не срабатывает будем пробовать ФОО..Регистратор.Дата<ФОО1..Регистратор.Дата
#18 by Ненавижу 1С
с каких пор момент времени стал строкой? и вообще там писалось о моменте времени регистратора, а не регистра
#19 by ЭЦ
Пардонте, но у регистратора нету момента времени - у него дата а моментВремени как раз у регистра и он имеет вид приведенный в 17
#20 by ЭЦ
+19 но мысль у вас все равно хорошая.
#21 by Ненавижу 1С
когда это у регистратора исчез момент времени? у меня отлично есть и это его пользовательское представление, а сам он это Период+Ссылка
#22 by Ненавижу 1С
к
#24 by ЭЦ
Вот так обратитьсям можно : //-------------------- но Вот это не работает //---------------------- а вот так работает
#25 by Ненавижу 1С
а у меня и так работает: ФОО.Регистратор.МоментВремени < ФОО1.Регистратор.МоментВремени а так некооректно вообщето: ФОО.Регистратор.Дата < ФОО1.Регистратор.Дата (не все пары получишь)
#26 by Terv
а что будет если в одном периоде 3 или 4 регистратора?
#27 by Ненавижу 1С
будут выданы все пары с точностью до следования в них элементов
#28 by Terv
а-а.. сдается что еще до этого не дошел... это будет следующая просьба.. как убрать их ;)
#29 by ЭЦ
ЧИТАЕМ HELP : --------------------- МоментВремени : Предназначен для получения и хранения момента времени для объекта в базе данных. Содержит дату и время, а также ссылку на объект базы данных. Используется в качестве значений свойств и параметров методов других объектов, имеющих тип МоментВремени. // не сработало, вероятно надо както преобразовывать к какому нибудь типу для которого выполняется сравнение на больше/меньше
#30 by Ненавижу 1С
не сработало: ошибку выдало или неправильно сработало? у меня сработало:
#31 by ЭЦ
Это меня устраивает. Но тут выплывает другая проблема - оказывается, что имеются документы с одинаковой датой. :-( (они видетели были созданы программно) так, что как советует 23 наверное придется вернуться к вложенным запросам
#32 by ЭЦ
не был выполнен отбор по условию
#33 by ЭЦ
(30+) // это ссылка на таблицу документов, а у меня таблица регистра накопления тут МоментВремени несколько другой
#34 by Ненавижу 1С
ты меня достал! сначала говоришь что моменты времени регистраторов (читай документов) нельзя сравнивать, я показываю, что моменты времени документов вполне сравнимы. Теперь ссылаясь на этот пример, что у тебя регистр. Я вообще то в курсе, что там тоже есть момент времени. Короче, я про фому, он про ерему
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С