1с сохранить печатную форму в файл программно

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

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

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

Обмен через табличный документ

Данный способ простой. Его суть заключается в том, что объект ТабличныйДокумент имеет методы:

Внимание!

Метод Записать () доступен как на клиенте, так и на сервере. Метод Прочитать () доступен только на стороне сервера. Необходимо помнить об этом
при планировании клиент-серверного взаимодействия.

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

Здесь ТабДок — сформированный табличный документ, ПутьКФайлу — имя файла для выгрузки, ТипФайлаТабличногоДокумента.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 для оформления ячеек, разметки страниц, задания формул и т.д.

Пример выгрузки:

// Создание COM-объекта для соединения
Соединение = Новый COMОбъект ( «ADODB.Connection» );

Для создания нового листа и формирования его структуры можно воспользоваться объектами ADOX.Catalog и ADOX.Table. В этом случае код примет вид:

В приведенном примере в методе

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

Пример чтения:

// Создание COM-объекта для соединения
Соединение = Новый COMОбъект ( «ADODB.Connection» );

// Создание COM-объекта для получения выборки
Выборка = Новый COMОбъект ( «ADODB.Recordset» );
ТекстЗапроса = «SELECT * FROM [Лист1$]» ;

В строке соединения параметр HDR определяет как будет восприниматься первая строка на листе. Возможны варианты:

В приведенных примерах рассмотрено лишь несколько объектов ADO. Объектная модель ADO состоит из следующих объектов:

Выгрузка без программирования

Для сохранения данных из 1С в Excel не всегда целесообразно прибегать к программированию. Если в режиме Предприятия пользователь может отобразить требуемые для выгрузки данные, то, их возможно сохранить в Excel без программирования.

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

sohranenie tablichnogo dokumenta

В открывшемся окне требуется выбрать каталог, имя и формат сохраняемого файла.

Для сохранения данных динамических списков (например, списка номенклатуры) необходимо:

sohranenie dinamicheskogo spiska

Остались вопросы?
Спросите в комментариях к статье.

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

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

В текущем же решении выходной файл формировался средствами 1С как табличный документ и, затем, командой ТабДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS) превращался в эксель. Соответственно программно влиять на тип данных в ячейках мы не могли. Для этого надо было бы полностью переписать программный код, чтобы напрямую выводить данные в эксель.

Испробовали все: колдовали с типами данных параметров, присваивали нужным ячейкам макета разные свойства — ничего не помогало — данные по прежнему выводились в формате общий без признака «текст». Решение пришло неожиданно, когда уже почти отчаялись, и чуть было не решили переписывать все заново. Все оказалось неожиданно просто: надо было у ячеек в макете поставить признак «СодержитЗначение» и в качестве типа значения поставить «Строка». Всего-то!

Это как раз тот случай, когда лень является двигателем прогресса. На все потратили чуть более часа, зато для клиента это оказалось бесплатно! Он даже и не узнал о таких сложностях:) Результат работы вы видите на картинке.

1c in

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

С помощью объекта ПакетОтображаемыхДокументов

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

ИмяФайла — имя файла в который будет сохранена книга. Можно перед вызовом функции предлагать пользователю указать каталог, куда будет сохраняться файл, и в параметр передать полный путь до файла, например «D:ФайлыМойФайлЭксель.xlsx».

МассивДанных — массив соответствий с данными для формирования книги. Массив собираю на сервере. Соответствие представляет из себя коллекцию значений в связки с ключем. Ключи — Имя (имя листа в книге) и АдресВХранилище (адрес табличного документа во временном хранилище).

В отличие от второго варианта файл сохраняется значительно быстрее.

С помощью COM-объекта Excel.Application

Этот вариант подойдет тем, кому приходится работать со старыми версиями платформы. 1С позволяет сохранять табличный документ в эксель:

Указав в качестве типа файла таблицы ТипФайлаТабличногоДокумента.XLSX в итоге получим файл Эксель, но в нем мы не увидим привычных листов, соответственно и сохранить несколько табличных документов в одну книгу не получится.

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

Источник

Библиотека стандартных подсистем 1С 8.3. Печать

reklama http

Рассмотрена подсистема Печать из библиотеки стандартных подсистем (БСП) 3.1.3.

Примеры приведены на конфигурации Управление торговлей 11.4.13.

В пользовательском режиме

Настройка видимости команд печати

pechat

В открывшемся окне можно галочками настроить видимость команд печати в подменю Печать:

pechat 1

Например, сейчас для авансового отчета доступны 2 печатные формы:

pechat 2

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

pechat 3

Форма печати

Форма печати выглядит следующим образом:

pechat 4

Рассмотрим кнопки командной панели:

По кнопке Печать печатная форма будет отправлена на принтер.

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

pechat 5

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

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

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

pechat 6

Печатная форма будет сохранена во всех выбранных форматах. Можно сразу поместить все файлы в архив и транслитерировать имена файлов, чтобы файл назывался не Авансовый отчет № 1 от 27.04.2017, а Avansovyy otchet № 1 ot 27.04.2017.

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

pechat 7

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

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

Последнее поле позволяет подсчитать сумму, количество, среднее, минимум или максимум выделенных ячеек:

pechat 8

Если в настройках установить галку Все показатели:

pechat 9

То внизу будет строка, где будут рассчитаны все показатели для выделенных ячеек:

pechat 10

Печать комплекта

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

pechat 11

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

pechat 12

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

pechat 13

Редактирование макетов печатных форм

pechat 14

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

pechat 15

По кнопке изменить можно отредактировать макет. Например, добавим в счет на оплату надпись «Внимание! Изменились реквизиты оплаты!»:

pechat 16

Сохраним макет. Теперь при печати счета на оплату будет печататься измененный макет:

pechat 18

В списке всех макетов есть специальные кнопки для переключения использования стандартного или измененного макета:

pechat 19

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

В конфигураторе

Новая команда печати в существующем документе

На примере документа СчетНаОплатуКлиенту.

Источник

Как программно сохранить печатную форму документа в Excel

Вот текст самой обработки

Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура,
| Номенклатура.ОсновноеИзображение,
| Номенклатура.ОсновноеИзображение.Хранилище,
| Номенклатура.ДополнительноеОписаниеНоменклатуры,
| Номенклатура.Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка В ИЕРАРХИИ(&Номенклатура)
| И Номенклатура.ЭтоГруппа = ЛОЖЬ»;

ТабДок = ДокументРезультат;
ТабДок.Очистить();
ТабДок.НачатьАвтогруппировкуСтрок();

ОбластьМакетаНоменклатура = Макет.ПолучитьОбласть(«ОбластьНоменклатура»);
ОбластьМакетаРисунокОписание = Макет.ПолучитьОбласть(«ОбластьРисунокОписание»);
ОбластьМакетаБезРисункаОписание = Макет.ПолучитьОбласть(«ОбластьРисунокОписание»);

Пока Выборка.Следующий() Цикл
Если НЕ Выборка.ОсновноеИзображениеХранилище = Неопределено И НЕ Выборка.ОсновноеИзображениеХранилище = NULL Тогда
Изображение = Выборка.ОсновноеИзображениеХранилище.Получить();
ОбластьМакетаРисунокОписание.Рисунки.ОснИзображение.Картинка = Изображение;
ОбластьМакетаНоменклатура.Параметры.Номенклатура = Выборка.Номенклатура;
ОбластьМакетаРисунокОписание.Параметры.Описание = Выборка.ДополнительноеОписаниеНоменклатуры;
ТабДок.Вывести(ОбластьМакетаНоменклатура,1,,Истина);
ТабДок.Вывести(ОбластьМакетаРисунокОписание,2,,Ложь);
Иначе
ОбластьМакетаНоменклатура.Параметры.Номенклатура = Выборка.Номенклатура;
ТабДок.Вывести(ОбластьМакетаНоменклатура,1,,Истина);
ТабДок.Вывести(ОбластьМакетаБезРисункаОписание,2,,Ложь);
КонецЕсли;
КонецЦикла;

Источник

Сохранение печатной формы документа в файл

Приведенные в статье примеры моделировались в конфигурации « Управление торговым предприятием для Украины » (редакция 1.2). Методика, описанная в статье, актуальна для конфигураций « Бухгалтерия для Украины » (редакция 1.2) и « Управление производственным предприятием для Украины » (редакция 1.3).

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

Пример

ООО «Добро» оказывает услугу покупателю ООО «Визио». По договоренности сторон, счет на оплату покупателю организация направляет по электронной почте.

Предварительные действия

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

Для отправки документа по электронной почте можно воспользоваться кнопкой «Отправить по e-mail». В появившемся окне настройки отправки печатной формы нужно указать форматы файлов-вложений и текста сообщения (Рис. 2).

Предварительно необходимо организовать доступ к Интернет для отправки сообщений, в справочнике «Учетные записи электронной почты» должны быть зарегистрированы необходимые учетные записи.

Более подробно с настройками электронной почты можно ознакомиться в статье «Получение и отправка писем с помощью встроенной электронной почты».

ВАЖНО.
Отправлять документы по электронной почте с помощью кнопки «Отправить по e-mail» можно только из встроенного почтового клиента.

Использование встроенного почтового клиента устанавливается с помощью константы «Использование встроенного почтового клиента».

Для сохранения печатной формы документа в файл необходимо нажать кнопку «image005» («Сохранить») или выбрать пункт «Сохранить как. » в меню «Файл» (Рис. 3).

При нажатии кнопки или выборе пункта меню «Сохранить копию. » будет открыта стандартная форма сохранения файла, используемая в Windows, в которой нужно указать каталог, имя и тип сохраняемого файла (Рис. 4).

Обратить внимание!
В конфигурациях «Управление торговым предприятием для Украины» и «Управление производственным предприятием для Украины» возможность сохранения печатных форм в файл доступна только тем пользователям, для которых в «Настройках дополнительных прав пользователей» в группе «Документы» установлено право «Редактирование таблиц» (Рис. 5).

Выбор типа файла

Печатную форму можно сохранить в файлы различных типов. Для выбора типа файла в форме предназначено поле «Тип файла (Save as type)». От типа файла зависит, каким образом будут учтены особенности оформления табличного документа, а также какие программы могут быть использованы для его просмотра и корректировки.

Ниже описаны три типа файлов, наиболее подходящих для сохранения табличных документов.

1. Табличный документ

2. Лист Excel

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

3. Документ HTML

В виде документов HTML «*.htm» обычно оформляются страницы сайтов в Интернете. Любой документ HTML можно просмотреть при помощи обозревателя Интернета, например Internet Explorer (Рис. 8). Многие программы, например Microsoft Word, позволяют редактировать документы HTML.

ВАЖНО.
При сохранении табличного документа не рекомендуется использовать тип файла Документ HTML3. Это устаревший тип файла, используемый в редких случаях, преимущественно для совместимости со старыми версиями обозревателей Интернета. Сохраненные с использованием этого типа файла табличные документы могут при открытии отображаться некорректно.

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

Другие материалы по теме:

Нас находят: 1с 8 2 не сохраняет в word, 1с сохранение печатной формы программно, 1с печатная форма пишется не полностью в файл pdf, как сделать дополнительную команду для сохранения печатной формы в Word 1с 8 3, сохранение печатной формы 1с, 1c 8 2 сохранение в pdf по ширине страницы, 1с розница 2 2 право на сохранение печатной формы, название организации в имени файла при сохранении в 1с 8 3, при сохранении табличного документа в word из 1с изменился формат, нет кнопки сохранить в файл на печатной форме 1с документооборот

Источник

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

6a1506cbd5d99fc71939873fb5189b17 close

Сохранение печатной формы в Excel

Обработка позволяет очень быстро (в 10-15 раз быстрее стандартной 1С ) сохранить открытую печатную форму в Excel. Средствами йокселя. документацию можно брать с http://yoksel.net.ru.

Для работы обработки необходимы компоненты SpreadSheet.dll и formex.dll. (Имеются в архиве)

Можно добавить кнопку на панель что то типа «сохранить в EXcel».

(на авторство не претендую)

Для ее использование неободимо:

1. скопировать компоненты в каталог базы.

2. сформировать любой отчет

3. Запустить обработку и указать имя сохраненного файла.

Похожие разработки //expert.chistov.pro/public/148582/

Скачать файлы

Специальные предложения

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

Ладно бы, выложить переделанный и модернизированный вариант.
И сообщить об этом в описалове.

Обновление 13.02.14 17:47

Код открыт Не указано

0251ebf8d5f86652099c2e1fe0a52d17

См. также

Универсальная загрузка данных : Прыг-Скок. или из MS EXCEL в 1С (7.7) или как «забить товар» Промо

19.04.2010 59411 1740 Tatitutu 97

Сводная таблица Excel из 1С

30.07.2021 1354 0 atdonya 0

Выгрузка товаров из 1С:Предприятия 7.7 «Торговля и Склад 9.2» в файл CSV для онлайн кассы МТС

Данная обработка предназначена для выгрузки файла из программы 1С: Предприятие 7.7 Конфигурации «Торговля и Склад 9.2» в файл CSV для загрузки в кассу МТС. Тестирование проводилось на релизах 937 и 998. В теории должна работать на всех типовых релизах конфигурации «Торговля и Склад 9.2».

07.02.2021 3199 1 Kuzya_brаtsk 1

Выгрузка товаров из 7.7 для загрузки в личный кабинет АТОЛ для ньюджеров 91Ф, 92Ф и подобных

Выполняет выгрузку товаров (всех, только с признаком в прайсе, только из указанной папочки) с гибкой настройкой выгружаемых данных. Формируется файл в формате XLSX подходящий для прямой удаленной загрузки в кассовый аппарат АТОЛ 91Ф/92Ф и им подобных, имеющих управление через Личный кабинет АТОЛ (lk.atol.ru).

Универсальная загрузку данных из Microsoft Office Excel загрузку из любых по форме документов с очень удобным редактором. Данная обработка загружает почти все в конфигурацию «Торговля и Склад» с возможность «откатить» до первоначального вида.

22.03.2011 41021 479 Tatitutu 39

Список сотрудников для Госуслуг для оформления электронных пропусков от работодателя для конфигураций 1С 7.7

Отчет формирует csv файл в кодировке UTF-8 для загрузки работодателем на портал Госуслуг из конфигураций 1С 7.7.

30.04.2020 5337 2 Pin 0

Загрузка данных из файла XLS в Штрих-М Торговое предприятие 4.17.01

Заполнение справочника номенклатуры и документа приходной накладной. Будет полезно для товароведов или менеджеров.

20.02.2020 6272 0 Ignatov_mu 1

Дополнение реквизитов номенклатуры из Эксель в 7.7. Групповое редактирование реквизитов номенклатуры 7.7 в списке

11.10.2019 7769 2 ksnik 2

Загрузка поступлений из Excel Промо

Обработка для загрузки документов поступлений из накладных в формате Excel.

19.12.2012 33378 191 @lexandr 11

Оптовая торговля. Обработки дистрибьютора для обмена с поставщиками и покупателями через Excel в 1С 7.7

В данной публикации приведены примеры обработок обмена дистрибьютора с поставщиками и покупателями через Эксель. Создание товаров-новинок. Автоматическое формирование Заказа поставщику по продажам. Заполнение бланка заказа поставщику. Загрузка приходной накладной от поставщика. Загрузка любых справочников из Эксель, например товарных сертификатов. Выгрузка прайслиста в бланк заказа (создание бланка заказа). Загрузка заявки покупателя из произвольного файла Эксель. Загрузка заявки покупателя из бланка заказа.. Для работы требуется установленный MS Excel.

08.09.2019 11002 8 ksnik 2

Загрузка адресов произвольного формата (КЛАДР и нестандартных «грязных» адресов) в ФИАС современных конфигураций из 1С 7.7

16.08.2019 12522 10 ksnik 12

Описание практического опыта переноса данных из двух устаревших учетных систем в одну современную с обобщением справочников (например номенклатуры, контрагентов, партнеров) и объединением учетных данных устаревших систем в единую новую УС применяя комбинацию стандартной загрузки из Эксель и КД2. Данная публикация является примером переноса данных из сильно устаревших и сильно переписанных конфигураций 1С:Предприятия 7.7 и 8 в современную 1С 8.3 своими силами при условии невозможности или нежелания пользоваться обновлением релизов и типовой функциональностью универсального обмена данными типовых мастеров переноса данных. Отличительной особенностью публикации является устранение зависимости от версий релиза конфигураций, отказ от обновлений устаревших конфигураций.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с сохранить значения реквизитов формы программно
  • 1с сохранить данные формы