Программы

Выгрузка данных в Excel с установкой разных параметров. Выгрузка данных в Excel с установкой разных параметров Скопировать из 1с в excel

Выгрузка данных в Excel с установкой разных параметров. Выгрузка данных в Excel с установкой разных параметров Скопировать из 1с в excel

Платформы 1С имеют встроенный функционал для сохранения данных в Excel. Обычно этой возможности достаточно для выгрузки, в противном случае возможно использование Com-объект «Excel.Application». В данной статье рассмотрим различные способы выгрузки данных в эксель.

Быстрый переход

Выгрузка в 1С из v7.7 стандартными средствами

Сохранение в эксель в 7.7 возможно только сформированных табличных документов, например отчетов.

После того, как отчет формирован, нажимаете меню «Файл\Сохранить как»:

Всё! Данные в 1С выгружены:

Выгрузка данных из 1С v. 8.3 (8.2, 8.1)

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

Начнем с этого.

В демо базе, открываем справочник клиенты, в меню «Все действия» нажимаем «Вывести список…»

Данная команда позволяет вывести видимые колонки.

В обычных формах данную команду можно вызвать правой кнопкой на списке.

В следующем диалоге выбираем нужные колонки:

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

Обратите внимание: восьмерка более современная, для сохранения доступен более широкий список форматов.

Также следует заметить:

  • разработчик может отключить сохранение из списков, у отдельных форм
  • обычно этот типовой функционал расширяется по кнопке, либо вызов более удобного отчета
  • у вас может отсутствовать право «Вывода», уберет возможность копирования в буфер обмена или печать документа, соответственно и сохранить в эксель в этом случае не получится
  • возможность вывода списков доступно и в конфигураторе (например в момент отладки можно выгрузить таблицу значений)

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

Например из отчета «Остатки ТМЦ» в управлении торговлей 11.2:

Сохранение в Excel программным путем

Вариант 1: вызов сохранения табличного документа

У табличного документа есть метод «Записать», параметрами которого выступает ТипФайлаТабличногоДокумента

ТабличныйДокумент = Новый ТабличныйДокумент ;

//Заполнение табличного документа

Область = ТабличныйДокумент . Область ( 1 , 1 , 1 , 1 ) ;

Область . Текст = "Заголовок H1" ;

//Сохранение табличного документа

ТабличныйДокумент . Записать ( ТипФайлаТабличногоДокумента . XLS, ) ;

Вариант 2: использование объекта Excel.Aplication

Данная возможность доступна в среде Windows, желательно исполнение данного кода на стороне клиента, либо требуется .

Далее, простой код для записи данных в Excel (специально не усложняем, ничего лишнего. Явно к 1с относится только 2 строка, остальное это использование методов и свойств объекта Excel.Application, документация по которому доступна на сайте микрософт):

ПолноеИмяФайла = «C:\123.xls» ;

КнигаЭксель = Новый COMОбъект(«Excel.Application» ) ;

КнигаЭксель. WorkBooks. Open(ПолноеИмяФайла) ;

//Скроем отображение

КнигаЭксель. Visible = 0 ;

В данной статье мы рассмотрим с Вами две очень важные темы, первая это , а вторая это конечно же выгрузка данных из 1с в excel . Необходимо отметить, что эти темы интересны двум основным аудиториям пользователей, ими являются:

  • Пользователи системы 1С Предприятие
  • Программисты 1С

Пользователи 1С как правило хотят заказать например перенос данных из excel в 1с в соответствии со своими определенными требованиями к переносу, в то время как программисты 1С скорее ищут какие-то разъяснения или примеры кода. Исходя из этих соображений мы решили разделить информацию приведенную в данной статье на две части для пользователей и программистов 1С.

1С загрузка из Excel и выгрузка из 1С в Excel глазами рядового пользователя 1С

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

Почему нет универсальной обработки по загрузке данных из Excel в 1С?

Давайте ответим на этот вопрос и рассмотрим его основные моменты:

  1. У каждого пользователя есть различные файлы Excel, данные из которых он хочет перенести в 1С, конечно же эти файлы имеют разные количество строк и столбцов, а также несут разную смысловую нагрузку.
  2. Каждый пользователь работает с отдельной конфигурацией, т.е. конфигурации могут быть различными, то что работает в одной конфигурации, в другой конфигурации без модернизации работать не будет.
  3. Данные из Excel должны переноситься в различные объекты,соответственно нужен разный код, ведь у каждого пользователя свои требования.

Именно по этим причинам нельзя создать универсальную обработку по загрузке данных из Excel в 1С .

Как происходит загрузка и выгрузка данных из Excel в 1С на примере реальной разработки

Теперь давайте разберем в общих чертах как происходит загрузка и выгрузка данных из Excel в 1С , и как вообще это все будет выглядеть в готовом решении?. Пример реальной индивидуальной разработки, а также исходный Excel файл представлены ниже.

В этой обработке сначала нужно выбрать файл Excel, затем нажать на кнопку «Выполнить», после чего в табличную часть загрузятся нужные данные из Excel. Теперь все что осталось сделать пользователю это нажать кнопку «Перенести в бух», после чего данные будут перенесены из Excel в 1С .

Выгрузка данных из 1С в Excel происходит примерно также, только тут сложность написания обработки зависит от того какие именно данные должны выгружаться из объекта. Например у нас есть справочник «Номенклатура» и мы хотим выгрузить наименование самой номенклатуры и единицу измерения данной номенклатуры, хотя у самой номенклатуры может быть намного больше реквизитов, такие как, вид номенклатуры, тип номенклатуры, наименование полное и т.д.

Мне нужна обработка по загрузке и/или выгрузке данных из Excel, что мне делать?

Все что Вам нужно сделать это поднять трубку и позвонить нам. После этого наши специалисты выполнят все необходимые действия чтобы вы получили именно то, что Вам требуется. Если Вам нужно выполнить срочное обновление 1с то звоните нам, мы рады помочь каждому нашему клиенту!

Загрузка и выгрузка данных из Excel в 1С глазами рядового программиста 1С

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

Начнем мы с того как подключить Excel к 1С, делается это посредством COM-объекта. Для того чтобы этот код работал нормально Excel должен быть установлен на компьютере, в противном случае ничего работать не будет:

После того как мы подключили Excel нам нужно открыть необходимый документ из которого будет осуществляться перенос:

Теперь нам необходимо выбрать лист книги эксель, на рисунке выше мы видим как выбирается лист под определенным номером. Номер листа хранится в переменной «Номер листа»:

Мы можем узнать количество листов книги эксель с помощью поля "Count":

Чтобы получить имя листа под определенным номером, нужно написать подобную строчку:

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

Пример функции которая загружает отдельные ячейки из Excel в 1С

Мы с Вами рассмотрели основные процедуры и функции с которыми сталкивается каждый программист 1С при написании обработки по загрузки данных из Excel в 1С. Теперь давайте познакомимся более детально с функцией которая считывает отдельные ячейки эксель файла.

Мы думаем, что никаких дополнительных разъяснений по данному коду приводить не нужно, так как все эти функции детально рассматривались выше.

Пример функции которая загружает все данные из Excel в табличную часть 1С

Мы рассмотрели функцию которая выводит на экран отдельные ячейки экселя. А как быть если нам требуется выгрузить весь лист экселя сразу и обходить его последовательно? Здесь нам пригодится код который приводится ниже:

Пример функции которая выгружает данные из 1С в Excel

Выше мы с вами разобрали много всего интересного, но мы не касались такой темы как выгрузка данных из 1С в Excel. На самом деле принцип работы тут в абсолютности почти такой же, за исключением того, что мы программно создаем новый файл эксель, и программно его записываем. Ну а для того чтобы записать значение в ячейку вы как уже наверное догадались нужно поставить выражение Лист.Cells(x, y) в левую часть. Пример выгрузки данных из 1С в Excel представлен ниже:

У многих пользователей программы 1С: Бухгалтерия в процессе работы с ней часто возникает необходимость в том, чтобы выгрузить документ из 1C в Excel для переноса в другую базу. Экспорт может понадобиться и в том случае, если бухгалтеру надо обработать данные без использования программы. Для осуществления данного механизма нет необходимости устанавливать внешние компоненты, ведь программа оснащена всем необходимым функционалом. В большинстве случаев выгрузить файл из системы можно без помощи программистов.

Способы выгрузки документов из программы 1С

    Если бухгалтеру необходимо выгрузить отчетность, имеющую печатную форму, тогда выполнение процедуры не составит большого труда. Для этого следует сохранить документ стандартным способом, нажав пункт меню «Сохранить как» и выбрав требуемый формат файла. Данный способ подходит для конфигураций, которые поддерживают различные форматы. Если система предлагает сохранить документ только в формате mxl, следует прибегнуть к другим методам.

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

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

Особенности выгрузки и загрузки данных

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

    Чтобы документ корректно загрузился на другую платформу необходимо создать при помощи конфигурации «Конвертация данных» файл с расширением;

    Настройка соответствий между объектами метаданных и реквизитами таблиц обеих программ является ключевой задачей при подготовке правил обмена. Для создания метаописаний данных используются внешние обработки;

    Выгрузка файлов из программы может осуществляться с группировками строк;

    Программа 1С: Бухгалтерия не различает формулы, которые мы видим в ячейках MS Excel, для работы с ней используются функции на языке VBA.

Стандартный способ вывода информации из программы 1С в Excel

Данный способ подходит для всех платформ 1С, в том числе и для 1С: Торговля. Программа предлагает несколько форматов хранения файлов: mxl (предназначен для таблиц в 1С), xls (MS Excel), html (размещение на веб-ресурсах), txt (текстовый документ). От выбора формата будет зависеть внешний вид полученного документа. Последовательность действий приведена далее:

    Открыть информационную базу, затем выбрать пункты «Операции» − «Справочники» − «Номенклатура»;

    Щелкнуть правой кнопкой мышки в любом месте, затем нажать «Вывести список». Появится окно установки;

    В открывшемся списке отметить флажком поля, которые будут экспортироваться;

    В меню «Выводить в …» следует выбрать текстовый или табличный формат, нажать клавишу«Enter»;

    Когда откроется таблица − надо выделить ее. После этого нажать «Файл − Сохранить»;

    Ввести название документа и выбрать формат, в котором он будет сохранен.

Если таблица объемная и содержит большой объем данных, для удобства работы с ней в дальнейшем можно выгрузить каждую группу в отдельный документ. MS Excel имеет ограниченный размер, максимальное количество строк – 1048000 (версии от 2007 года выпуска). Так как выгружаемая отчетность содержит важную информацию, желательно, чтобы все операции по экспорту данных выполнял профессионал.

Выгрузка информации из платформы 1С: Бухгалтерия 7.7

Перенос данных из платформы 1С 7.7 рекомендуется проводить в начале нового отчетного периода, после выполнения всех операций прошедшего периода. Процедура осуществляется при помощи внешних обработок, основной из которых является ACC_ACC8.ert. Эту обработку можно открывать в программе через меню «Сервис» − «Дополнительные возможности», где она называется «Переход на 1С: Бухгалтерию» (указывается версия программы). Также используется пункт «Синхронизировать данные с 1С: Бухгалтерией», устанавливающий режим синхронизации.

Из информационной базы можно выгрузить элементы справочников, сведения о товарах, текущие документы и остатки на счетах бухгалтерского учета, формы ФСС из зарплаты и др. Перенос происходит в два этапа: все данные выгружаются в отдельный файл, а затем он загружается в другую базу. Установка обработки запускается двойным нажатием мышки на setup.exe.

После успешной инсталляции надо открыть пункт меню «Сервис», затем «Дополнительные возможности», и выбрать «Выгрузка данных для 1С». Когда параметры будут определены − нажать кнопку «Загрузить правила обмена». Если перенос данных осуществляется в последний день 2015 года, то следует указать дату выгрузки 01.01.2016. Тогда документы с введенными остатками будут датированы 31.12.2015, а документы с текущими операциями – следующим днем.

Выгрузка данных из программ 1С: Бухгалтерия 8 и 8.2

В системах 1С 8 и 1С 8.2 есть возможность экспорта информационных баз в полном объеме для последующей загрузки на других компьютерах, также можно сохранять отчеты в нескольких форматах, выгружать таблицы и получать информацию с помощью запросов консоли. Чтобы экспортировать базу целиком следует зайти в режим Конфигуратор, выбрать пункт меню «Администрирование», затем нажать «Выгрузить информационную базу». Система попросит пользователя указать наименование файла и его расположение. Если надо загрузить сохраненную информацию в другую базу, следует нажать кнопку «Загрузить информационную базу» и выбрать требуемый файл.

Иногда перед бухгалтерами ставят задачи, связанные с получением списков определенных документов или товаров. Рассмотрим, как можно выгрузить такую информацию из программы 1С. Для этого надо открыть форму списка и установить необходимые отборы, затем правой кнопкой мышки вызвать контекстное меню и выбрать «Вывести список». Программа предложит возможные варианты вывода.

Еще один несложный способ – выгрузка печатных форм в Excel. Для получения данных необходимо открыть реестр документов, выбрать из списка нужный, затем открыть печатную форму. После этого нажать сочетание клавиш «Ctrl + S» или «Файл – Сохранить как», система предложит ввести имя файла и выбрать его тип. Сформированный отчет выгружается по похожему алгоритму.

Экспорт остатков из системы 1С

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

    Нажать «Операции» − «Справочники» − «Номенклатура»;

    Когда появится окно с перечнем номенклатур, можно отобрать требуемые наименования при помощи фильтров. Затем кликнуть мышкой по любой строке, в контекстном меню выбрать «Вывести список»;

    Установить галочки на необходимых параметрах, нажать «OK»;

    Ввести название файла, выбрать тип «Лист Excel», сохранить.

Основные средства выгружаются по подобному сценарию.

Экспорт справочников контрагентов из 1С в Excel

Выгрузить список контрагентов из системы 1С: Бухгалтерия довольно просто. Для этого можно использовать обработки или печатные формы. При выводе печатных форм последовательность действий будет следующей:

    Открыть меню «Предприятие», выбрать пункт «Контрагенты»;

    Нажать «Действия», выбрать команду «Вывести список»;

    Когда появится список, следует проверить, чтобы в каждом поле был указан параметр ИНН. При необходимости установить флажок в настройках. В рядке «Выводить в …» указать «Табличный документ». Сформировать готовый список;

Выгрузка счетов из программы 1С: Бухгалтерия в Excel

Необходимость обмены счетами с покупателями и контрагентами возникает довольно часто. Но так как для ведения бухгалтерского и налогового учета используется специальное программное обеспечение, сотрудникам компании приходится выгружать из него документы и сохранять их в табличной форме. Формат Excel позволяет экспортировать файлы из системы 1С без потерь, и если другой пользователь откроет сохраненный документ в программе Excel – он увидит его точно таким, каким он был создан в бухгалтерской программе.

Для начала необходимо сформировать счет и вывести его на экран. После этого документ можно распечатать на бумажном носителе или сохранить во внешний файл для последующей отправки по электронной почте. Выгрузка счетов осуществляется по стандартной схеме: в меню «Файл» выбрать пункт «Сохранить как», затем ввести название и указать тип сохраняемого документа.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Механизм создания табличных документов и печатных форм в 1С достаточно продуман и хорошо проработан, однако, до функциональных возможностей, реализованных в Microsoft Excel, ему, конечно же, далеко. Поэтому многие пользователи предпочитают действовать по следующему алгоритму:

  • Сформировать печатную форму в 1С;
  • Сохранить данные как лист Excel (Рис.1)или скопировать таблицу;
  • Продолжить работу с информацией в другой программе.

И, нередко, у них возникает вопрос: как осуществить непосредственную выгрузку информации из 1С в Excel, минуя дополнительные шаги?

Два главных требования, которые должны быть выполнены

Для безошибочного функционирования нашей обработки, необходимо:

  1. Чтобы на компьютере пользователя был установлен Microsoft Office и, в частности, Excel (мы будем подключаться к приложению посредством создания COM-объекта);
  2. Представлять себе структуру хранения данных в Excel (понимать, как формируются имена ячеек, знать, что такое лист, книга и т.д.).

Только убедившись, что два этих пункта выполнены, следует приступать к дальнейшей разработке.

Алгоритм при выгрузке и его реализация в 1С

Последовательность действий при выгрузке из 1С в Excel можно представить следующей последовательностью шагов:

  1. Формируем набор данных, которые необходимо сохранить в Excel;
  2. Создаем подключение к приложению (запускаем его);
  3. Заполняем файл выгружаемыми данными;
  4. Сохраняем файл;
  5. Закрываем открытое приложение.

Теперь по этому списку подробнее.

Формирование набора данных

В качестве источника данных может выступать результат выполнения запроса, печатная форма табличного документа, любая выборка элементов. В нашем случае мы будем выгружать реестр документов «Поступление товаров и услуг» за текущий месяц (Рис.2)

Рис.2

Осуществляем программный запуск приложения

Как было сказано выше, для того, чтобы запуститься, мы будем использовать режим Com-соединения. Код на Рис.3 показывает, как это можно осуществить.

Рис.3

Процедуру создания нового объекта мы сознательно вставили в конструкцию Попытка – Исключение-КонецПопытки, для того, чтобы исключить всевозможные нестандартные ситуации в дальнейшем ходе обработки.

Заполнение файла, его сохранение и завершение работы приложения

В первую очередь следует определиться, что мы хотим сделать: выгрузить данные в существующий файл или создать новый:

  • В первом случае нам необходимо запустить диалог выбора файла и получить полное имя существующего хранилища информации;
  • Во втором случае мы должны самостоятельно придумать имя создаваемого файла и определиться с его местоположением (именно из этих двух слагаемых будет создано имя файла).

Решив, где мы будем хранить наши данные, приступим к непосредственному заполнению файла, для этого создадим процедуру и передадим в нее в качестве параметра нашу выборку документов за текущий месяц. (Рис.4)

Рис.4

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

НовыйЛист=НоваяКнига.Sheets.Add();

На этом мы закончили формировать общую структуру документа и приступаем к его заполнению.

Циклом со счетчиком перебираем строки и колонки нашей таблицы значений, для получения данных конкретной ячейки и их переноса в конечную таблицу.

Здесь важно иметь ввиду, что индексы строк и колонок таблицы значения в 1С начинаются с 0 и заканчиваются на числе на 1 меньшем, чем количество этих строк и колонок, а нумерация строк и колонок ячеек в Exel начинается с 1.

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

Если на компьютере установлен Microsoft Office версии 2007 года или более поздний, у Вас, вероятно, может возникнуть необходимость в сохранении табличного документа в формате Excel 2003, программно это можно сделать, если указать в качестве второго параметра процедуры SaveAs значение (-4143). Именно это число указывает на формат сохраняемого файла, соответсвующий расширению xls.

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

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

Дополнительный способ сохранения табличного документа из 1С в Excel

Еще один способ выгрузки – непосредственное сохранение табличного документа на диск без его вывода на экран или перед выводом, код соответствующей процедуры показан на (Рис.5).

Рис.5

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