Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
Вопрос такой. Нужно выбрать элементы справочника, у которых в табличной части отсутствует определенное значение? Надеюсь на помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 20:56 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
g_r_e_e_n, выбрать ссылка из Справочник.МойСправочник.ИмяТабЧасти как тч где тч.ИмяРеквизитаТЧ = &ЗначениеПараметра ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 20:59 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
g_r_e_e_n, извиняюсь = прочитал "присутствует определенное значение" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2012, 21:00 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
А чем запрос не устраивает? Соединяем левым соединением в соединении указываем 2 связи 1 элемент справочника и его табличную часть по ссылке 2 значение реквизита таб части = значению которое должно отсутвоватью в условии где загоняем условие реквизита таб части Есть NULL По идее должно выбрать то что Вам нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 02:10 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
rigus, исходя из всего выше сказанного получается такой запрос Запрос = Новый Запрос Запрос.Текст = " |Выбрать различные | Спр.Ссылка |Поместить Таб |из | Справочник.МойСправочник.ТабличнаяЧасть КАК Спр |где | Спр.Реквизит = &Реквизит |; |Выбрать | Спр.Ссылка |из | Справочник.МойСправочник КАК Спр |левое соединение Таб | по Спр.Ссылка = Таб.Ссылка |где | Таб.Ссылка Есть NULL |Упорядочить по Спр.Ссылка Автоупорядочивание |; | |Уничтожить Таб; | |"; Запрос.УстановитьПараметр("Реквизит", Реквизит); Результат = Запрос.Выполнить().Выбрать(); и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 17:33 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду следующее Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 07:12 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
rigusЯ имел ввиду следующее Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Лишнее соединение, да и группировка никчему вот так и пишут неоптимальные запросы Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 07:59 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
SashaM, твой запрос работать не будет. Как одновременно может выполняться условие: Код: sql 1. 2. 3. ? 1) МойРеквизит одновременно не может равняться какому-то значению и быть при этом NULL. 2) При выборке из ТЧ напрямую (Справочник.МойСправочник.ТабличнаяЧасть.МойРеквизит) а не через соединение, он вообще никогда не будет NULL, будет либо ПустаяСсылка, либо НЕОПРЕДЕЛЕНО. В общем, условие всегда будет возвращать ЛОЖЬ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 12:08 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
rigusЯ имел ввиду следующее Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Составляя запрос не вник. Тогда так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 09:08 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
SashaMrigusЯ имел ввиду следующее Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Составляя запрос не вник. Тогда так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. И даже не так, т.к. просят "отсутствует определенное значение" g_r_e_e_nВопрос такой. Нужно выбрать элементы справочника, у которых в табличной части отсутствует определенное значение? Надеюсь на помощь. по этому Код: sql 1. 2. 3. 4. 5. 6. 7. 8. [/quot] А если заполнение табличной части обязательно то: Код: sql 1. 2. 3. 4. 5. 6. Как то так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 09:47 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
SashaMСоставляя запрос не вник. Тогда так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. И всеравно неправильно :-) У Вас нет в соединении проверки реквизита на тот которого не должно быть. Выбрать различные или сгруппировать по элементу дадут на стороне ms sql одинаковый план выполнения - соответсвенно что использовать зависит от предпочтений человека. Мне например нравится группировать, а Вам выбирать различные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 09:53 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
Вот это работать не будет Код: sql 1. 2. 3. 4. 5. 6. 7. 8. из за того что вы в условии где поместили проверку а не в соединении - из-за этого Ваше левое соединение превратится во внутреннее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 09:56 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
Да я добрался до 1С и проверил будет работать так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Либо если заполнение табличной части обязательно Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 10:06 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
to SashaM теперь правильно. Думаю теперь Вы согласитесь что Ваше утверждение SashaMЛишнее соединение, да и группировка никчему вот так и пишут неоптимальные запросы было поспешным и ошибочным. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 10:15 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
Я признаю свою ошибку, это было действительно поспешным выводом, но не про группировку т.к. distinct работает по другому принципу и как мне кажется в данном случае быстрее, хотя это блохи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 10:20 |
|
||
|
Запрос и табличные части (1С 8.2)
|
|||
|---|---|---|---|
|
#18+
SashaM distinct работает по другому принципу и как мне кажется в данном случае быстрее. В данном случае нет. Для этого достаточно запустить профайл получить реальные sql запросы для обох случаев (с различным и группировкой) далее получить по ним в студии планы запросов - они выдут одинаковыми :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 10:33 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=66&tid=1520717]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 357ms |

| 0 / 0 |
