|
Можно ли сгруппировать в запросе поле с типом строка в СКД? | ☑ | ||
---|---|---|---|---|
0
AnisaL
21.02.18
✎
22:07
|
Доброго времени суток!
Вопрос такой, почему не дает СКД сгруппировать по полю с типом строка? Вот начало запроса ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор)) КАК ТипДокумента, |
|||
1
nordbox
21.02.18
✎
22:28
|
Просто сгруппируй по регистратору
|
|||
2
AnisaL
21.02.18
✎
22:32
|
(1) неа, мне надо именно группировку по типу регистратора
|
|||
3
AnisaL
21.02.18
✎
22:34
|
(1) а может сначала результат запроса запихнуть в виртуальную таблицу, а потом из нее сделать запрос и группировку
|
|||
4
AnisaL
21.02.18
✎
22:46
|
(3) я бы проверила, но комп начал перезагружаться, т.е. завтра попробую
|
|||
5
Cyberhawk
21.02.18
✎
22:51
|
Выражение "Представление" в запросе используется только в результирующих полях. Внутри запроса никакого преобразования к строке не происходит - только на выходе.
Используй ВЫРАЗИТЬ, группировать по строке можно. |
|||
6
Cyberhawk
21.02.18
✎
22:52
|
Ну или поле добавь ВЫБРАТЬ КОГДА тип такой-то ТОГДА "ТипТакойТо" КОГДА ... ТОГДА "" КОНЕЦ
|
|||
7
youalex
21.02.18
✎
23:09
|
(2) СГРУППИРОВАТЬ ПО ТИПЗНАЧЕНИЯ(Регистратор) ?
|
|||
8
AnisaL
22.02.18
✎
08:51
|
(5) дело в том, что у меня соединение двух наборов данных, один запрос в регистр накопления ТоварыНаСкладах, а второй набор объект, данные загружаются из файла. В таблице значений, которую загружаю из этого файла, поле ТипДокумента, строкового типа, например "ПриходныйОрдерНаТовары". И это поле нужно соединить с соответсвующим полем из запроса по РН ТоварыНаСкладах. Поэтому я и пишу Представление(ТипЗначения(ТоварыНаСкладах.Регистратор)), чтобы из полученного типа получить тип данных строку, а иначе возвращается тип данных Тип
|
|||
9
AnisaL
22.02.18
✎
08:55
|
(5) а вообще, такой вопрос, можно как то получить список всех типов документов регистраторов у РН ТоварыНаСкладах
|
|||
10
Мимохожий Однако
22.02.18
✎
09:03
|
(9) через метаданные
|
|||
11
youalex
22.02.18
✎
09:07
|
(9) где получить, в запросе?
выбрать различные ТипЗначения(регистратор) Из - получишь те которые реально есть. или из результата запроса - выбрать Первые 0 Регистратор Из ... ГДЕ ЛОЖЬ... Типы = Запрос.Выполнить().Колонки[0].ТипЗначения.Типы() - но там еще нужно NULL исключить или (10) |
|||
12
AnisaL
22.02.18
✎
15:55
|
(5) ошибка выдается, при использовании Выразить:
Несовместимые типы Выразить; вот так пишу: ВЫРАЗИТЬ(ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) КАК Строка(50)) КАК ТипДокумента, |
|||
13
AnisaL
22.02.18
✎
15:58
|
(12) + почитала в инете про Выразить, что нельзя штатными методами в запросе преобразовывать одни типы в другие
|
|||
14
DrShad
22.02.18
✎
16:13
|
(13) в корне не верный подход к решению ибо даже ТИПЗНАЧЕНИЯ() дает такой результат "Приходный ордер на товары"
|
|||
15
DrShad
22.02.18
✎
16:15
|
лучше использовать Вычисляемые поля с обращением к функции общего модуля и там собирать строку какую нужно из чего угодно
|
|||
16
Cyberhawk
22.02.18
✎
23:10
|
(8) Тогда (6) сам бог велел
|
|||
17
Franchiser
гуру
22.02.18
✎
23:54
|
А зачем тут представление? По идее и без него должно работать, можно ещё через вычисляемое поле в СКД
|
|||
18
AnisaL
23.02.18
✎
17:11
|
(6) С праздником дня защиты отечества! там всего много получается разных регистраторов, неужели по каждому писать ?
ВЫБРАТЬ КОГДА тип такой-то ТОГДА "ТипТакойТо" КОГДА ... ТОГДА "" КОНЕЦ |
|||
19
PR
23.02.18
✎
17:15
|
Рукалицо
После (7) ветку можно закрывать |
|||
20
AnisaL
23.02.18
✎
17:16
|
(15) а как потом по вычисляемому полю сгруппировать данные в запросе?
|
|||
21
AnisaL
23.02.18
✎
17:19
|
(19) почему, я же написала, что нужно соединить два запроса: один загружается из внешнего файла, там есть поле ТипДокумента, с типом строка, поэтому мне нужно в запросе по ТоварыНаСкладах из типа документа сделать строку
|
|||
22
PR
23.02.18
✎
17:22
|
(21) Ну так допетрила бы дальше, что либо через ВЫБОР либо через параметры либо как угодно вместо строки сделала бы тип
Или (что хуже) во второй части через выбор тип превратила бы в строку |
|||
23
AnisaL
23.02.18
✎
17:26
|
(22) у меня вопрос про вычисляемое поле, как мне потом по нему данные сгруппировать в запросе?
|
|||
24
AnisaL
23.02.18
✎
17:26
|
(22) и через параметры как сделать
|
|||
25
AnisaL
23.02.18
✎
17:29
|
С праздником, всех, кстати!!!
|
|||
26
DrShad
23.02.18
✎
17:41
|
(23) вычисляемое поле тоже может выступать в качестве группировки в СКД
|
|||
27
AnisaL
23.02.18
✎
17:44
|
(26) в макете или в запросе самом?
|
|||
28
PR
23.02.18
✎
18:11
|
(23) Причем здесь вычисляемое поле? Просто поле в запросе через ВЫБОР.
|
|||
29
DrShad
23.02.18
✎
18:56
|
(27) в структуре настроек, вычисляемые поля не участвуют в запросе
|
|||
30
AnisaL
23.02.18
✎
19:03
|
(29) ну так вряд ли получится, так как ТипДокумента - поле из внешнего файла, и там группируются данные по этому полю
в процедуре ПриКомпоновкеРезультата: "ВЫБРАТЬ | ТЗ.ТипДокумента КАК ТипДокумента, | ТЗ.Склад КАК Склад, | ТЗ.Документ КАК Документ, | ТЗ.Номенклатура КАК Номенклатура, | ТЗ.ДатаФайл КАК ДатаФайл, | ТЗ.КоличествоФайл КАК КоличествоФайл |ПОМЕСТИТЬ ВТ |ИЗ | &ТЗ КАК ТЗ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ.ТипДокумента КАК ТипДокумента, | ВТ.Склад КАК Склад, | ВТ.Документ КАК Документ, | ВТ.Номенклатура КАК Номенклатура, | ВТ.ДатаФайл КАК ДатаФайл, | СУММА(ВТ.КоличествоФайл) КАК КоличествоФайл |ИЗ | ВТ КАК ВТ | |СГРУППИРОВАТЬ ПО | ВТ.ТипДокумента, | ВТ.Склад, | ВТ.Документ, | ВТ.Номенклатура, | ВТ.ДатаФайл"; |
|||
31
AnisaL
23.02.18
✎
19:05
|
(30) + потом как будут соединяться два запроса, без этого поля в запросе по регистру, если оно будет в вычисляемых полях
|
|||
32
Franchiser
гуру
23.02.18
✎
21:52
|
(21) делаешь ВТ из 2 колонок
1. ТипСтрока 2. Тип Заполняешь через "объединить все" И дальше через нее все связываешь. |
|||
33
Franchiser
гуру
23.02.18
✎
21:55
|
А лучше сразу преобразовать в загружаемой таблице строковый тип в тип 1с, тогда не нужна вспомогательная вт
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |