|
Удаление пустых строк из результата запроса | ☑ | ||
---|---|---|---|---|
0
andrew231
13.03.13
✎
12:32
|
Здравстуйте! Подскажите пожалуйства каким способом можно исключить пустые строки из запроса. 1с 8.2.
В запросе при выборке стоит условие ВЫБОР КОГДА ТЕХКАРТА.НОМЕРОПЕРАЦИИ=КОРЕКТИРОВКА.НОМЕРОПЕРАЦИИ ТОГДА ВЫРАЖЕНИЕ1 ИНАЧЕ NULL NULL я сделал для чтого чтобы при такой выборке ненужные строки сделать пустыми, а потом их убрать. А вот как убрать не осмыслю. Вариант выгрзит ь в ТЗ не подходит т.к. дальнейшая работа выполнется именно с результатом запроса. Как быть? Как исключить пустые строки, ну или как по ветке иначе вообще не включать в выборку строку не соотв условию. Спасибо большое! |
|||
1
andrew231
13.03.13
✎
12:33
|
+ если нужет текст запроса я кину
|
|||
2
ДенисЧ
13.03.13
✎
12:33
|
ппц...
|
|||
3
Reset
13.03.13
✎
12:34
|
Вместо
ВЫБОР КОГДА ТЕХКАРТА.НОМЕРОПЕРАЦИИ=КОРЕКТИРОВКА.НОМЕРОПЕРАЦИИ ТОГДА ВЫРАЖЕНИЕ1 ИНАЧЕ NULL написать ГДЕ ТЕХКАРТА.НОМЕРОПЕРАЦИИ=КОРЕКТИРОВКА.НОМЕРОПЕРАЦИИ |
|||
4
Eugene_life
13.03.13
✎
12:34
|
(0) В условие запроса добавь свое сравнение. Если не выполняется - чтобы эти данные не брались вообще.
|
|||
5
Starhan
13.03.13
✎
12:35
|
просто Иначе NULL убрать XD
|
|||
6
andrew231
13.03.13
✎
12:41
|
(5) не работает
|
|||
7
andrew231
13.03.13
✎
12:42
|
(6) сложно объянить лучше запрос кину
|
|||
8
sapphire
13.03.13
✎
12:43
|
Очередной образец долбобейства....
Наложить условие ТЕХКАРТА.НОМЕРОПЕРАЦИИ=КОРЕКТИРОВКА.НОМЕРОПЕРАЦИИ |
|||
9
sapphire
13.03.13
✎
12:43
|
(7) Это надо было сделать в (0)
|
|||
10
andrew231
13.03.13
✎
12:44
|
(9) сорри
|
|||
11
andrew231
13.03.13
✎
12:44
|
ВЫБРАТЬ
Основной.СпецификацияСсылка, Основной.ТехнологическаяКартаСсылка, Основной.РабочийЦентр, 60 / Основной.ВремяЦикла * Основной.КоличествоГнезд * 12 КАК НормаВыработки12, 60 / Основной.ВремяЦикла * Основной.КоличествоГнезд КАК НормаВыработки, Основной.ВремяЦикла, Основной.МинимальнаяПартия, Основной.КоличествоГнезд, Основной.ВремяНаНастройку, Основной.СпецификацияСсылка.ПрессовщиковНаДеталь КАК ПрессовщиковНаДеталь, Основной.Выдержка / 60 КАК Выдержка ИЗ (ВЫБРАТЬ ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА ТехкартыИИсходныеКомплектующие.Спецификация.Ссылка ИНАЧЕ NULL КОНЕЦ КАК СпецификацияСсылка, ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА ТехкартыИИсходныеКомплектующие.ТехнологическаяКарта.Ссылка ИНАЧЕ NULL КОНЕЦ КАК ТехнологическаяКартаСсылка, ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА ТехнологическиеКартыПроизводстваМаршрут.РабочийЦентр ИНАЧЕ NULL КОНЕЦ КАК РабочийЦентр, ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА СпецификацииНоменклатурыВыходныеИзделия.МинимальнаяПартия ИНАЧЕ NULL КОНЕЦ КАК МинимальнаяПартия, ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА ЕСТЬNULL(ТехнологическиеКартыПроизводстваМаршрут.ТехнологическаяОперация.Коэффициент, 0) * ЕСТЬNULL(ТехнологическиеКартыПроизводстваМаршрут.ВремяВыполнения, 0) * ЕСТЬNULL(ТехнологическиеКартыПроизводстваМаршрут.Количество, 0) / 60 ИНАЧЕ NULL КОНЕЦ КАК ВремяЦикла, ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА КорректировкаТехКартСписокКорректировок.Выдержка ИНАЧЕ NULL КОНЕЦ КАК Выдержка, ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА ЕСТЬNULL(ТехнологическиеКартыПроизводстваМаршрут.Количество, 0) ИНАЧЕ NULL КОНЕЦ КАК КоличествоГнезд, ВЫБОР КОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации ТОГДА ЕСТЬNULL(ТехнологическиеКартыПроизводстваМаршрут.ТехнологическаяОперацияПодготовительная.Коэффициент, 0) * ТехнологическиеКартыПроизводстваМаршрут.ВремяПодготовительнойОперации / 3600 ИНАЧЕ NULL КОНЕЦ КАК ВремяНаНастройку ИЗ (ВЫБРАТЬ ТехнологическиеКартыСпецификацийПланированияСрезПоследних.Спецификация.Ссылка КАК Спецификация, ТехнологическиеКартыСпецификацийПланированияСрезПоследних.ТехнологическаяКарта.Ссылка КАК ТехнологическаяКарта, ТехнологическиеКартыСпецификацийПланированияСрезПоследних.КорректировкаТехКарты.Ссылка КАК КорректировкаТехКартыСсылка ИЗ РегистрСведений.ТехнологическиеКартыСпецификацийПланирования.СрезПоследних(&ДатаКон, Спецификация.Ссылка = &Спецификация) КАК ТехнологическиеКартыСпецификацийПланированияСрезПоследних СГРУППИРОВАТЬ ПО ТехнологическиеКартыСпецификацийПланированияСрезПоследних.Спецификация.Ссылка, ТехнологическиеКартыСпецификацийПланированияСрезПоследних.ТехнологическаяКарта.Ссылка, ТехнологическиеКартыСпецификацийПланированияСрезПоследних.КорректировкаТехКарты.Ссылка) КАК ТехкартыИИсходныеКомплектующие ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТехнологическиеКартыПроизводства.Маршрут КАК ТехнологическиеКартыПроизводстваМаршрут ПО ТехкартыИИсходныеКомплектующие.ТехнологическаяКарта.Ссылка = ТехнологическиеКартыПроизводстваМаршрут.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия ПО ТехкартыИИсходныеКомплектующие.Спецификация.Ссылка = СпецификацииНоменклатурыВыходныеИзделия.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КорректировкаТехКарт.СписокКорректировок КАК КорректировкаТехКартСписокКорректировок ПО ТехкартыИИсходныеКомплектующие.КорректировкаТехКартыСсылка.Ссылка = КорректировкаТехКартСписокКорректировок.Ссылка ГДЕ ТехнологическиеКартыПроизводстваМаршрут.ТехнологическаяОперация.Ссылка = &Прессование И ВЫБОР КОГДА НЕ ТехкартыИИсходныеКомплектующие.КорректировкаТехКартыСсылка ЕСТЬ NULL ТОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации КОНЕЦ) КАК Основной |
|||
12
andrew231
13.03.13
✎
12:46
|
есть ли какой способ в самом результат убрать пустые строки?
|
|||
13
НЕА123
13.03.13
✎
12:49
|
ПостроительЗапроса
ИсточникДанных |
|||
14
andrew231
13.03.13
✎
12:50
|
(4) в условие запроса нельзя
|
|||
15
andrew231
13.03.13
✎
12:50
|
(13) это способ убрать пустые строки?
|
|||
16
НЕА123
13.03.13
✎
12:51
|
(15) нет. это способ получить непустые строки.
|
|||
17
andrew231
13.03.13
✎
12:52
|
(16) можно как то подробнее пожалуйста
|
|||
18
НЕА123
13.03.13
✎
12:55
|
(17)
эээ... здесь все жадные. деньгу с тарелкой супа обожают. |
|||
19
andrew231
13.03.13
✎
12:58
|
(18) здесь не все жадные!
|
|||
20
Eugene_life
13.03.13
✎
12:58
|
(17) Интересно, а что дальше ты с результатом запроса будешь делать? Почему нельзя вытащить в таблицу значений и поудалять оттуда пустые строки? На самый крайний случай сделай так:
1. Выполни свой запрос. 2. Выгрузи результат в ТЗ. 3. Пройди по таблице, удали все что не нужно (пустые значения) 4. Выполни запрос к новой таблице, выбери все поля. Профит, хоть и через ж. |
|||
21
samozvanec
13.03.13
✎
13:01
|
интересна логика удаления "пустой" строки. она вся пустая будет? нах выбираешь? не вся пустая? значит свернуть? как сворачивать?
|
|||
22
andrew231
13.03.13
✎
13:02
|
(20) Т.е. после этих действий тз снова будет типа "РезультатЗапроса". Мне не понятен пункт 4.
|
|||
23
decdmb
13.03.13
✎
13:02
|
Используй временные таблицы (ПОМЕСТИТЬ) и пакетный запрос
|
|||
24
Eugene_life
13.03.13
✎
13:03
|
(22) Да, она снова будет РезультатЗапроса, если ты пожелаешь :)
|
|||
25
andrew231
13.03.13
✎
13:05
|
(21) почитайте запрос. она вся пустая, но пустая она только в случае если нет корректировки (грубо говоря), поэтому и условие
|
|||
26
samozvanec
13.03.13
✎
13:05
|
(20) совет достоин увесистого леща, кстати. не пятница же. (22) тебе что мешает в запросе указать те же условия, по которым собираешься таблицу потом чистить?
|
|||
27
andrew231
13.03.13
✎
13:05
|
(24) пункт 4 будьте добры осветите
|
|||
28
НЕА123
13.03.13
✎
13:06
|
(27)
это те же (13). |
|||
29
Eugene_life
13.03.13
✎
13:09
|
(27) Как-то так...
Запрос.ТекстЗапроса = "Выбрать * |Из МояТаблица КАК МояТаблица"; Результат = Запрос.Выполнить(); |
|||
30
sapphire
13.03.13
✎
13:09
|
(11) ТехнологическиеКартыПроизводстваМаршрут.ТехнологическаяОперация.Ссылка = &Прессование
ВОТ ЗАЧЕМ ТАК ПИСАТЬ?! |
|||
31
Eugene_life
13.03.13
✎
13:10
|
(26) Автор не ищет легких путей наложения условий :) Предпочитает экзотику..
|
|||
32
sapphire
13.03.13
✎
13:11
|
(11) Зачем эта долбобейская муета с кейсами?
Объясни внятно, что нужно получить. |
|||
33
andrew231
13.03.13
✎
13:11
|
(30) это не я писал я разгребаю
|
|||
34
sapphire
13.03.13
✎
13:12
|
(26) Его уже спрашивали в (8). Очередной долбобей.
|
|||
35
sapphire
13.03.13
✎
13:12
|
(33) Там разгребать нечего.
|
|||
36
andrew231
13.03.13
✎
13:15
|
(32) объясняю все по пунктам!
|
|||
37
sapphire
13.03.13
✎
13:19
|
(36) запрос в (11) переписать быстрее нежели исправлять
|
|||
38
sapphire
13.03.13
✎
13:20
|
+(36) а в (0) говорит о технической безграмотности вообще и программиста в частности.
|
|||
39
samozvanec
13.03.13
✎
13:27
|
(36) свой запрос напиши вместо этого. и не надо ничего объяснять будет
|
|||
40
andrew231
13.03.13
✎
13:27
|
1 есть регистр сведений (техкартыспецификацийпланирования).измерения "спецификация";ресурсы "техкарта"; в регистр добавлено измерение КорректировкаТехкарты (СправочникСсылка.КорректировкиТехКарт)
2 регистр заполняется в справочнике Спецификации; 3 теперь когда нужно получить отчет выполнятся запрос: в запросе нужно по спецификации найти техкарту и заменить опр данные данными из корректировки. |
|||
41
andrew231
13.03.13
✎
13:28
|
+замена данных в табличной части маршрут из тч справочника корректировки
|
|||
42
andrew231
13.03.13
✎
13:31
|
наверно проще все таки использовать (29). почему этот способ использовать не желательно?
|
|||
43
samozvanec
13.03.13
✎
13:32
|
(42) китайцем станешь
|
|||
44
Eugene_life
13.03.13
✎
13:34
|
(42) Потому что это по сути долбое..зм, так делать. Проще и правильнее включить в запрос условия, которые уберут пустые значения. Но если ты не хочешь идти по этому пути, то дело хозяйское.
|
|||
45
andrew231
13.03.13
✎
13:35
|
(43) хорошо стану - а нежелательно и использовать почему
|
|||
46
samozvanec
13.03.13
✎
13:35
|
(45) че ж хорошего?
|
|||
47
andrew231
13.03.13
✎
13:36
|
(44) я бы рад пойти по этому пути но тут есть свои противоречия.
|
|||
48
samozvanec
13.03.13
✎
13:36
|
(40) корректировок много, правильно понимаю? в каждой заполнено только изменяемое поле?
|
|||
49
andrew231
13.03.13
✎
13:38
|
(48) корректировок много, в каждой заполнено только изменяемое поле, вообще их несколько (изменяемых полей), но это не важно - разобраться хотябы с одним
|
|||
50
samozvanec
13.03.13
✎
13:42
|
(49) на РС с ПВХ такие вещи надо делать. отделался бы срезом последних. а история корректировок нужна? почему справочник выбрали?
|
|||
51
sapphire
13.03.13
✎
13:46
|
(47) Нет никаких противоречий.
|
|||
52
andrew231
13.03.13
✎
13:46
|
(50) потому что по каждой техкарте хранится своя корректировка, корректироку удобно хранить в справочнике в тч с заменяемыми полями
|
|||
53
andrew231
13.03.13
✎
13:51
|
(51) есть! если поставить техкарта.номерОперации=Коректировка.НомерОпераци в условие запроса, то результат будет верным только если корректировка присутствует. если корректировки нет - запрос вообще ничего не выдаст
|
|||
54
Borteg
13.03.13
✎
13:51
|
в условии поставить не есть null.
|
|||
55
andrew231
13.03.13
✎
13:53
|
ВЫБОР
КОГДА НЕ ТехкартыИИсходныеКомплектующие.КорректировкаТехКартыСсылка ЕСТЬ NULL ТОГДА ТехнологическиеКартыПроизводстваМаршрут.НомерОперации = КорректировкаТехКартСписокКорректировок.НомерОперации КОНЕЦ |
|||
56
andrew231
13.03.13
✎
13:53
|
(55) не работает - если нет корректировки - ничего не выдает
|
|||
57
andrew231
13.03.13
✎
13:55
|
(56) т.е. получается что условие срабатывает в любом случае
|
|||
58
samozvanec
13.03.13
✎
14:44
|
(52) т.е. корректируемые поля в ТЧ у тебя?
|
|||
59
andrew231
13.03.13
✎
14:54
|
(58) да!
|
|||
60
samozvanec
13.03.13
✎
14:56
|
(59) ну пиши их в РС и срезом последних соберешь карточку
|
|||
61
andrew231
13.03.13
✎
14:57
|
(60) РС? можно расшифровку?
|
|||
62
samozvanec
13.03.13
✎
14:58
|
Выбрать
ЕстьNULL(ПолеИзРС, ПолеИзКарточки) ИЗ Карточка ЛевоеСоединение РСКорректировкиСрезПоследних |
|||
63
samozvanec
13.03.13
✎
14:58
|
регистр сведений
|
|||
64
samozvanec
13.03.13
✎
14:59
|
и корректировка документом должна быть, а не справочником по науке
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |