- Как доделать запрос, чтобы данные выводились в одну строку?
- Простой вывод результата запроса в табличный документ
- Специальные предложения
- См. также
- Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо
- Что за ? в коде, или Секретный оператор в 1С
- Полезные примеры СКД, ч.2
- Обзор полезных методов БСП 3.1.4
- Использование классов .Net в 1С для новичков Промо
- Звуковое управление в 1С 8.3
- Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions
- Базовые вещи БСП, которые облегчат жизнь программисту 1С
- Использование программных перечислений, ч.1: строковые константы Промо
- Форма выбора (подбор) в управляемых формах
- Программная работа с настройками СКД
- [СКД] Программное создание схемы компоновки данных
- Вспомогательные инструкции в коде 1С Промо
- Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения
- Сходство Джаро — Винклера. Нечеткое сравнение строк
- Полезные процедуры и функции для программиста
- Оформление и рефакторинг сложных логических выражений Промо
- Таблица значений. Нюансы
- [Шпаргалка] Программное создание элементов формы
- Агрегатные функции СКД, о которых мало кто знает
- Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо
- Регистры бухгалтерии. Общая информация
- Три костыля. Сказ про фокусы в коде
- Иерархия без «В ИЕРАРХИИ»
- Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо
- Отслеживание выполнения фонового задания
- Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив
- Фоновое выполнение кода в 1С — это просто
- Выгрузка документа по условию Промо
- СКД — наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты
- Обработчики событий при записи объектов. Зачем и что за чем?
- Как вывести значения столбца в строке через запятую на T-SQL? Microsoft SQL Server
- Исходные данные для примеров
- Пример 1 – выводим все значения столбца в строке через запятую
- Пример 2 – выводим уникальные значения столбца в строке через запятую
Как доделать запрос, чтобы данные выводились в одну строку?
«ВЫБРАТЬ
| ДоговорыКонтрагентов.Владелец.Код,
| ДоговорыКонтрагентов.Код,
| ДоговорыКонтрагентов.Дата,
| ВЫБОР
| КОГДА ЗначенияСвойствОбъектов.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.ДатаНачалаДействияДоговора)
| ТОГДА ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение)
| ИНАЧЕ «»»»
| КОНЕЦ КАК ДатаНачалаДействияДоговора,
| ВЫБОР
| КОГДА ЗначенияСвойствОбъектов.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.ВидДоговора)
| ТОГДА ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение)
| ИНАЧЕ «»»»
| КОНЕЦ КАК ВидДоговора,
| ВЫБОР
| КОГДА ЗначенияСвойствОбъектов.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.ОтвПодразделение)
| ТОГДА ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение)
| ИНАЧЕ «»»»
| КОНЕЦ КАК ОтветственноеПодразделение,
| ВЫБОР
| КОГДА ЗначенияСвойствОбъектов.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.ТабНомерОтветственного)
| ТОГДА ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение)
| ИНАЧЕ «»»»
| КОНЕЦ КАК ТабНомерОтветственного,
| ВЫБОР
| КОГДА ЗначенияСвойствОбъектов.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.Ответственный)
| ТОГДА ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение)
| ИНАЧЕ «»»»
| КОНЕЦ КАК Ответственный
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ПО ДоговорыКонтрагентов.Владелец = ЗначенияСвойствОбъектов.Объект.Владелец
| И ДоговорыКонтрагентов.Ссылка = ЗначенияСвойствОбъектов.Объект»
Данные колонок которые начинаются с ВЫБОР выводятся в разные строки, как сделать чтобы все данные были в одной строке?
(5) попробуй СГРУППИРОВАТЬ, а где суммовые поля поставить МАСКИСИУМ.
Источник
Простой вывод результата запроса в табличный документ
Неоднократно наблюдал и наблюдаю картину когда для отладки запроса его результат выводят в табличный документ. При этом создают макет. Определяют области и параметры и т.п. Ниже показан код с помощью которого можно выводить любой результат запроса в табличный документ не определяя макет.
Специальные предложения
Можно сделать проще, обойтись без всяких циклов и выборок 🙂
А еще проще, как я обычно отлаживаю запросы.
Спасибо большое за пример, сегодня пригодилось в работе 🙂
Кстати одна строчка пропущена, надо бы добавить
А если еще добавить
то даже расшифровка получается, вообще супер удобно
Ааааа не экономьте на пробелах!!
Вариант без ошибок и с нормальными заголовками
ТД — реквизит формы.
Обновление 03.01.14 14:47
Код открыт Не указано
См. также
Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо
В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.
12.12.2020 4291 Eugen-S 23
Что за ? в коде, или Секретный оператор в 1С
Инкремент, модуль и прочая магия, которая скрыта под символом «?»
21.10.2021 7018 SeiOkami 39
Полезные примеры СКД, ч.2
Еще несколько примеров решения задач в СКД.
06.04.2021 10446 Neti 8
Обзор полезных методов БСП 3.1.4
Библиотека стандартных подсистем (далее — БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.
25.03.2021 39283 rayastar 51
Использование классов .Net в 1С для новичков Промо
Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)
27.01.2016 85486 Serginio 115
Звуковое управление в 1С 8.3
В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.
16.03.2021 7078 velemir 33
Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions
«Я не могу просто взять и скопировать код с гитхаба», «у нас 1С микросервисами окружена», «возможностей мало» — частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще — берём и используем.
28.12.2020 8775 comol 31
Базовые вещи БСП, которые облегчат жизнь программисту 1С
В данной публикации я опишу полезные процедуры и функции модуля общего назначения библиотеки стандартных подсистем, обязательные к использованию любым программистом 1С.
30.08.2020 19896 quazare 34
Использование программных перечислений, ч.1: строковые константы Промо
Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?
10.12.2016 41033 unichkin 74
Форма выбора (подбор) в управляемых формах
Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.
08.05.2020 76026 user5300 19
Программная работа с настройками СКД
Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.
27.01.2020 64600 ids79 26
[СКД] Программное создание схемы компоновки данных
Сделаем отчет на СКД полностью программно, без использования макета «схема компоновки данных».
15.01.2020 43152 John_d 22
Вспомогательные инструкции в коде 1С Промо
Помогаем редактору кода 1С помогать нам писать и анализировать код.
15.10.2018 36013 tormozit 106
Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения
Собрал информацию о событиях/подписках/расширениях в одном месте.
30.12.2019 34808 kuzyara 38
Сходство Джаро — Винклера. Нечеткое сравнение строк
В области информатики и статистики сходство Джаро — Винклера представляет собой меру схожести строк для измерения расстояния между двумя последовательностями символов. В публикации рассмотрены некоторые особенности алгоритма, и представлен вариант его реализации на языке 1С.
25.12.2019 8387 brooho 19
Полезные процедуры и функции для программиста
Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.
07.10.2019 39456 HostHost 41
Оформление и рефакторинг сложных логических выражений Промо
В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.
20.09.2012 82759 tormozit 131
Таблица значений. Нюансы
Обзор некоторых аспектов использования общеизвестного инструмента 1С.
01.10.2019 52522 Yashazz 56
[Шпаргалка] Программное создание элементов формы
Программное создание практически всех популярных элементов формы.
06.09.2019 100593 rpgshnik 75
Агрегатные функции СКД, о которых мало кто знает
Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.
05.09.2019 76874 ids79 56
Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо
Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.
11.07.2007 54265 tormozit 51
Регистры бухгалтерии. Общая информация
Общая информация о внутреннем устройстве регистров бухгалтерии.
05.09.2019 46123 YPermitin 25
Три костыля. Сказ про фокусы в коде
Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.
03.09.2019 30109 YPermitin 81
Иерархия без «В ИЕРАРХИИ»
Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи «Уровни, глубина, прародители, циклы и аналоги запросом» [https://infostart.ru/public/160707/].
22.08.2019 14965 ildarovich 24
Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо
Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки
10.09.2017 51052 tormozit 74
Отслеживание выполнения фонового задания
Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.
17.08.2019 44888 ids79 22
Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив
Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.
08.08.2019 150037 ids79 75
Фоновое выполнение кода в 1С — это просто
Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.
02.08.2019 60053 avalakh 26
Выгрузка документа по условию Промо
Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.
25.04.2019 17974 m-rv 3
СКД — наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты
Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.
26.07.2019 104371 ids79 17
Обработчики событий при записи объектов. Зачем и что за чем?
Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта. Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.
Источник
Как вывести значения столбца в строке через запятую на T-SQL? Microsoft SQL Server
Когда работаешь с базой данных, пишешь SQL запросы или инструкции, может возникнуть необходимость получить в виде текстовой строки значения определенного столбца таблицы, где каждое значение будет отделяться разделителем, например, запятой или точкой с запятой. В этой статье я покажу, как реализовать это на языке T-SQL, т.е. как получить значения столбца в строке через запятую.
В каких случаях может потребоваться получать значения столбца, разделенные запятой в строке? Например, самый простой вариант — это для реализации какой-нибудь динамической процедуры или инструкции (подробней об этой возможности языка T-SQL в материале – «Выполнение динамических T-SQL инструкций в Microsoft SQL Server»). Если приводить более конкретный пример, то на практике очень часто нужно реализовывать так называемый динамический PIVOT, для формирования аналитических отчетов. PIVOT, если кто не знает, — это оператор, с помощью которого можно формировать сводные таблицы, в частности осуществлять транспонирование таблицы (значения по горизонтали выводить по вертикали с агрегацией и группировкой).
Заметка! Начинающим рекомендую посмотреть мой видеокурс по T-SQL.
Итак, давайте приступим.
Исходные данные для примеров
Сначала давайте создадим данные, которые мы будем обрабатывать, чтобы суть наших действий была понятна.
Допустим, у нас будет таблица TestTable, которая будет содержать данные о товарах, такие как: идентификатор, наименование, цена и дата.
Примечание! Статья предполагает, что у Вас уже есть базовые знания языка T-SQL, поэтому о том, как создается таблица или как добавляются данные в таблицу, я пояснять не буду. Если Вы начинающий программист и у Вас нет базовых знаний языка SQL, то я Вам рекомендую почитать книгу «SQL код» – это самоучитель по данному языку. Книга написана мной, в ней я очень подробно рассказываю о языке SQL.
Пример 1 – выводим все значения столбца в строке через запятую
Давайте представим, что нам нужно получить все значения из столбца «Наименование товара» (ProductName) в виде текстовой строки с разделителем.
В примере ниже мы напишем простую SQL инструкцию, в которой мы сохраним в переменной строку из значений столбца, разделенных запятыми.
Суть данного метода проста, мы последовательно записываем в переменную значение за значением (то, что есть в переменной + текущее значение), по мере считывания данных из столбца, добавляя между значениями нужный нам разделитель.
Функцию ISNULL (проверка на NULL) мы использовали для того, чтобы определить, когда нам нужно вставлять первый разделитель, но в данном случае можно использовать и COALESCE, в чем разница можете почитать в статье «Функции COALESCE и ISNULL в T-SQL – особенности и основные отличия».
Функцию QUOTENAME мы используем для отделения каждого значения в строке, в нашем случае квадратными скобами. Это нужно для того, чтобы избежать ситуаций, когда в значении используются пробелы или другие символы. Если отделять значения не требуется, то эту функцию использовать необязательно, также можно вместо квадратных скобок указать другой символ в качестве выделения значения, например, кавычки, круглые или фигурные скобки и некоторые другие (необходимый символ указывается вторым параметром у функции QUOTENAME, по умолчанию квадратные скобки).
Пример 2 – выводим уникальные значения столбца в строке через запятую
В предыдущем примере мы выводили все данные из столбца, но в некоторых случаях все значения не нужны, например, для того же динамического PIVOT, где нужны только уникальные значения для формирования заголовков столбцов. Поэтому давайте рассмотрим пример, в котором мы предварительно обработаем наши исходные данные.
Допустим, нам нужно получить в текстовой строке года, которые есть в столбце «Дата» (Dt). При этом нам не нужны повторы, нам нужны только уникальные значения, для этого мы будем использовать ключевое слово DISTINCT.
В столбце Dt у нас хранится дата, поэтому для того, чтобы получить из даты год, мы используем функцию YEAR, подробней о том, как из даты получать различные ее части, мы разговаривали в материале – «Как из даты получить год, месяц или день в T-SQL?».
Для удобства я предлагаю использовать конструкцию WITH (обобщённое табличное выражение), так, на мой взгляд, наглядней.
Как видим, у нас вывелось всего два значения.
Заметка! Для комплексного изучения языка SQL и T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения специально для начинающих.
У меня на этом все, надеюсь, материал был Вам интересен и полезен, пока!
Источник