СоединитьСтроки() - как? #623341


#0 by Cmyk32
Привет! Не совсем понимаю, что делает СоединитьСтроки У меня две строки: Город     Сеть Цена Товар1 5,70
#1 by Cmyk32
Город       Сеть      Адрес              Коэф. Москва     Ригла     ул.Тверская,15       1,5 Питер      Ригла     ул.Мурата, 20        1,5 Могу я с помощью Соединить строки вывести две строки, где 4-ая колонка будет содержать одно общее значение? Город       Сеть      Адрес              Коэф. Москва     Ригла     ул.Тверская,15       1,5 Питер      Ригла     ул.Мурата, 20
#2 by Живой Ископаемый
а что такое СоединитьСтроку? это функция которую вы нафантазировали у себя в уме?
#3 by Fish
Так посмотри, что делает эта функция.
#4 by Cmyk32
Нет по ней инфы, не могу понять где использовать
#5 by Cmyk32
+ у МЕНЯ нет по ней инфы
#6 by butterbean
ты ее придумала??
#7 by Fish
Тогда хотя бы код этой функции приведи. или по твоему тут все телепаты?
#8 by GLazNik
а у нас то тем более
#9 by Рэйв
Встань на нее  и нажми F12 , юный падаван!:-)
#10 by Ненавижу 1С
инфы нет, фото нет, беда
#11 by Рэйв
Это скорее всего какая то самописная глобальная функция
#12 by Cmyk32
jr/
#13 by Cmyk32
Сорри, неправильно сформулировала вопрос. Я хочу понять зачем нужна функция СоединитьСтроки в СКД и как ее использовать. Она появилась с 8.2.14 версии.
#14 by Ненавижу 1С
по-моему это не для этого
#15 by Cmyk32
апну... вдруг кто знает, что это не "фантазия" и даже не "самописная глобальная функция"
#16 by Kashemir
- В языке выражений системы компоновки данных реализована функция "Массив". Результатом работы функции является массив, в котором элементом является значение параметра для каждой детальной записи. Если выражение системы компоновки данных содержит функцию "Массив", то такое выражение считается агрегатным. Перед параметром функции допустимо указывать ключевое слово "Различные", в этом случае получаемый массив не будет содержать одинаковых значений. В качестве параметра функция может принимать выражение, возвращающее таблицу значений. В этом случае результатом работы функции "Массив" будет массив, содержащий значения первой колонки переданной таблицы значений. - В языке выражений системы компоновки данных реализована функция "ТаблицаЗначений". Результатом работы функции является таблица значений, в которой количество колонок равно количеству параметров функции, а данные в колонках получаются из детальных записей. Если выражение системы компоновки данных содержит функцию "ТаблицаЗначений", то такое выражение считается агрегатным. Перед параметром функции допустимо указывать ключевое слово "Различные", в этом случае получаемая таблица значений не будет содержать строк, содержащих одинаковые данные. _________________________ В языке выражений системы компоновки данных реализована функция "СоединитьСтроки", предназначенная для объединения строк в одну. __________________________ Возможно, что СоединитьСтроки является агрегатной функцией для значений Массива или ТЗ ?
#17 by Kashemir
Вот примеры из СП: Например, для пользовательского поля с выражением: компоновщик макета сгенерирует для вывода следующее выражение: СоединитьСтроки(Массив(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Представление(Сумма(НаборДанных.СуммаОборот)), Сумма(НаборДанных.СуммаОборот)", "НаборДанных.Контрагент"), "2"))) Например, пользовательского поля с выражением: ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Контрагент, Сумма(СуммаОборот)", "Контрагент") Компоновщик макета сгенерирует для вывода следующее выражение: СоединитьСтроки(ПолучитьЧасть(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("НаборДанных.Контрагент, НаборДанных.КонтрагентПредставление, Сумма(НаборДанных.СуммаОборот), Представление(НаборДанных.СуммаОборот), НаборДанных.ПолеУпорядочивание", "НаборДанных.Контрагент"), "5, 1, 3"), "2, 4"))
#18 by Kashemir
А вот собственно и описание из СП: СоединитьСтроки (JoinStrings) Предназначена для объединения строк в одну строку. Синтаксис: СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок) Параметры: Значение - выражения, которые нужно объединить в одну строку. Если является Массивом, то в строку будут объединяться элементы массива. Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы; РазделительЭлементов - строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк; РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию "; ". Пример: СоединитьСтроки(ТаблицаЗначений(НомерТелефона, Адрес));
#19 by sivalor
почему бы просто не сделать вычисляемое поле Город + " " + Адрес.
#20 by Kashemir
Представь себе что город и адрес это значения разных произвольных строк одной колонки.
#21 by Heckfy
А у меня нету такого :(:(:(
#22 by Kashemir
Значит у тебя версия ниже 8.2.14
#23 by БледноЗолотистый
В СП поиск не находит, в справке искать надо.
#24 by Cmyk32
теперь понятно/ Спасибо! Получается это не то, что мне нужно в .
#25 by Kashemir
Так тебе нужна обычная конкатенция строк. Операции "+" вполне достаточно( как в ).
#26 by Cmyk32
У меня коэффициент находится в одной колонке. Или ты имеешь ввиду при программном выводе результата?
#27 by Kashemir
Что-то я запутался. Объясни еще раз что нужно получить в результате
#28 by Kashemir
Может нужна просто группировка по коэффициенту ?
#29 by Cmyk32
По сути мне нужно тоже самое, что в этом примере (кроме группировки "ОДЕЖДА") Если делать стандартный вывод СКД, то "мужская" и "женская" - будут повторяться в каждой строке. Простая группировка - не читается в моем случае.
#30 by Kashemir
Тогда просто сделай свой макет+группировка.
#31 by Cmyk32
Да. Спасибо за помощь.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С