Как выбрать документы которые имеют в табличной части только одну строку

1. Nadushka74 5 20.03.17 13:03 Сейчас в теме
Нужно в запросе вытягивать только документы в табличной части которых только одна строка. как это можно сделать?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. japopov 68 20.03.17 13:08 Сейчас в теме
(1) Очень просто.
В запросе делаешь выборку из табличных частей нужного вида документов.
Делаешь 2 поля: Ссылка и любое другое (лучше НомерСтроки).
Делаешь группировку по полю Ссылка и суммирование по другому полю - Количество.
Всё, в получившейся таблицы у тебя 2 колонки - Ссылка и, фактически, число строк. Остаётся наложить отбор по количеству строк = 1.
herfis; Nadushka74; +2 Ответить
3. Nadushka74 5 20.03.17 13:09 Сейчас в теме
(2)
Всё, в получившейся таблицы у тебя 2 колонки - Ссылка и, фактически, число строк. Остаётся наложить отбор по количеству строк = 1.


точно, спасибо, решение то на поверхности
8. herfis 498 20.03.17 13:20 Сейчас в теме
Да что ж это такое. Правильный ответ в (2).
Код будет такой:
ВЫБРАТЬ
   СтрокиТЧ.Ссылка
ИЗ
   Документ.МойДок.МояТЧ КАК СтрокиТЧ
СГРУППИРОВАТЬ ПО
   СтрокиТЧ.Ссылка
ИМЕЮЩИЕ
   КОЛИЧЕСТВО(*) = 1
Nadushka74; +1 Ответить
11. japopov 68 20.03.17 13:28 Сейчас в теме
(2)
ВЫБРАТЬ
	РеализацияТоваровУслугТовары.Ссылка,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваровУслугТовары.НомерСтроки) КАК НомерСтроки
ИЗ
	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

СГРУППИРОВАТЬ ПО
	РеализацияТоваровУслугТовары.Ссылка

ИМЕЮЩИЕ
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваровУслугТовары.НомерСтроки) = 1
Показать
13. japopov 68 20.03.17 13:31 Сейчас в теме
(11) В принципе, можно и без паразитной колонки НомерСтроки. Просто выбирать Ссылка и рядом суммировать количество различных по Ссылка же. Ну, а дальше - как уже указывали в (2), (8), (11)..

//offtopic
Сан Саныч: что, тоже "не вынесла душа поэта..."? Я тоже не хотел сначала весь код рисовать. :-)
14. Sashares 34 20.03.17 13:33 Сейчас в теме
(11)
РАЗЛИЧНЫЕ
а различные то тут зачем?
15. japopov 68 20.03.17 14:00 Сейчас в теме
(14) эмммм... посыпаю голову пеплом, это из конструктора прилетело. :-)
лучше, конечно, без РАЗЛИЧНЫЕ, быстрее отработает.
4. herfis 498 20.03.17 13:11 Сейчас в теме
Для отбора после группировки используется ключевое слово ИМЕЮЩИЕ.
Это так, на всякий случай. Просто не все про него знают из моей практики.
5. alyonchik 20.03.17 13:12 Сейчас в теме
Вот держи) По услугам пропиши сам это так на быструю руку

ВЫБРАТЬ
ВЫБОР
КОГДА ВложенныйЗапрос.НомерСтроки > 1
ТОГДА NULL
ИНАЧЕ ВложенныйЗапрос.Ссылка
КОНЕЦ КАК Поле1
ИЗ
(ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
МАКСИМУМ(РеализацияТоваровУслугТовары.НомерСтроки) КАК НомерСтроки
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

СГРУППИРОВАТЬ ПО
РеализацияТоваровУслугТовары.Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка,
МАКСИМУМ(РеализацияТоваровУслугТовары.НомерСтроки)
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

СГРУППИРОВАТЬ ПО
РеализацияТоваровУслугТовары.Ссылка) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
ВЫБОР
КОГДА ВложенныйЗапрос.НомерСтроки > 1
ТОГДА NULL
ИНАЧЕ ВложенныйЗапрос.Ссылка
КОНЕЦ
9. japopov 68 20.03.17 13:20 Сейчас в теме
(5) оперируем гланды через задний проход... No further comments.
10. alyonchik 20.03.17 13:24 Сейчас в теме
(9)А в твоем комментарии не так? Я написала на быструю руку и показала, что надо объединить и таб часть услуги и прочее и надо прописать условие = 1, у меня написано > 1

Очень просто.
В запросе делаешь выборку из табличных частей нужного вида документов.
Делаешь 2 поля: Ссылка и любое другое (лучше НомерСтроки).
Делаешь группировку по полю Ссылка и суммирование по другому полю - Количество.
Всё, в получившейся таблицы у тебя 2 колонки - Ссылка и, фактически, число строк. Остаётся наложить отбор по количеству строк = 1.
12. japopov 68 20.03.17 13:28 Сейчас в теме
(10) Работать будет жутко медленно.
6. D1ca 20.03.17 13:16 Сейчас в теме
Можно так ппробовать

"ВЫБРАТЬ
		|	ВЫБОР
		|		КОГДА КОЛИЧЕСТВО(ЗаказПокупателяТовары.НомерСтроки) = 1
		|			ТОГДА ЗаказПокупателяТовары.Ссылка
		|	КОНЕЦ КАК СсылкаНаДокумент
		|ИЗ
		|	Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
		|
		|СГРУППИРОВАТЬ ПО
		|	ЗаказПокупателяТовары.Ссылка"
Показать
7. japopov 68 20.03.17 13:19 Сейчас в теме
(6) Ужас! А что делать с миллионом строк со значением СсылкаНаДокумент, равным Null?!
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день