![]() |
![]() |
nia 21.09.2004 - 04:31 |
nia 21.09.2004 - 03:12 Если не трудно, можно рассмотреть такой вопрос: Имеется объект (Справочник), в нем имеется реквизит "X" (строка) Затем в запросе мне нужно указать что, нужно вывести только те записи (Элементов), которые не попадают в условие(Ниже текст). Но при этом я б не хотел чтоб выводились группы в которых не присутствует элемент согласно условию. "ВЫБРАТЬ | Об.Ссылка КАК Ссылка, | Об.Представление, |ИЗ | Справочник.Об КАК Об | |ГДЕ | Об.X НЕ ПОДОБНО &Параметр |УПОРЯДОЧИТЬ ПО | Ссылка ИЕРАРХИЯ "; В данном случае например, есть три записи: Группа "Один" Запись "1" Группа "Два" Запись "2" Группа "Три" Запись "3" Результат запроса будет (Если по условию я выбираю только "1") Плучаем //*********************************************// Группа "Один" Запись "1" Группа "Два" Группа "Три" //********************************************// Хотелось бы //*********************************************// Группа "Один" Запись "1" //********************************************// То есть, мне б не хотелось, чтоб вывоились 2 и 3 группы. -- |
Пудель 1 - 21.09.2004 - 04:37 | А ежели итоги использовать? |
nia 2 - 21.09.2004 - 04:41 | Это справочник, нет итоговых полей |
Пудель 3 - 21.09.2004 - 04:47 | (2) Ты уверен в том, что сказал? |
nia 4 - 21.09.2004 - 04:53 |
"ВЫБРАТЬ | Об.Ссылка КАК Ссылка, | Об.Представление, | Об.ЭтоГруппа |ИЗ | Справочник.Об КАК Об | |ГДЕ | (Об.Просмотрен НЕ ПОДОБНО &Параметр) И (Об.ЭтоГруппа = ЛОЖЬ) |УПОРЯДОЧИТЬ ПО | Ссылка ИЕРАРХИЯ | "; ИТОГИ по чем? |
Пудель 5 - 21.09.2004 - 04:59 | По твоей заднице, упрямец :). |
nia 6 - 21.09.2004 - 05:09 |
Принимаю ... (пожертвую задницей) Есть справочник "Об" В справочнике есть реквизиты стандартные: по чем группировать ... ? Если можно пример......... |
Первый из могикан 7 - 21.09.2004 - 05:09 | Задействуй счетчик |
Пудель 8 - 21.09.2004 - 05:13 |
ВЫБРАТЬ Банки.Наименование ИЗ Справочник.Банки КАК Банки ИТОГИ ПО Банки.Ссылка ИЕРАРХИЯ |
nia 9 - 21.09.2004 - 05:22 | Не получилось. Выводятсь только группы :((( |
Пудель 10 - 21.09.2004 - 05:27 | Какой был текст запроса, что выводились только группы? |
nia 11 - 21.09.2004 - 05:44 |
"ВЫБРАТЬ | Об.Ссылка КАК Ссылка, | Об.Представление, | Об.ЭтоГруппа |ИЗ | Справочник.Об КАК Об | |ГДЕ | Об.Просмотрен НЕ ПОДОБНО &Параметр |ИТОГИ ПО | Ссылка ИЕРАРХИЯ | "; |
Пудель 12 - 21.09.2004 - 05:51 | А как выводил? |
nia 13 - 21.09.2004 - 06:00 |
// ============================================================================ // Назначение: // // Аргументы: // Процедура ВыбратьРекурсивно(Выборка,ОбластьСсылка,ОбластьДетальныхЗаписей,ТабДок) Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа Тогда ОбластьСсылка.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОбластьСсылка, Выборка.Уровень()); Иначе ОбластьДетальныхЗаписей.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОбластьДетальныхЗаписей, Выборка.Уровень()); КонецЕсли; ВыбратьРекурсивно(Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией) ,ОбластьСсылка,ОбластьДетальныхЗаписей,ТабДок); КонецЦикла; КонецПроцедуры // ВыбратьРекурсивно() Процедура ДействияФормыНовыеОбъектыСформировать(Кнопка) ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; НовыеОбъекты(ТабДок); КонецПроцедуры Процедура НовыеОбъекты(ТабДок) Экспорт Макет = ОбработкаОбъект.ПолучитьМакет("НовыеОбъекты"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Об.Ссылка КАК Ссылка, | Об.Представление, | Об.ЭтоГруппа |ИЗ | Справочник.Об КАК Об | |ГДЕ | (Об.Просмотрен НЕ ПОДОБНО &Параметр) И (Об.ЭтоГруппа = ЛОЖЬ) |ИТОГИ ПО | Ссылка ИЕРАРХИЯ | "; Запрос.УстановитьПараметр("Параметр","%"+ПолноеИмяПользователя()+"%"); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьСсылка = Макет.ПолучитьОбласть("Ссылка"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетали = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); ВыбратьРекурсивно(ВыборкаДетали,ОбластьСсылка,ОбластьДетальныхЗаписей,ТабДок); ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); КонецПроцедуры Процедура ПриОткрытии() ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; НовыеОбъекты(ТабДок); КонецПроцедуры |
Пудель 14 - 21.09.2004 - 06:04 | В отладчике смотрел, что представляет из себя ВыборкаДетали? Особенно если выгрузить? Или весь запрос... Мне что-то не верится, что правда только группы. |
nia 15 - 21.09.2004 - 06:08 | Смотрел, остался только вриант тот что я показал. При этом выводится все группы которые есть + группы (ВСЕ) + элементы (по условию) |
Пудель 16 - 21.09.2004 - 06:12 | Не понял ничего. |
nia 17 - 21.09.2004 - 06:22 |
В случае, что я привел выше: ПОДУЧАЕСЯ ТАК: ---ЕСТЬ ВСЕГО Товар 1 (Группа 1) Т1, Товар 2 (Группа 1) Товар 3 (Группа 3) -- КОНЕЦ ВСЕГО УСЛОВИЕ (Хочу товар 1) ---ВЫБРАЛ ---ПОЛУЧАЮ: ---ЕСТЬ ВСЕГО Товар 1 (Группа 1) Т1, Товар 2 (Группа 1) (ХОТЯ сдесь = 0) Товар 3 (Группа 3) И (ХОТЯ сдесь = 0) -- КОНЕЦ ВСЕГО |
nia 18 - 21.09.2004 - 06:27 |
я пошел спать. Аська - 156289702 Хотелось бы разобраься до конца - можно ли это или нет. Спасибо тебе "Пудель", надеюсь что завтра увидимся (свяжемся). |
nia 19 - 21.09.2004 - 12:01 | up |
nia 20 - 21.09.2004 - 12:23 | up (ну кто то подскажет...) |
nia 21 - 21.09.2004 - 12:45 | Судя по всему - это невозможно, а жаль... |
JulyRain 22 - 21.09.2004 - 12:56 |
Да не вопрос: добавляешь поле в запрос: ВЫБОР КОГДА <УСЛОВИЕВыполнено> Тогда 1 ИНАЧЕ 0 КОНЕЦ как элемент ... .. ... ИТОГИ Элемент ИЕРАРХИЯ ну в общем смысл такой может и криво но работает |