Отбор в ТЗ #711657


#0 by ikbokov
из ЖР вытаскиваем пользователей кто сидит с одного компа, в итоге получаем ТЗ: колонки имя компа, пользователь. Хочу сделать красиво и потереть строчки с компами которые встречаются один раз за всю таблицу. Как отобрать все уникальные значения в колонке? Конструктивная критика кривизны написания приветствуется)
#1 by Maxus43
запросом делай, группируй, итоги навешивай, условия
#2 by ikbokov
эх, а так хотелось парой строчек отделаться, спасибо)
#3 by Maxus43
в запросе как раз меньше будет. используюя ИМЕЮЩИЕ - вычисляются все компы встречающиеся 1 раз, потом по списук удалишь. Или просто отбор на них поставь
#4 by ikbokov
Ругается на первый запрос что "Тип не может быть выбран в запросе", Но я же правильно понимаю что ВыгрузитьЖурналРегистрации создает ТЗ с типизированными колонками? где косяк? Как-то так:
#5 by Фокусник
"создает ТЗ с типизированными колонками? где косяк? " Возможно, там тип "строка неограниченной длины", тогда нужно в запросе её через ВЫРАЗИТЬ(... КАК СТРОКА (...))
#6 by Fragster
там колонка Пользователь - уникальныйИдентификатор. Он разве может быть выбран в запросе? Ну и про строку неограниченной длины, по которой группировать нельзя, надо Выразить как в
#7 by ikbokov
Спасибо, ща попробую Колонка ИмяПользователя, у нее тип Строка тоже
#8 by Fragster
Попутал с "Пользователь"
#9 by ikbokov
Ругается теперь что Несовместимые типы "ВЫРАЗИТЬ" <<?>>ВЫРАЗИТЬ(ТЗ.ИмяПользователя как Строка ) ИмяПользователя,
#10 by Kamas
как вариант можно без запроса скопировать таблицу добавь колонку в тз  Заполнить "1" свернуть по пользователю отбор по добавленной колонке на 1 у тебя есть список пользователей которые встречаются один раз удалить строки из исходной таблицы с этими пользователями
#11 by Рэйв
КАк вариант 1.Сделай копию своей ТЗ всторонке. 2.Через .НайтиСтроки(Новый Структура("<ИменаОтборов>",<значения отборов>)) получи массив нужных строк. 3. Уддали из ТЗ те строки, которые не входят в массив. При смене значений отборов, скопируй эталонную ТЗ из п.1 в ту, с которой работаешь и дальше начиная с п.2
#12 by ikbokov
а на есть мысли? я думал запросами определить нужные компы и потом отбором из тз их вытащить просто
#13 by Рэйв
В запросе к ТЗ много всяких ограничений.
#14 by Рэйв
.НайтиСтроки как раз и вытаскивает то что тебе надо
#15 by Kamas
отбор на уникальность как обеспечить??
#16 by ikbokov
По поводу : Решил проблему через Ж)): Массив1 = Новый Массив;     ТаблЗН.Колонки.Добавить("ИмяПользователя", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки));
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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