1с выгрузить табличную часть в таблицу значений. Так все просто

Кладовщику нужно выгрузить список всей номенклатуры, у которой не установлена пометка удаления. Поля для выгрузки:

  1. Наименование.
  2. Артикул.
  3. Вид номенклатуры.
  4. Тип номенклатуры.

Вот так будет выглядеть таблица Excel после выгрузки:

Рассмотрим два способа решения: без программирования и с участием программиста.

Программируем

Чтобы выгрузить номенклатуру в XLS-файл сформируем запрос к базе данных для получения номенклатуры и поместим результат в табличную часть обработки выгрузки. Вот форма обработки:

По нажатию на кнопку "Заполнить" заполняется табличная часть "ДанныеВыгрузки" обработки, у которой добавлены соответствующие реквизиты. Обработчик этой кнопки имеет следующий программный код:

Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос = Новый Запрос; Запрос. Текст = " ВЫБРАТЬ | Номенклатура. Ссылка КАК Номенклатура, | Номенклатура. Артикул, | Номенклатура. ВидНоменклатуры, | Номенклатура. ВидНоменклатуры. ТипНоменклатуры КАК ТипНоменклатуры |ИЗ | Справочник. Номенклатура КАК Номенклатура |ГДЕ | НЕ Номенклатура. ПометкаУдаления | И НЕ Номенклатура. ЭтоГруппа " ; ТаблицаДанных = Запрос. Выполнить () . Выгрузить() ; ДанныеВыгрузки. Загрузить(ТаблицаДанных) ; КонецПроцедуры

Здесь все должно быть понятно. Самое интересное начинается по нажатию на кнопку "Сохранить". Сначала вызывается диалог выбора пути для сохранения таблицы XLS. Затем, используя данные в табличной части обработки, заполняется табличный документ по созданному ранее макету. Макет, добавленный в обработку, следующий:

Процедура ОсновныеДействияФормыДействие(Кнопка) // Вызываем диалог выбора файла для сохранения XLS-таблицы Режим = РежимДиалогаВыбораФайла. Сохранение; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим) ; ДиалогОткрытияФайла. ПолноеИмяФайла = " " ; ДиалогОткрытияФайла. МножественныйВыбор = Ложь ; Текст = " ru = " " Таблица XLS " " ; en = " " XLS table " " " ; Фильтр = НСтр(Текст) + " (* . xls) |* . xls " ; ДиалогОткрытияФайла. Фильтр = Фильтр; ДиалогОткрытияФайла. Заголовок = " Выберите путь для сохранения " ; Если ДиалогОткрытияФайла. Выбрать() Тогда ПутьКФайлу = ДиалогОткрытияФайла. ПолноеИмяФайла; Иначе Текст = " Путь сохранения не выбран! " ; Предупреждение(Текст) ; Возврат ; КонецЕсли ; // Создаем табличный документ ТаблицаСохранение = Новый ТабличныйДокумент; // Получаем макет заполнения и области макета Макет = ЭтотОбъект. ПолучитьМакет(" ТаблицаВыгрузки " ) ; ОбластьШапка = Макет. ПолучитьОбласть(" Шапка " ) ; ОбластьСтрока = Макет. ПолучитьОбласть(" Строка " ) ; // Выводим данные в табличный документ ТаблицаСохранение. Вывести(ОбластьШапка) ; Для Каждого Стр Из ДанныеВыгрузки Цикл ЗаполнитьЗначенияСвойств(ОбластьСтрока. Параметры, Стр) ; ТаблицаСохранение. Вывести(ОбластьСтрока) ; КонецЦикла ; // Сохраняем табличный документ на диск ТаблицаСохранение. Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента. XLS) ; КонецПроцедуры

После сохранения, на диске буде файл таблицы Excel со списком выгруженной номенклатуры. Пример файла Вы могли видеть в начале статьи.

Пользователь может сам

На самом деле участи программиста для подобной задачи не нужно. Пользователь все сам может сделать без каких-либо хитростей.

Например, перейдя в список номенклатуры и выполнив команду "Все действия" -> "Вывести список" из списка номенклатуры, пользователь получит список номенклатуры в сформированном табличном документе.

После того, как табличный документ будет сформирован, нажав на кнопку "Сохранить" или через меню "Файл->Сохранить" пользователь может записать табличный документ в файл XLS указав его имя и конечный каталог.

Вот и все! Никакой обработки для выгрузки не нужно. Конечно, если у вас достаточно простой случай с выгрузкой данных.

Так все просто?

Действительно все просто, никаких внешних компонент подключать не нужно. К тому же, мы можем выполнить выгрузку таким способом не только в файлы формата таблиц Excel, но и другие форматы, поддерживаемые платформой.

Обработку с примером из статьи Вы можете скачать по ссылке .

Для того чтобы выгрузить табличную часть (документа, справочника, обработки и т.д.) в таблицу значений необходимо использовать метод Выгрузить() . При использовании его будет создана таблица значений с таким же набором колонок (тех же типов данных) и с теми же данными, что и в табличной части . Следует заметить, что данная таблица никак не связана с табличной частью и изменение данных в ней не приведет к изменению данных в ней, по сути она является ее копией, но с несколько другими свойствами и методами.

Также если у вас есть таблица с таким же набором колонок, как и в табличной части, то данные таблицы значений можно загрузить в табличную часть. Для этого применяется метод Загрузить(<Таблица>) , табличной части. Это может потребоваться в случае, если данные для загрузки получаются запросом. И вместо того чтобы обходить результат запроса в цикле, можно просто загрузить его в табличную часть.

Выгрузить табличную часть 1с. Пример

Загрузить табличную часть. Пример

Допустим, что в переменной Объект содержится объект документа у которого есть табличная часть Услуги . А в переменной Запрос , содержится запрос собирающий данные для табличной части.

Очень часто требуется получить данные из 1С 8.3 и сохранить информацию во внешний файл, иными словами, сделать выгрузку из 1С предприятия. Задача практически всегда выполнима без привлечения программистов 1С.

Рассмотрим ряд полезных советов, с помощью которых Вы сможет выгрузить данные из 1С во внешнюю информационную систему.

В 1С есть несколько методов, с помощью которых Вы можете получить информацию без привлечения специалистов:

  • Выгрузка базы из 1С 8.3 целиком — для последующей загрузки на другом компьютере
  • Сохранение отчетов и печатных форм в Excel, Word или PDF
  • Выгрузка таблиц из 1С
  • Получение информации с помощью консоли запросов

Подробнее о них:

Как выгрузить базу из 1с 8.3 целиком (в файл.dt)

Для этого понадобится зайти в режим конфигуратора, затем в главном меню выбрать пункт «Администрирование» — «Выгрузить информационную базу»:

Затем потребуется только указать название будущего файла и его расположение на диске.

Для последующей загрузки в другую базу нажмите на кнопку «Загрузить информационную базу» и выберите предварительно выгруженный файл.

Выгрузка из 1С в Excel отчетов и печатных форм

Этот способ универсальный и очень простой. Для этого достаточно при открытии печатной формы или отчета.

Например, открываем печатную форму ТОРГ 12, нажимаем ctrl+S (или в меню Файл – Сохранить как) и выбираем тип файла и его имя:

Для действует та же система – отчет выгружается в два клика:

Получите 267 видеоуроков по 1С бесплатно:

Доступно сохранение в основные форматы – excel, word, pdf, html, txt и тд.

Выгрузка таблиц из 1С 8.3

Часто встречаются такие банальные задачи, как «получить список платежек за текущий год», «выгрузить книгу покупок или продаж» или «выгрузить товары из накладной №256». Решить такие задачи достаточно просто.

Например, мне необходимо получить все поступления от контрагента «Вектор» с суммой более 1000. Откроем форму списка и установим нужные отборы в списке:

Система предложит вариант вывода – в табличный документ или текстовый, выберем табличный. Программа 1С выведет информацию в такой табличный документ, который, подобно отчетам, можно сохранить в нужный нам формат:

Подобные действия можно произвести практически для любой табличной части в 1С 8.2. Например, нам потребовалось выгрузить список товаров из поступления № МСК00003, не проблема. Делается это очень просто – открываем документ, вызываем контекстное меню и через пару кликов получаем нужную выгрузку в нужном формате:


Выгрузка в Excel журнала проводок из 1С:

Получение информации с помощью консоли запросов

Однако не вся информация может быть найдена в простой табличной части 1С 8.2. Иногда требуется собрать данные из нескольких источников данных, соединить их по некоторым полям.

Этот способ подходит для технически подкованных людей, которые знают основы языка запросов. Заключается он в том, чтобы получить результат запроса с помощью и сохранить его в нужный нам формат.

Например, требуется получить всех контрагентов-поставщиков и их телефонный номер. Для этого напишем следующий запрос:

Полученную таблицу можно также выгрузить в нужный формат файла:

Загрузить полученные данные можно в другую базу 1С с помощью « «. Смотрите видеоинструкцию на примере номенклатуры:

Понравилось? Лайкни нас на Facebook