Разделы сайта
Выбор редакции:
- Формирование топа друзей в списках Facebook: Частота взаимодействия, давние коммуникации и доля случайности
- Как оплатить World of Warcraft?
- Как удалить историю мейл-агента
- Скоро подключим мышки и клавиатуры к Xbox One Когда xbox one получит поддержку клавиатуры
- Выгрузка данных в Excel с установкой разных параметров Как выгрузить из 1с в excel
- 3 обязательное заполнение поля
- Сжатие файлов в программе WinRAR
- Прослушивание сети (sniffing)
- Если завис планшет, что делать, чтобы вернуть его к «жизни»?
- Отключение разметки страницы в Microsoft Excel
Реклама
Выгрузка данных в Excel с установкой разных параметров. Выгрузка данных в Excel с установкой разных параметров Как выгрузить из 1с в excel |
Кладовщику нужно выгрузить список всей номенклатуры, у которой не установлена пометка удаления. Поля для выгрузки:
Вот так будет выглядеть таблица Excel после выгрузки: Рассмотрим два способа решения: без программирования и с участием программиста. ПрограммируемЧтобы выгрузить номенклатуру в XLS-файл сформируем запрос к базе данных для получения номенклатуры и поместим результат в табличную часть обработки выгрузки. Вот форма обработки: По нажатию на кнопку "Заполнить" заполняется табличная часть "ДанныеВыгрузки" обработки, у которой добавлены соответствующие реквизиты. Обработчик этой кнопки имеет следующий программный код: Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос = Новый Запрос; Запрос. Текст = " ВЫБРАТЬ | Номенклатура. Ссылка КАК Номенклатура, | Номенклатура. Артикул, | Номенклатура. ВидНоменклатуры, | Номенклатура. ВидНоменклатуры. ТипНоменклатуры КАК ТипНоменклатуры |ИЗ | Справочник. Номенклатура КАК Номенклатура |ГДЕ | НЕ Номенклатура. ПометкаУдаления | И НЕ Номенклатура. ЭтоГруппа " ; ТаблицаДанных = Запрос. Выполнить () . Выгрузить() ; ДанныеВыгрузки. Загрузить(ТаблицаДанных) ; КонецПроцедурыЗдесь все должно быть понятно. Самое интересное начинается по нажатию на кнопку "Сохранить". Сначала вызывается диалог выбора пути для сохранения таблицы XLS. Затем, используя данные в табличной части обработки, заполняется табличный документ по созданному ранее макету. Макет, добавленный в обработку, следующий: Процедура ОсновныеДействияФормыДействие(Кнопка) // Вызываем диалог выбора файла для сохранения XLS-таблицы Режим = РежимДиалогаВыбораФайла. Сохранение; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим) ; ДиалогОткрытияФайла. ПолноеИмяФайла = " " ; ДиалогОткрытияФайла. МножественныйВыбор = Ложь ; Текст = " ru = " " Таблица XLS " " ; en = " " XLS table " " " ; Фильтр = НСтр(Текст) + " (* . xls) |* . xls " ; ДиалогОткрытияФайла. Фильтр = Фильтр; ДиалогОткрытияФайла. Заголовок = " Выберите путь для сохранения " ; Если ДиалогОткрытияФайла. Выбрать() Тогда ПутьКФайлу = ДиалогОткрытияФайла. ПолноеИмяФайла; Иначе Текст = " Путь сохранения не выбран! " ; Предупреждение(Текст) ; Возврат ; КонецЕсли ; // Создаем табличный документ ТаблицаСохранение = Новый ТабличныйДокумент; // Получаем макет заполнения и области макета Макет = ЭтотОбъект. ПолучитьМакет(" ТаблицаВыгрузки " ) ; ОбластьШапка = Макет. ПолучитьОбласть(" Шапка " ) ; ОбластьСтрока = Макет. ПолучитьОбласть(" Строка " ) ; // Выводим данные в табличный документ ТаблицаСохранение. Вывести(ОбластьШапка) ; Для Каждого Стр Из ДанныеВыгрузки Цикл ЗаполнитьЗначенияСвойств(ОбластьСтрока. Параметры, Стр) ; ТаблицаСохранение. Вывести(ОбластьСтрока) ; КонецЦикла ; // Сохраняем табличный документ на диск ТаблицаСохранение. Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента. XLS) ; КонецПроцедурыПосле сохранения, на диске буде файл таблицы Excel со списком выгруженной номенклатуры. Пример файла Вы могли видеть в начале статьи. Пользователь может самНа самом деле участи программиста для подобной задачи не нужно. Пользователь все сам может сделать без каких-либо хитростей. Например, перейдя в список номенклатуры и выполнив команду "Все действия" -> "Вывести список" из списка номенклатуры, пользователь получит список номенклатуры в сформированном табличном документе. После того, как табличный документ будет сформирован, нажав на кнопку "Сохранить" или через меню "Файл->Сохранить" пользователь может записать табличный документ в файл XLS указав его имя и конечный каталог. Вот и все! Никакой обработки для выгрузки не нужно. Конечно, если у вас достаточно простой случай с выгрузкой данных. Так все просто?Действительно все просто, никаких внешних компонент подключать не нужно. К тому же, мы можем выполнить выгрузку таким способом не только в файлы формата таблиц Excel, но и другие форматы, поддерживаемые платформой. Обработку с примером из статьи Вы можете скачать по ссылке . Для меня стало небольшим открытием, что пользователи 1С не знают как быстро выгрузить из 1С в Excel почти любые данные. Недавно я столкнулся с тем, что коллеги делали , а потом через FineReader переводили данные в текст из картинки, потому что не работала кнопка сохранить в 1С (см. картинку). Длинный путь, не правда ли? Но есть и более удобные способы. В выгрузке из 1С нет никакой тайны, возможностей достаточно много. Давайте разберемся по пунктам как мы можем сохранить данные из 1С в Excel: Самый простой способ сохранить из 1С в Excel данные — это выбрать в документе или журнале одну ячейку и нажать (копировать), затем в Excel выделить ячейку куда нужно сохранить данные и нажать v . Таким образом, вы сохраните содержание этой ячейки. Для примера-картинки это будет 42 289,23 Этот способ действует для любой версии 1С. 2. Как выгрузить из 1С в Excel большое количество данных?Предыдущий способ хорош, но большой объем данных так не накопируешься. Поэтому, лучше пользоваться инструментом Вывести список. Почти в любом журнале документов, справочнике или документе нажмите правой кнопкой мыши и найдите пункт Вывести список.
Появиться список этих элементов как текст (возможно до этого нужно будет выбрать, какие именно столбцы выбрать). Этот текст уже можно скопировать в любой документ. Но я советую, воспользоваться меню Файл — Сохранить как (т.к. большие объемы данных будут обрабатываться долго и не исключена ошибка при копировании в буфер). Затем выбираем нужный формат файла. Все файл сохранен в нужном формате. Этот способ так же действует для любой версии 1С. Для версии 1с 8.2 и выше в тонком клиенте или интерфейсе Такси инструмент Файл — Сохранить как, доступен на панели в верхнем правом углу в виде дискеты 3. Как выгрузить из 1С в Excel печатные формы документов?Печатные формы документов таких как
1 — Снимите кнопку Только просмотр, чтобы иметь возможность изменять печатную форму 2 — Сохраните документ в нужный формат, см. пункт 2 А так же содержимое печатной формы вы сможете сохранить как любые текстовые данные, как в Word’e. Часто печатную форму или форму отчета можно сохранить простым Копировать-Вставить в Excel. Как загрузить данные из Excel в 1C это совсем другая история. Но скоро и ее расскажу, ждите;) Платформы 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 ; Данный способ простой. Его суть заключается в том, что объект ТабличныйДокумент имеет методы:
Внимание! Метод Записать
()
доступен как на клиенте, так и на сервере. Метод Прочитать
()
доступен только на стороне сервера. Необходимо помнить об этом Рассмотрим пример сохранения табличного документа в файл. Необходимо любым способом создать и заполнить объект ТабличныйДокумент, а выгрузка в файл осуществляется всего лишь одной строкой:
Здесь ТабДок — сформированный табличный документ, ПутьКФайлу — имя файла для выгрузки, ТипФайлаТабличногоДокумента.XLSX — формат создаваемого файла. Поддерживаются следующие форматы Excel:
Здесь ПутьКФайлу — путь к загружаемому файлу Excel. СпособЧтенияЗначенийТабличногоДокумента.Значение определяет, каким образом нужно интерпретировать данные, считываемые из исходного документа. Доступны варианты:
Обмен через OLEОбмен через технологию OLE automation, пожалуй, самый распространенный вариант программной работы с файлами Excel. Он позволяет использовать весь функционал, предоставляемый Excel, но отличается медленной скоростью работы по сравнению с другими способами. Для обмена через OLE требуется установка MS Excel:
Пример выгрузки :
Примеры чтения :
Для обхода всех заполненных строк листа Excel можно использовать следующие приемы:
Вместо последовательного обхода всех строк листа можно выгрузить все данные в массив и работать с ним. Такой подход будет быстрее при чтении большого объема данных:
В таблице ниже приведены наиболее востребованные свойства и методы для работы с Excel через OLE:
Для того, чтобы узнать какое свойство нужно менять или какой метод вызвать можно воспользоваться макросами Excel. Если записать макрос с требуемыми действиями, то после можно посмотреть программный код на VBA записанного макроса. Использование COMSafeArrayПри выгрузке больших объемов данных из 1С в Excel для ускорения можно использовать объект COMSafeArray . Согласно определению из синтакс-помощника, COMSafeArray — объектная оболочка над многомерным массивом SafeArray из COM. Позволяет создавать и использовать SafeArray для обмена данными между COM-объектами. Проще говоря, это массив значений, который можно использовать для обмена между приложениями по технологии OLE.
Обмен через ADOФайл Excel при обмене через ADO представляет собой базу данных, к которой можно обращаться при помощи SQL-запросов. Установка MS Excel не требуется, но обязательно наличие драйвера ODBC, при помощи которого будет осуществляться доступ. Используемый драйвер ODBC определяется при указании строки соединения к файлу. Обычно требуемый драйвер уже установлен на компьютере. Обмен через ADO заметно быстрее обмена через OLE, но при выгрузке нет возможности использовать функционал Excel для оформления ячеек, разметки страниц, задания формул и т.д. Пример выгрузки :
Для создания нового листа и формирования его структуры можно воспользоваться объектами ADOX.Catalog и ADOX.Table . В этом случае код примет вид:
В приведенном примере в методе
во втором параметре указывается тип колонки. Параметр необязательный, вот некоторые значения типа колонки:
Пример чтения :
В строке соединения параметр HDR определяет как будет восприниматься первая строка на листе. Возможны варианты:
В приведенных примерах рассмотрено лишь несколько объектов ADO. Объектная модель ADO состоит из следующих объектов:
Выгрузка без программированияДля сохранения данных из 1С в Excel не всегда целесообразно прибегать к программированию. Если в режиме Предприятия пользователь может отобразить требуемые для выгрузки данные, то, их возможно сохранить в Excel без программирования. Для сохранения табличного документа (например, результата отчета) можно вызвать команду Сохранить или Сохранить как… главного меню. В открывшемся окне требуется выбрать каталог, имя и формат сохраняемого файла. Для сохранения данных динамических списков (например, списка номенклатуры) необходимо:
Универсальная обработка "Выгрузка и загрузка данных XML" производит полную или частичную выгрузку данных информационной базы в файл в формате XML. Впоследствии этот файл может быть загружен в информационную базу с помощью этой же обработки. Формат файла выгрузки отличается от формата файла, создаваемого при выгрузке по плану обмена, заголовочной частью. Обработка может использоваться только в тех случаях, когда информационная база, в которой осуществлялась выгрузка данных, и та, в которой данные загружаются, являются однородными (конфигурации идентичны, данные могут различаться), либо все выгружаемые объекты практически полностью идентичны по составу и типам реквизитов и табличных частей, свойствам "ведущего" объекта метаданных и так далее. Использование этой обработки возможно, например, для создания полной или частичной резервной копии данных, осуществления обмена данными между информационными базами, а также как вспомогательный инструмент при восстановлении сбойных информационных баз. Обработка поддерживает выгрузку данных с возможностью задания отбора по периоду. Также реализована проверка объектов на наличие недопустимых символов при обмене через XML. С уважением, (преподаватель и разработчик ). |
Читайте: |
---|
Популярное:
Новое
- Как оплатить World of Warcraft?
- Как удалить историю мейл-агента
- Скоро подключим мышки и клавиатуры к Xbox One Когда xbox one получит поддержку клавиатуры
- Выгрузка данных в Excel с установкой разных параметров Как выгрузить из 1с в excel
- 3 обязательное заполнение поля
- Сжатие файлов в программе WinRAR
- Прослушивание сети (sniffing)
- Если завис планшет, что делать, чтобы вернуть его к «жизни»?
- Отключение разметки страницы в Microsoft Excel
- Чёрный экран после загрузки Windows