Вход | Регистрация


1С:Предприятие ::

Метки: 

Можно ли сгруппировать в запросе поле с типом строка в СКД?

Я
   AnisaL
 
21.02.18 - 22:07
Доброго времени суток!
Вопрос такой, почему не дает СКД сгруппировать по полю с типом строка?
Вот начало запроса

ВЫБРАТЬ
    ПРЕДСТАВЛЕНИЕ(ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор)) КАК ТипДокумента,
 
 
   nordbox
 
1 - 21.02.18 - 22:28
Просто сгруппируй по регистратору
   AnisaL
 
2 - 21.02.18 - 22:32
(1) неа, мне надо именно группировку по типу регистратора
   AnisaL
 
3 - 21.02.18 - 22:34
(1) а может сначала результат запроса запихнуть в виртуальную таблицу, а потом из нее сделать запрос и группировку
   AnisaL
 
4 - 21.02.18 - 22:46
(3) я бы проверила, но комп начал перезагружаться, т.е. завтра попробую
   Cyberhawk
 
5 - 21.02.18 - 22:51
Выражение "Представление" в запросе используется только в результирующих полях. Внутри запроса никакого преобразования к строке не происходит - только на выходе.
Используй ВЫРАЗИТЬ, группировать по строке можно.
   Cyberhawk
 
6 - 21.02.18 - 22:52
Ну или поле добавь ВЫБРАТЬ КОГДА тип такой-то ТОГДА "ТипТакойТо" КОГДА ... ТОГДА "" КОНЕЦ
   youalex
 
7 - 21.02.18 - 23:09
(2) СГРУППИРОВАТЬ ПО ТИПЗНАЧЕНИЯ(Регистратор)    ?
   AnisaL
 
8 - 22.02.18 - 08:51
(5) дело в том, что у меня соединение двух наборов данных, один запрос в регистр накопления ТоварыНаСкладах, а второй набор объект, данные загружаются из файла. В таблице значений, которую загружаю из этого файла, поле ТипДокумента, строкового типа, например "ПриходныйОрдерНаТовары". И это поле нужно соединить с соответсвующим полем из запроса по РН ТоварыНаСкладах. Поэтому я и пишу Представление(ТипЗначения(ТоварыНаСкладах.Регистратор)), чтобы из полученного типа получить тип данных строку, а иначе возвращается тип данных Тип
   AnisaL
 
9 - 22.02.18 - 08:55
(5) а вообще, такой вопрос, можно как то получить список всех типов документов регистраторов у РН ТоварыНаСкладах
   МимохожийОднако
 
10 - 22.02.18 - 09:03
(9) через метаданные
 
  Рекламное место пустует
   youalex
 
11 - 22.02.18 - 09:07
(9) где получить, в запросе?
выбрать различные ТипЗначения(регистратор) Из - получишь те которые реально есть.

или из результата запроса - выбрать Первые 0 Регистратор Из ... ГДЕ ЛОЖЬ...
Типы = Запрос.Выполнить().Колонки[0].ТипЗначения.Типы()  - но там еще нужно NULL исключить

или (10)
   AnisaL
 
12 - 22.02.18 - 15:55
(5) ошибка выдается, при использовании Выразить:
Несовместимые типы Выразить; вот так пишу:
ВЫРАЗИТЬ(ТИПЗНАЧЕНИЯ(ТоварыНаСкладах.Регистратор) КАК Строка(50)) КАК ТипДокумента,
   AnisaL
 
13 - 22.02.18 - 15:58
(12) + почитала в инете про Выразить, что нельзя штатными методами в запросе преобразовывать одни типы в другие
   DrShad
 
14 - 22.02.18 - 16:13
(13) в корне не верный подход к решению ибо даже ТИПЗНАЧЕНИЯ() дает такой результат "Приходный ордер на товары"
   DrShad
 
15 - 22.02.18 - 16:15
лучше использовать Вычисляемые поля с обращением к функции общего модуля и там собирать строку какую нужно из чего угодно
   Cyberhawk
 
16 - 22.02.18 - 23:10
(8) Тогда (6) сам бог велел
   Franchiser
 
17 - 22.02.18 - 23:54
А зачем тут представление? По идее и без него должно работать, можно ещё через вычисляемое поле в СКД
   AnisaL
 
18 - 23.02.18 - 17:11
(6) С праздником дня защиты отечества! там всего много получается разных регистраторов, неужели по каждому писать ?
ВЫБРАТЬ КОГДА тип такой-то ТОГДА "ТипТакойТо" КОГДА ... ТОГДА "" КОНЕЦ
   PR
 
19 - 23.02.18 - 17:15
Рукалицо

После (7) ветку можно закрывать
   AnisaL
 
20 - 23.02.18 - 17:16
(15) а как потом по вычисляемому полю сгруппировать данные в запросе?
   AnisaL
 
21 - 23.02.18 - 17:19
(19) почему, я же написала, что нужно соединить два запроса: один загружается из внешнего файла, там есть поле ТипДокумента, с типом строка, поэтому мне нужно в запросе по ТоварыНаСкладах из типа документа сделать строку
   PR
 
22 - 23.02.18 - 17:22
(21) Ну так допетрила бы дальше, что либо через ВЫБОР либо через параметры либо как угодно вместо строки сделала бы тип
Или (что хуже) во второй части через выбор тип превратила бы в строку
   AnisaL
 
23 - 23.02.18 - 17:26
(22) у меня вопрос про вычисляемое поле, как мне потом по нему данные сгруппировать в запросе?
   AnisaL
 
24 - 23.02.18 - 17:26
(22) и через параметры как сделать
   AnisaL
 
25 - 23.02.18 - 17:29
С праздником, всех, кстати!!!
   DrShad
 
26 - 23.02.18 - 17:41
(23) вычисляемое поле тоже может выступать в качестве группировки в СКД
   AnisaL
 
27 - 23.02.18 - 17:44
(26) в макете или в запросе самом?
   PR
 
28 - 23.02.18 - 18:11
(23) Причем здесь вычисляемое поле? Просто поле в запросе через ВЫБОР.
   DrShad
 
29 - 23.02.18 - 18:56
(27) в структуре настроек, вычисляемые поля не участвуют в запросе
   AnisaL
 
30 - 23.02.18 - 19:03
(29) ну так вряд ли получится, так как ТипДокумента - поле из внешнего файла, и  там группируются данные по этому полю
в процедуре ПриКомпоновкеРезультата:

"ВЫБРАТЬ
                       |    ТЗ.ТипДокумента КАК ТипДокумента,
                       |    ТЗ.Склад КАК Склад,
                       |    ТЗ.Документ КАК Документ,
                       |    ТЗ.Номенклатура КАК Номенклатура,
                       |    ТЗ.ДатаФайл КАК ДатаФайл,
                       |    ТЗ.КоличествоФайл КАК КоличествоФайл
                       |ПОМЕСТИТЬ ВТ
                       |ИЗ
                       |    &ТЗ КАК ТЗ
                       |;
                       |
                       ////////////////////////////////////////////////////////////////////////////////

                       |ВЫБРАТЬ
                       |    ВТ.ТипДокумента КАК ТипДокумента,
                       |    ВТ.Склад КАК Склад,
                       |    ВТ.Документ КАК Документ,
                       |    ВТ.Номенклатура КАК Номенклатура,
                       |    ВТ.ДатаФайл КАК ДатаФайл,
                       |    СУММА(ВТ.КоличествоФайл) КАК КоличествоФайл
                       |ИЗ
                       |    ВТ КАК ВТ
                       |
                       |СГРУППИРОВАТЬ ПО
                       |    ВТ.ТипДокумента,
                       |    ВТ.Склад,
                       |    ВТ.Документ,
                       |    ВТ.Номенклатура,
                       |    ВТ.ДатаФайл";
   AnisaL
 
31 - 23.02.18 - 19:05
(30) + потом как будут соединяться два запроса, без этого поля в запросе по регистру, если оно будет в вычисляемых полях
   Franchiser
 
32 - 23.02.18 - 21:52
(21) делаешь ВТ из 2 колонок
1. ТипСтрока
2. Тип
Заполняешь через "объединить все"
И дальше через нее все связываешь.
   Franchiser
 
33 - 23.02.18 - 21:55
А лучше сразу преобразовать в загружаемой таблице строковый тип в тип 1с, тогда не нужна вспомогательная вт
 
  Рекламное место пустует



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует