|
v7: Получить данные по 2 регистрам сразу | ☑ | ||
---|---|---|---|---|
0
Gumplen
01.10.21
✎
07:21
|
ТИС 7.7. Данные двух регистров хочется выгрузить в таблицу значений: "ПартииНаличие, ОстаткиТМЦ"
Почему при выгрузке в ТЗ количество (Функция КО1) выгружает пустую колонку? ТекстЗапроса = " |Партия = Регистр.ПартииНаличие.Партия.Поставщик; |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура, Регистр.ПартииНаличие.Номенклатура; |Количество1 = Регистр.ОстаткиТМЦ.Количество; |Количество2 = Регистр.ПартииНаличие.Количество; |Условие (Номенклатура в СписокЭлементовМФ); |Группировка Номенклатура без групп; |Группировка Партия без групп; |Функция КО1 = КонОст(Количество1); |Функция КО2 = Сумма(Количество2); |"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Сообщить("Ошибка. Запрос не выполнен"); Возврат; КонецЕсли; Запрос.Выгрузить(ТЗ,,); |
|||
1
Злопчинский
01.10.21
✎
07:29
|
я вообще не представлю как это склеивается каким джойном
. посмотри в сторону Все ВошедшиеВЗапрос . Группировка <?> Упорядочить по ; Синтаксис: Группировка <ИмяГруппировки>|<ПредопредГруппировка> [Упорядочить по <КонкретизацГруппировки>, ...][Без Упорядочивания][Без Групп][Все [ВошедшиеВЗапрос]]; Англоязычный синоним: Group <ИмяГруппировки>|<ПредопредГруппировка> [Order By КонкретизацГруппировки, ...][Without Groups][All [IncludedInQuery]]; Назначение: Установить порядок выборки информации. Параметры: <ИмяГруппировки> - имя внутренней переменной, задающей группировку; <ПредопредГруппировка> - ключевое слово одной из встроенных группировок; <КонкретизацГруппировки> - конкретизация переменной <ИмяГруппировки>, задающая порядок групп. Ключевые слова: Упорядочить по - параметры, следующие за данным ключевым словом, определяют упорядочивание строк в группировке. Без Упорядочивания - необязательное добавочное ключевое слово, которое преследует цель уменьшения времени формирования запроса, при условии, что ни упорядочивание, ни значения упорядочивания при использовании данного запроса не нужны. Без Групп - группы справочника не выводятся в запрос (для группировки по справочнику); Все - в запрос выводятся все значения, и нулевые тоже (используется для группировок по справочникам и временных группировок). ВошедшиеВЗапрос - уточняет предыдущее ключевое слово 'Все'. Использование данного слова подразумевает, что в каждую строку запроса будут включены значения данных (в том числе нулевые), для которых есть ненулевое значение хотя бы в одной строке запроса. Замечание: Предопределенные группировки: Документ (Document) - позволяет детализацию до документа; СтрокаДокумента (DocumentLine) - позволяет детализацию до строки документа; ПериодЖурнала (JournalPeriod) - группировка по времени ввода записи журнала расчетов или по времени ее действия. Группировки по дате: День (Day); Неделя (Week); Месяц (Month); Квартал (Quarter); Год (Year). Подробнее см. в документации, глава ''Язык Генерации Запросов'' |
|||
2
Злопчинский
01.10.21
✎
07:31
|
И оборот Сумма() - за какой период ты берешь..? если период не указан - берется в ТА.
Замечание: Если вторая часть оператора после ключевого слова По пропущена или значение второго параметра команды равно нулю, то интервал времени применяется от начального момента времени до ТА (или по РабочуюДату, если не установлена компонента ''Оперативный учет''). Если в описании запроса команда Период С опущена, то интервал дат формирования запроса устанавливается в точку актуальности итогов. |
|||
3
acanta
01.10.21
✎
07:32
|
А если поставщик убрать? Все группировки должны браться из обоих регистров.
|
|||
4
Злопчинский
01.10.21
✎
07:34
|
было бы интересно посмотреть на текст запроса в прямой (скульной) записи...
|
|||
5
Злопчинский
01.10.21
✎
07:38
|
смысл запроса как-то мне неясен... Попытка получить остатки в разрезе поставщика из регистра остатков? или сравнить остатки по поставщикам (из партии наличие) с остатками по складу? - так это ни в жисть не разложится имхо в черном запросе так, бо остаток по складу = 100, а по поставщикам 10-2--70 - и как это будет выгледеть? и будет ли вообще выглядеть..?
@Ёпрста надо! |
|||
6
Злопчинский
01.10.21
✎
07:38
|
||||
7
Gumplen
01.10.21
✎
07:41
|
(5) Практического применения этому нет. Понять хочется как на практике эти запросы надо составлять. В документации как то неясно написано
|
|||
8
victuan1
01.10.21
✎
07:45
|
|Партия = Регистр.ПартииНаличие.Партия.Поставщик;
|Количество1 = Регистр.ОстаткиТМЦ.Количество; |Группировка Партия без групп; |Функция КО1 = КонОст(Количество1); (0) И чего он тебе должен вывести когда группируешь по одному регистру, а остатки берешь из другого, в котором группировка по партии не предусмотрена? |
|||
9
Злопчинский
01.10.21
✎
08:39
|
(7) я делаю просто. разнородные срезы не объединяю, бо хз как оно их склеит.
|
|||
10
Злопчинский
01.10.21
✎
08:42
|
Апологеты клюшкек советуют писать прямые запросы, там как график нарядов по КПП: посмотрел - и все понятно!!!
|
|||
11
acanta
01.10.21
✎
08:50
|
Вообще что-то было из разговоров, при переводе базы из дбф в sql какие-то запросы просто переставали работать и их приходилось писать на прямых именно потому что sql как-то не так объединяет.
|
|||
12
ADirks
01.10.21
✎
08:55
|
(10) целиком и полностью разделяю
|
|||
13
acanta
01.10.21
✎
09:04
|
Еще в регистр остатки тмц можно добавить реквизит поставщик, чтобы было.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |