![]() |
![]() |
![]() |
|
Подсчитать количество строк | ☑ | ||
---|---|---|---|---|
0
gilders89
27.01.21
✎
15:41
|
Запрос = Новый Запрос(
"ВЫБРАТЬ | ПоступлениеТоваров.Ссылка, | ПоступлениеТоваров.Дата, | ПоступлениеТоваров.Номер, | ПоступлениеТоваров.ВалютаДокумента, | ПоступлениеТоваров.ВидОперации, | ПоступлениеТоваров.ДатаВходящегоДокумента, | ПоступлениеТоваров.НомерВходящегоДокумента, | ПоступлениеТоваров.Контрагент КАК Контрагент, | ПоступлениеТоваров.СуммаДокумента, | ПоступлениеТоваров.Склад, | ПоступлениеТоваров.Организация, | ПоступлениеТоваров.Товары.( | Ссылка, | НомерСтроки, | Номенклатура, | ДополнительнаяЕдиницаИзмерения, | КоличествоВДополнительныхЕИ, | Коэффициент, | Количество, | ЕдиницаИзмерения, | ЦенаИзготовителя, | Надбавка, | Цена, | Сумма, | СтавкаНДС, | СуммаНДС, | СтавкаНП, | СуммаНП, | Всего, | НомерГТД, | СтранаПроисхождения, | СчетУчетаБУ, | СчетУчетаНДС, | СтавкаНДСРасчетная, | СтранаВвоза, | ДокументПартии, | ЗаказПоставщику, | ВидТары, | КоличествоМест, | КоличествоВМесте, | ТорговаяНадбавка, | ЦенаОтпускная, | СтавкаНДСОтпускная, | ВидЦены, | СчетУчетаТорговойСкидки, | СуммаПоЦенеИзготовителя, | Сертификат, | УГГР, | СопроводительныеДокументы, | КлючСтроки, | КлючСтрокиДоп, | ХарактеристикаНоменклатуры, | ИнвентарныйНомер, | ЗаказНаПроизводство, | ЦенаРуб, | СуммаРуб, | СуммаНДСРуб, | КоличествоВДопЕИПоступления, | Длина, | Ширина, | ПартияУТ, | ВесБрутто, | Склад | ) | ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваров | ГДЕ | ПоступлениеТоваров.Дата >= &НачДата | И ПоступлениеТоваров.Дата <= &КонДат | И ПоступлениеТоваров.ПометкаУдаления <> ИСТИНА | И ПоступлениеТоваров.Проведен = ИСТИНА | И ПоступлениеТоваров.Контрагент <> &Контрагент" ); Как подсчитать количество товаров во вложенной табличной части ПоступлениеТоваров.Товары? |
|||
1
Малыш Джон
27.01.21
✎
15:48
|
(0) обращаться в запросе не к таблице документа, а к табличной части напрямую
|
|||
2
gilders89
27.01.21
✎
15:54
|
Я новичок, можно подробнее
|
|||
3
Ёпрст
гуру
27.01.21
✎
16:01
|
(2)
|
|||
4
Ёпрст
гуру
27.01.21
✎
16:02
|
ну и условия свои еще воткни:
|
|||
5
azernot
27.01.21
✎
16:03
|
(0) Количество строк в табличной части? Количество разных товарных позиций? Или суммарное количество штук?
|
|||
6
Ёпрст
гуру
27.01.21
✎
16:03
|
*
И ПоступлениеТоваров.ССылка.Проведен И ПоступлениеТоваров.ССылк.Контрагент <> &Контрагент |
|||
7
gilders89
27.01.21
✎
16:32
|
Мне нужно проверить есть ли записи в табличной части Товары, или нет
|
|||
8
gilders89
27.01.21
✎
16:34
|
и если нет то пропускать документ
|
|||
9
DJ Anthon
27.01.21
✎
16:34
|
если их нет, то документ и не попадет в запрос
|
|||
10
gilders89
27.01.21
✎
16:39
|
если проведен как услуга
|
|||
11
fisher
27.01.21
✎
16:41
|
(8)
А не проще ли уже в пост-обработке пропускать сроки с пустыми вложенными таблицами? Для чего вообще этот запрос? Но если очень хочется, то можно как-то так:
|
|||
12
fisher
27.01.21
✎
16:45
|
(2) Совет новичку - не используй в запросах вложенные таблицы. Это рудиментарный прием. Нужен он только если реально хочешь получить на выходе вложенные таблицы результата. Это очень редко нужно. А больше от них никакого толку и нет.
|
|||
13
gilders89
27.01.21
✎
17:04
|
Нужно переварить все, для моего уровня сложно. Если не использовать вложенные таблицы Товары, Услуги и другие. Как потом вывести все товары или услуги из документа?
|
|||
14
gilders89
27.01.21
✎
17:12
|
Можете помочь разобрать
ГДЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ТоварыТЧ ГДЕ ТоварыТЧ.Ссылка = ПоступлениеТоваров.Ссылка) |
|||
15
gilders89
27.01.21
✎
17:20
|
Точнее мне не понятно, вот эта часть
1 В ( и вот эта ПЕРВЫЕ 1 1 |
|||
16
fisher
27.01.21
✎
17:21
|
(13) Основа языка запросов 1С базируется на операциях над плоскими множествами (таблицами). Их соединением и объединением. Результатом также является плоская таблица. Иерархия в результат добавляется конструкцией ИТОГИ. Если выводить в отчет, то для этого обычно используется СКД, где это фактически параметризировано (разработчик или даже пользователь может задать иерархию группировок параметрически).
(14) Ты проверь сначала, работает условие или нет. Я на 100% не уверен. Добавь это условие по И в конец к своим условиям. А объяснить это совсем новичку в запросах будет непросто. Лучше сначала найди учебный курс по запросам какой-нить. Но в двух словах логика такая. Это коррелирующий подзапрос в условии. У него в ГДЕ есть связка с полем внешней таблицы (шапок). То есть как бы по каждой строке шапки находятся все строки табличной части этого документа и по каждой строке табличной части документа возвращается единичка. Но из них в результат берется только одна. То есть, если у документа будет хоть одна строка табличной части, то подзапрос вернет единичку. Поэтому условие в целом фильтрует только те строки шапок, где есть строки табличной части. |
|||
17
fisher
27.01.21
✎
17:26
|
Но этот прием удобен, только если сами данные табличной части тебе не нужны. В противном случае поступать нужно не так, а делать обычное соединение таблицы шапок документа с таблицей табличной части документа. В результате будет плоская таблица с комбинациями строк табличной части и данных шапки. А дальше уже - от задачи.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |