1С:ExcelReport - COM компонента для вывода в Excel в стиле 1С

02.12.16

Разработка - Разработка внешних компонент

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

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

Наименование Файл Версия Размер
1CExcelReport
.rar 24,59Kb
11
.rar 1.0.0.10 24,59Kb 11 Скачать

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

Писать сложный код по построению отчета через OLE Automation нудно, долго и не интересно. Программисты зачастую плохо знают объектную модель Excel т.к. это другая специализация и другой язык программирования (VBA). Поэтому приятней делать все на знакомом языке используя привычные приемы.

Используя данную компоненту программист может создавать отчет Excel почти так же, как он создает его средствами . Полностью исключается необходимость знать язык VBA. Более того, переделка отчета в отчет Excel практически не потребует переделки кода, всего-лишь небольшой доработки (это касается 1С версии 7.7, т.к. в версии 8 этот подход применяется редко из-за наличия СКД)...

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

Экс=СоздатьОбъект("rsa1CExtRep.ExcelAs1CReport");
Экс.ИсходнаяТаблица(КаталогИБ()+"ExtForms\ШаблонЭкономОтчетПоКиеву.xls", "Шаблон"); 
//Выводим ШАПКУ отчета
Экс.УстановитьЗначениеПеременной("Период",ПериодСтр(Дата1,Дата2));
Экс.ВывестиСекцию("Шапка");
БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1)=1 Цикл
    Наим=Строка(БИ.Субконто(1));
    Кво=БИ.ДО("К");
    Сумма=БИ.ДО("С");
    Цена="=RC[1]/RC[-1]";
    Экс.УстановитьЗначениеПеременной("Кво",Кво);
    Экс.УстановитьЗначениеПеременной("Сумма",Сумма);
    Экс.УстановитьЗначениеПеременной("Цена",Цена);
    Экс.УстановитьЗначениеПеременной("Наименование",Наим);
    //Выводим СТРОКУ отчета
    Экс.ВывестиСекцию("Строка");
КонецЦикла;
//Выводим ПОДВАЛ отчета
Экс.УстановитьЗначениеПеременной("Сумма",БИ.ДО("С"));
Экс.ВывестиСекцию("Подвал");
//Вызов выходного отчета в окно просмотра и редактирования.
Экс.СохранитьКак(ИмяФайлаВыгрузки);
Экс.Показать();

Поддерживается вывод и присоединение секций к таблице Excel, а из незнакомых методов только УстановитьЗначениеПеременной(ИмяПеременной,ЗначениеПеременной), что так же можно не комментировать, всем понятно без объяснений.

Небольшое пояснение к способу создания в Excel таблиц-шаблонов: Можно задать только прямоугольные блоки задавая имена областям таблицы. В этой версии не поддерживается синтаксис пересечения секций (например, "Строка|Наименование" и т.д.), но это компенсируется тем, что в Excel можно именовать любые области таблицы.

Пример приведен для 1С 7.7, но компонента прекрасно работает в версиях 8.2 и 8.3, проверено на практике. За несколько лет использования на разных версиях Windows, в том числе в терминальном режиме, а так же с разными версиями Excel, проблем не замечено.

компонента Excel отчет печатная форма вывод

См. также

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 14.05.2023, версия 9.4 - 9.8)

5988 руб.

20.11.2015    144453    338    366    

473

SALE! 35%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить". Программа сама находит таблицу в файле, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает товарные документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, накладную, заказ клиента и т.д.). Содержит модуль работы с электронной почтой. Для поиска таблиц используются новейшие методы OCR-нейросети. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д.

5400 4968 руб.

04.06.2019    95801    275    169    

286

SALE! 20%

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 4000 руб.

09.11.2016    208293    764    882    

918

Загрузка данных о продажах WildBerries из API Статистики и Отчетов в формате *.xlsx в документ "Отчет комиссионера"

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Платные (руб)

Обработки предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 1.6 - 3.0; Управление торговлей, редакция 10.3; Управление торговлей, редакция 11; Комплексная автоматизация 2; ERP Управление предприятием 2

3600 руб.

11.12.2019    50391    853    3    

162

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

9460 руб.

29.10.2014    203993    568    521    

404

Загрузка документов поступления в 1С из XML формата 820 (Контур.Диадок) для УТ10, УТ11, Бух3, КА2, КА2.5, УПП1.3 и обработка выгрузки УПД в Контур Диадок и СБИС для 1С:Бухгалтерии 3

ЭДО и ОФД Загрузка и выгрузка в Excel Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Кто получает документы через Контур.ДиаДок (XML файл формат 820) и набивает их вручную в 1С, тот наверняка хотел бы автоматизировать этот процесс. Поддержка конфигураций: Бухгалтерии 3, УПП 1.3, 1С:КА 2.4 и 1С:КА 2.5, УТ10, УТ11.4 и УТ11.5. Выгрузка XML в формате 820 для диадок из БУХ3

3600 руб.

11.02.2020    84774    259    155    

176

Загрузка данных по сотрудникам и физическим лицам из файла XLS (xlsx, mxl, ods) в ЗУП/ЗиКГУ редакция 3.1

Загрузка и выгрузка в Excel Зарплата Кадровый учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    61652    83    47    

88
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Perfolenta 203 16.03.17 12:17 Сейчас в теме
Пример для 1с 8:
Попытка
		Экс = ПолучитьCOMОбъект("", "rsa1CExtRep.ExcelAs1CReport");
	Исключение             
		Сообщить("Не получилось создать объект ""rsa1CExtRep.ExcelAs1CReport""!");
		Возврат;
	КонецПопытки;                                                                         
	Экс.ИсходнаяТаблица("d:\Шаблоны\Шаблон отчета.xls", "Лист1");

	Экс.УстановитьЗначениеПеременной("ИмяОтчета", "Отчет по затратам"); 

	Экс.ВывестиСекцию("Отчет");
	
        Экс.СохранитьКак("d:\"+ИмяПользователя()+"\Отчет.xls");
        Экс.Показать();
Показать
2. Perfolenta 203 16.03.17 12:17 Сейчас в теме
Пример для восьмерки:
3. agdam_m 6 18.09.18 13:57 Сейчас в теме
А что из себя представляет данная компонента? Какой у нее API?
4. Perfolenta 203 19.09.18 15:02 Сейчас в теме
(3) вы наверное имели ввиду не API, а технологию, на которой работает компонента? Технология COM, а точнее OLE Automation, написана на Vb 6. Написана давно и с тех пор постоянно мной применяется... пережила 7.7 и успешно живет на 8.3...
API компоненты это те методы и свойства, которые она предоставляет. Если вы все же имели ввиду API компоненты, то документации я не делал... API можно посмотреть в любом Object Browser, например, в Word или Excel.
В компоненте 2 класса:
ExcelAs1CReport - для создания отчета, как описано в статье
ExcelTo1CReader - для чтения данных из Excel по именам колонок, но этот класс можно считать устаревшим, т.к. технология чтения из Excel со времен 7.7 очень развилась и в 8.3 врядли у кого-то с этим проблемы... хотя эта компонента сама ищет заголовки колонок и в некоторых случаях может быть полезна, если пользователи присылают таблицы в которых заголовки все время в разных колонках и столбцах...

ExcelAs1CReport имеет следующие методы:
- Public Sub УстановитьФормулуЯчейки(Строка As Long, Колонка As Long, Формула As String)
- Public Sub ИсходнаяТаблица(ПутьКФайлуШаблонаТаблицы As String, ИмяТаблицы As String)
- Public Sub ВывестиСекцию(ИмяСекции As String, Optional ИзмШиринуКолонок As Long = 1, Optional ИзмВысотуСтрок As Long = 1)
- Public Sub ПрисоединитьСекцию(ИмяСекции As String, Optional ИзмШиринуКолонок As Long = 1)
- Public Sub НоваяСтраница()
- Public Sub Показать()
- Public Sub СохранитьКак(ПутьКФайлу As String)
- Public Sub УстановитьЗначениеПеременной(ИмяПеременной As String, Значение As Variant)
- Public Function ПоказатьОшибки() As String
- Public Function ЛистШаблона() As Object
- Public Function ЛистОтчета() As Object
- Public Function ТекущаяСтрока() As Long
- Public Function ТекущаяКолонка() As Long
- Public Function ТекущаяВысотаСекции() As Long

Если вам компонента действительно нужна, то спрашивайте, что не понятно, буду отвечать...
5. Perfolenta 203 19.09.18 15:17 Сейчас в теме
(3) кстати, только сейчас заметил, что в статье, в примере, есть ошибка...
там в поле Цена устанавливается формула, а не значение и должно быть:
не Экс.УстановитьЗначениеПеременной("Цена",Цена);
а Экс.УстановитьФормулуЯчейки(НомерСтроки, НомерКолонки, Цена);
где НомерСтроки, НомерКолонки надо посчитать при выводе....
6. acanta 19.09.18 21:34 Сейчас в теме
Макет можно сделать в 1с(mxl), или нужно создавать файл excel?
7. Perfolenta 203 20.09.18 14:44 Сейчас в теме
макет надо делать в Эксель, в этом и был смысл компоненты... в mxl нельзя создать формулы в ячейках... да и форматирование точно скопировать из mxl в эксель трудно, хотя последние версии 1с не плохо с этим справляются, но не все равно не на 100%... а сам макет эксель можно зашить в конфигурацию и копировать во временный файл перед использованием, в этом проблемы нет...
Оставьте свое сообщение