Создает таблицу значений и копирует в нее табличную часть. Имена колонок таблицы значений совпадают с именами колонок табличного поля. Колонка, содержащая номер строки, выгружается в колонку с именем НомерСтроки.
Синтаксис
Выгрузить(<Строки>, <Колонки>)Выгрузить(<ПараметрыОтбора>, <Колонки>)Примеры платформы
ТаблицаСостава = Состав.Выгрузить();Полное описание, параметры и ограничения
Табличная часть.Выгрузить (Tabular section.Unload)
Табличная часть (Tabular section)
Выгрузить (Unload)
Доступен, начиная с версии 8.0.
Вариант синтаксиса: Выгрузить колонки
Синтаксис:
Выгрузить(<Строки>, <Колонки>)
Параметры:
<Строки> (необязательный)
Тип: Массив.
Массив строк табличной части для выгрузки. Если не указан, выгружаются все строки табличной части.
<Колонки> (необязательный)
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...". Если список не задан, то будут скопированы все колонки.
Описание варианта метода:
Если указаны строки и колонки, то только они будут скопированы. Если не указаны - то табличная часть будет выгружена полностью.
Вариант синтаксиса: Выгрузить по отбору
Синтаксис:
Выгрузить(<ПараметрыОтбора>, <Колонки>)
Параметры:
<ПараметрыОтбора> (необязательный)
Тип: Структура.
Ключ структуры - идентификатор колонки, а значение структуры - значение отбора.
<Колонки> (необязательный)
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...".
Описание варианта метода:
Если указан отбор, то только строки из отбора будут выгружены. Если отбор не указан, то будут выгружены все строки табличной части.
Если указаны колонки, то только эти колонки будут выгружены. Иначе, будут выгружены все колонки табличной части.
Возвращаемое значение:
Тип: ТаблицаЗначений.
Описание:
Создает таблицу значений и копирует в нее табличную часть. Имена колонок таблицы значений совпадают с именами колонок табличного поля. Колонка, содержащая номер строки, выгружается в колонку с именем НомерСтроки.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ТаблицаСостава = Состав.Выгрузить();
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Заполнить и исправить штрихкоды незаписанного товара
Табличная часть принадлежит объекту справочника. Добавляем строки, находим основной штрихкод и удаляем только пустую учебную строку в памяти.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.Наименование = "Учебная книга";
СтрокаКода = Товар.Штрихкоды.Добавить();
СтрокаКода.Штрихкод = "TRAINING-A-01";
СтрокаКода.Основной = Истина;
СтрокаКода = Товар.Штрихкоды.Вставить(0);
СтрокаКода.Штрихкод = "";
СтрокаКода.Основной = Ложь;
ПустаяСтрока = Товар.Штрихкоды.Найти("", "Штрихкод");
Если ПустаяСтрока <> Неопределено Тогда
Товар.Штрихкоды.Удалить(ПустаяСтрока);
КонецЕсли;
Основные = Товар.Штрихкоды.НайтиСтроки(Новый Структура("Основной", Истина));
Если Основные.Количество() <> 1 Тогда
ВызватьИсключение "Ожидался ровно один основной учебный штрихкод";
КонецЕсли;
Сообщить(Товар.Штрихкоды.Количество() = 1);
Сообщить(Товар.Штрихкоды.Получить(0).Штрихкод = "TRAINING-A-01");
Сообщить(Товар.Штрихкоды.Индекс(Основные[0]) = 0);
Сообщить(Товар.ЭтоНовый());
Сообщить(Товар.Штрихкоды.Выгрузить().Количество() = 1);Разбор по шагам
Добавить возвращает строку табличной части объекта, а Вставить(0) помещает новую строку перед ней.
Найти ищет первое совпадение в указанной колонке; НайтиСтроки возвращает все совпадения по структуре отбора.
Удаляем найденную пустую строку из незаписанного экземпляра. Других объектов базы этот метод не касается.
Выгрузить создаёт отдельную ТаблицуЗначений для дальнейшего анализа; объект справочника по-прежнему новый.
Как проверить результат
В табличной части осталась одна строка TRAINING-A-01, основной штрихкод имеет индекс 0.
Все пять контрольных сравнений дают Истина.
В списке справочника товар не появляется: запись объекта не выполнялась.
Ожидаемый результат
Табличная часть подготовлена и проверена в памяти без сохранения объекта.
На что обратить внимание
TRAINING-A-01 — учебная строка, не валидный торговый EAN. Этот пример не проверяет стандарт штрихкода.
Табличная часть объекта, ТаблицаЗначений и коллекция данных формы — разные API. Схожие названия методов не делают их одним типом.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Подготовить дополнительные данные истории без создания версии
ПараметрыЗаписиИсторииДанных — настройки будущей записи, не уже созданная версия. Добавляем собственную цену и таблицу штрихкодов с подписями, оставляя объект незаписанным.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.Наименование = "Учебная книга";
Товар.Артикул = "A-01";
Товар.Цена = 250;
СтрокаШтрихкода = Товар.Штрихкоды.Добавить();
СтрокаШтрихкода.Штрихкод = "TRAINING-A-01";
СтрокаШтрихкода.Основной = Истина;
История = Товар.ЗаписьИсторииДанных;
История.КомментарийВерсии = "Учебная подготовка цены и штрихкода";
История.Отказ = Ложь;
История.ОбновлятьИсториюСразуПослеЗаписи = Ложь;
История.ВыполнятьОбработкуПослеЗаписиВерсии = Ложь;
История.ДобавитьДополнительныеДанные("УчебнаяЦена", Товар.Цена, "Цена учебного товара");
История.ДобавитьДополнительныеДанные("УчебныеШтрихкоды", Товар.Штрихкоды.Выгрузить(), "Штрихкоды учебного товара");
История.ДобавитьПредставлениеПоляДополнительныхДанных("УчебнаяЦена", "ru", "Учебная цена");
История.ДобавитьПредставлениеПоляДополнительныхДанных("УчебнаяЦена", "Цена для упражнения");
Сообщить(История.КомментарийВерсии = "Учебная подготовка цены и штрихкода");
Сообщить(Не История.Отказ);
Сообщить(Не История.ОбновлятьИсториюСразуПослеЗаписи);
Сообщить(Не История.ВыполнятьОбработкуПослеЗаписиВерсии);
Сообщить(История.ДополнительныеДанные.УчебнаяЦена = 250);
Сообщить(История.ДополнительныеДанные.УчебныеШтрихкоды.Количество() = 1);
Сообщить(История.ПредставленияПолейДополнительныхДанных.Получить("УчебнаяЦена:ru") = "Учебная цена");
Сообщить(Товар.ЭтоНовый());Разбор по шагам
Контейнер получаем из свойства нового товара. Само свойство только для чтения, но его параметры можно изменять.
Дополнительное поле УчебнаяЦена и таблица УчебныеШтрихкоды относятся к дополнительным данным версии, а не создают реквизиты метаданных.
Первый метод добавляет данные вместе с подписью; второй задаёт подпись на ru и отдельным вариантом подпись по умолчанию.
Флаги будущего обновления/обработки оставляем Ложь. Записать не вызывается: эти настройки не доказывают появления версии истории.
Запись истории также зависит от её использования в конфигурации; Отказ=Ложь сам по себе историю не включает.
Как проверить результат
Восемь сообщений Истина; цена дополнительных данных 250, в дополнительной таблице одна собственная строка.
В объекте всё ещё ЭтоНовый=Истина и рабочие версии истории не изменились этим фрагментом.
Ожидаемый результат
Подготовлен понятный проект параметров истории с данными и подписями без записи объекта.
На что обратить внимание
Комментарий версии ограничен 1024 символами; длинные строки будут обрезаны.
Если дополнительная таблица содержит НомерСтроки/LineNumber, действуют требования сортировки и последовательных номеров.
Не используйте Отказ=Истина для обхода требований аудита рабочей системы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.