|   |   | 
| 
 | Что не так с контатенацией в запросе ? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Холст 22.06.20✎ 15:28 | 
        Простой запрос 
 ВЫБРАТЬ ПЕРВЫЕ 100 " "+Количество(Файлы.Ссылка) , Файлы.ВладелецФайла КАК ВладелецФайла ИЗ Справочник.ЗаказПокупателяПрисоединенныеФайлы КАК Файлы СГРУППИРОВАТЬ ПО Файлы.ВладелецФайла через выразить также даёт ошибку ВЫБРАТЬ ПЕРВЫЕ 100 Выразить(Количество(Файлы.Ссылка) как строка(10)) КАК Ссылка, Файлы.ВладелецФайла КАК ВладелецФайла ИЗ Справочник.ЗаказПокупателяПрисоединенныеФайлы КАК Файлы СГРУППИРОВАТЬ ПО Файлы.ВладелецФайла Требуется писать предопределенную строку перед количество файлов по заявке Подскажите, пожалуйста, как исправить запрос ? | |||
| 1
    
        H A D G E H O G s 22.06.20✎ 15:29 | 
        Никак     | |||
| 2
    
        ДенисЧ 22.06.20✎ 15:30 | 
        Во-первых - число в строку в запросе ты не выразишь.
 А во-вторых - формат используй, чтобы на пробелы не нарваться | |||
| 3
    
        Fragster гуру 22.06.20✎ 15:32 | 
        странно. кажется, у Холст угнали аккаунт     | |||
| 4
    
        FIXXXL 22.06.20✎ 15:33 | 
        ВЫБРАТЬ ПЕРВЫЕ 100500
 .... ТекстЗапроса = СтрЗаменить(ТекстЗапроса , "100500", ТвойВариант); | |||
| 5
    
        H A D G E H O G s 22.06.20✎ 15:34 | 
        (3) Ага. Как будто ЛивингСтар сел за штурвал.     | |||
| 6
    
        Fragster гуру 22.06.20✎ 15:34 | 
        кстати, у FIXXXL , похоже, тоже     | |||
| 7
    
        H A D G E H O G s 22.06.20✎ 15:35 | 
        (6) Похетитили (орфография автора сохранена) тел, хопта.     | |||
| 8
    
        Fedor-1971 22.06.20✎ 15:41 | 
        (0) 
 
Второй вариант 
Если и так не айс, Запрос.Текст = СтрЗаменить(Запрос.Текст, "&НечтоОченьНужное", "ЧтоТебе хочется"); | |||
| 9
    
        Дык ё 22.06.20✎ 15:44 | 
        а че, представление(количество(*)) не во всех версиях платформы работает?     | |||
| 10
    
        H A D G E H O G s 22.06.20✎ 15:45 | 
        Люди больше не услышат ваши юные смешные голоса...
 https://youtu.be/1rmFz4B5slo | |||
| 11
    
        Fedor-1971 22.06.20✎ 15:47 | 
        8+ Если хочешь получить в одном поле запроса 
 "Количество файлов: " + Количество(Файлы.Ссылка) КАК СколькоФайлов - это вряд ли получится, не предназначен запрос для подобных проделок | |||
| 12
    
        Волшебник модератор 22.06.20✎ 15:47 | 
        Запрос должен выдавать чистые данные, а всё представление надо делать в экранной/печатной форме или условным оформлением СКД     | |||
| 13
    
        Fedor-1971 22.06.20✎ 15:53 | 
        (9) Представление - это чисто преобразование к Строке всего (!!!) содержимого поля, 
 "Нечто "+Представление(???) - должно выдавать ошибку, т.к. нельзя дальше использовать результат от Представления | |||
| 14
    
        ДенисЧ 22.06.20✎ 15:54 | 
        (13) ""Представление - это чисто преобразование к Строке"
 Wat> | |||
| 15
    
        Fragster гуру 22.06.20✎ 15:59 | 
        (9) оно работает после запроса, т.е. в самом запросе результат функции представление нельзя использовать.     | |||
| 16
    
        Fedor-1971 22.06.20✎ 16:03 | 
        (14) Вот из Хелпа:
 Функция ПРЕДСТАВЛЕНИЕ Данная функция предназначена для получения строкового представления значения произвольного типа. Параметр функции – выражение любого типа. Возвращаемое значение – представление значения, тип СТРОКА. Результат работы функции не может быть использован внутри других функций, за исключением функции ПРЕДСТАВЛЕНИЕ. Пример: ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(РасхНакл.Получатель) КАК Получатель, ПРЕДСТАВЛЕНИЕ(РасхНакл.Дата) КАК Дата ИЗ Документ.РасхНакл КАК РасхНакл т.е. в выборке будут Строковые представления, а не Ссылка и Дата | |||
| 17
    
        Fedor-1971 22.06.20✎ 16:05 | 
        16+ даже если запихнуть во временную таблицу, а потом попытаться что-то приклеить к полученной строке получим ошибку при выполнении запроса     | |||
| 18
    
        Дык ё 22.06.20✎ 16:06 | 
        (15) для второго запроса из (0) должно подойти     | |||
| 19
    
        Дык ё 22.06.20✎ 16:08 | 
        +(18) если в заказе не больше десятка файлов, можно наговнокодить что-то вроде
 выбор количество(*) когда 1 тогда "1" когда 2 тогда "2".. :) | |||
| 20
    
        Fragster гуру 22.06.20✎ 16:09 | 
        (18) да, но постобработка с конкатенацией в обработке выборки все равно не требует преобразования в строку так что что второй запрос,что представление вместо выразить - оба бесполезны.     | |||
| 21
    
        Волшебник модератор 22.06.20✎ 16:11 | 
        Надо использовать условное оформление и/или вызвать функцию общего модуля.     | |||
| 22
    
        Ненавижу 1С гуру 22.06.20✎ 16:16 | 
        просто 1С не умеет в преобразование типов в запросе
 чистый SQL: select 'всего '||count(*)||' записей' from books >>всего 12 записей | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |