На закладке Ресурсы , схемы компоновки данных отчета, укажем выражение СоединитьСтроки Номенклатура, , для ресурса Номенклатура.

Создание обработки заполнения табличной части 1С 8.2
Зайдем в 1С 8 в режиме Конфигуратор. При помощи меню Файл -> Новый или пиктограммы Новый документсоздадим новую внешнюю обработку.
В поле Имя укажем: “ПростейшееЗаполнениеТабличнойЧасти” и сохраним внешнюю обработку на жесткий диск используя меню Файл -> Сохранить или пиктограмму Сохранить или сочетание клавиш Ctrl + S.
Выделив ветку Реквизиты в дереве метаданных обработки и нажав кнопку Добавить(кнопка с зеленым плюсом) создадим новый реквизит внешней обработки — ДокументПоступления, выберем для него типДокументСсылка.ПоступлениеТоваровУслуг, этот реквизит нужен нам для выбора документа Поступление товаров и услуг, на основании которого будет заполняться реализация.
Для выбора документа поступления нам понадобится отдельная форма. Выделив ветку Формы и используя ту же кнопку — Добавить создадим форму внешней обработки. Откроется окно конструктора формы , на первой странице конструктора никаких изменений делать не нужно, поэтому просто нажмем кнопку Далее.
На второй странице конструктора нам необходимо выбрать реквизит ДокументПоступления(для того что бы он появился на создаваемой форме) и нажать кнопку Готово.
Приступим к программированию обработки заполнения табличной части. Перейдем в Модуль объектавнешней обработки(на нижней панели обработки кнопка Действия -> Открыть модуль объекта).
В нем нам необходимо создать экспортную процедуру Инициализировать.
Процедура Инициализировать(Объект, ИмяТабличнойЧасти = Неопределено, ТабличноеПолеОбъекта = Неопределено) ЭкспортКонецПроцедуры
Обратите внимание, что процедура Инициализировать , а так же все ее параметры, являются обязательными для внешней обработки заполнения табличной части , если вы ее не создадите или не укажите все параметры, ваша обработка просто не будет работать.
Теперь приступим к написанию программного кода. В первую очередь создадим переменную для табличной части документа Реализация товаров и услуг, которую мы будем заполнять.
При выполнении процедуры в параметре Объект будет содержаться объект документа, который мы заполняем, а в параметре ИмяТабличнойЧасти строка с именем табличной части, которую мы заполняем. Таким образом эта строчка кода получает табличную часть заполняемого документа по ее имени.
Промокоды на Займер на скидки
Нам необходимо что бы пользователь выбрал документ Поступление товаров и услуг, поэтому напишем код открытия формы выбора документа. Для начала получим эту форму в переменную, используя метод внешней обработки ПолучитьФорму(, , ). Нам достаточно заполнить только первый параметр этого метода, передав туда строку с именем нашей формы.
Теперь откроем полученную форму, используя модальное открытие(пока форма открыта все остальные окна 1С недоступны), потому что при таком способе открытия дальнейший наш код в процедуреИнициализировать выполняться не будет, пока пользователь не закроет форму.
1c: база: запросы wiki-1c
Нам необходимо что бы пользователь выбрал документ Поступление товаров и услуг , поэтому напишем код открытия формы выбора документа.

Сортировка массива методом простого выбора
При сортировке массива методом выбора применяется базовый алгоритм поиска максимального (минимального) элемента и его номера.
- Для исходного массива выбрать максимальный элемент.
- Поменять его местами с последним элементом (после этого самый большой элемент будет стоять на своем месте).
- Повторить п.п. 1-2 с оставшимися n-1 элементами, то есть рассмотреть часть массива, начиная с первого элемента до предпоследнего, найти в нем максимальный элемент и поменять его местамис предпоследним (n-1)- м элементом массива, затем с оставшиеся (n-2)-мя элементами и так далее, пока не останется один элемент, уже стоящий на своем месте.
Для упорядочения массива потребуется (n-1) просмотров массива. В процессе сортировки будет увеличиваться отсортированная часть массива, а неотсортированная, соответственно, уменьшаться.
При сортировке данных выполняется обмен содержимого переменных. Для обмена необходимо создавать временную переменную, в которой будет храниться содержимое одной из переменных. В противном случае ее содержимое окажется утерянным.
Задача 1. Массив из 10 элементов отсортировать по возрастанию методом простого перебора.
Напишем процедуру. Входным параметром для неё будет массив. Он же будет и выходным параметром. Поэтому описываем его как параметр-переменная (с ключевым словом var).
В процедуре внешний цикл по i — определяет длину рассматриваемой части массива. Она будет изменяться от n до 2.
Внутренний цикл по j используется для поиска максимального элемента и его номера. В качестве начального значения максимума разумно взять значение последнего элемента рассматриваемой части массива.
Процесс упорядочения элементов в массиве по возрастанию методом отбора:
Номер элемента | 1 | 2 | 3 | 4 | 5 |
Исходный массив | 8 | 7 | 5 | 4 | 2 |
Первый просмотр | 2 | 7 | 5 | 4 | 8 |
Второй просмотр | 2 | 4 | 5 | 7 | 8 |
Третий просмотр | 2 | 4 | 5 | 7 | 8 |
Четвертый просмотр | 2 | 4 | 5 | 7 | 8 |
Номер элемента | 1 | 2 | 3 | 4 | 5 |
Исходный массив | 8 | 7 | 5 | 4 | 2 |
Первый просмотр | 2 | 7 | 5 | 4 | 8 |
Второй просмотр | 2 | 4 | 5 | 7 | 8 |
Третий просмотр | 2 | 4 | 5 | 7 | 8 |
Четвертый просмотр | 2 | 4 | 5 | 7 | 8 |
Универсальные коллекции значений 1С
Сортировка массива методом простого обмена (методом пузырька)
Наиболее известным методом сортировки является сортировка пузырьковым методом. Его популярность объясняется запоминающимся названием и простым алгоритмом.
Метод основан на том, что в процессе исполнения алгоритма более «легкие» элементы массива постепенно «всплывают».
Особенностью данного метода является сравнение не каждого элемента со всеми, а сравнение в парах соседних элементов. Выполняется несколько последовательных просмотров массива от начала к концу. Если соседние элементы расположены «неправильно», то они меняются местами.
Алгоритм сортировки массива по возрастанию методом простого обмена:
- Начнем просмотр с первой пары элементов ( a[1] и a[2] ). Если первый элемент этой пары больше второго, то меняем их местами, иначе оставляем без изменения. Затем берем вторую пару элементов ( a[2] и a[3] ), если второй больше третьего, то также меняем их, далее сравниваем третий и четвертый, и если третий больше четвертого, меняем их местами, и т.д. Последними сравниваем (n-1)-ый и n-ый элементы.При первом обходе массива будут просмотрены все пары элементов массива a[i] и a[i+1] для i от 1 до (n-1). В результате максимальный элемент массива переместится в конец массива.
- Поскольку самый большой элемент находится на своем месте, рассмотрим часть массива без него, то есть с первого до (n-1) — го элемента.Повторим предыдущие действия для этой части массива, в результате чего второй по величине элемент массива переместится на последнее место рассматриваемой части массива, то есть на ( n-1 ) — е место во всем массиве.
- Эти действия продолжают до тех пор, пока количество элементов в текущей части массива не уменьшится до двух. В этом случае необходимо выполнить последнее сравнение и упорядочить последние два элемента.
Нетрудно заметить, что для преобразования массива, состоящего из n элементов, необходимо просмотреть его n–1 раз, каждый раз уменьшая диапазон просмотра на один элемент.
Ниже приведен текст процедуры сортировки массива по возрастанию методом пузырька.
Для упорядочения элементов массива по убыванию их значений необходимо при сравнении элементов массива знак «>» заменить на «
Если понадобилось перебрать строки, вошедшие в отбор, то это можно сделать, только заново перебрав все строки и проверив условие отбора для каждой строки.

Содержание
Внешний вид примера отчета 1С с использованием двух функций СКД Массив и СоединитьСтроки следующий:
Задача: Нужно все номера реализаций по одному товару вставить в одну ячейку.
Будем использовать запрос к регистру накопления «РеализацияТМЗ».
Регистру накопления «РеализацияТМЗ» существует как в конфигурации Бухгалтерия, так и в конфигурации Управление торговым предприятием (УТП). Узнайте, как в конфигурации УТП установить свойство «Услуга» в элементе справочника «Номенклатура». Поэтому, после скачивания, для проверки его работоспособности вы можете запускать этот отчёт в обеих конфигурациях.
Объединения
- Создадим новый набор данных.
- Вставим в него, вышеуказанный запрос.
- Перейдём на закладку «Вычисляемые поля» и добавим новую запись.
- В поле «Путь к данным» напишем МассивНомеров.
- В поле «Выражение» напишем Массив(РегистраторНомер).
Описание функции СоединитьСтроки (JoinStrings)
СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)
- Значение — выражения, которые нужно объединить в одну строку.
Если является Массивом, то в строку будут объединяться элементы массива.
Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы; - РазделительЭлементов — строка, содержащая текст, который нужно использовать в качестве
разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк; - РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя
между колонками таблицы значений. По умолчанию «;».
Пожалуйста, Войдите или Зарегистрируйтесь чтобы получить ссылку на скачивание.
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы