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

02.12.16

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
1CExcelReport
.rar 24,59Kb ver:1.0.0.10
12
12 Скачать (1 SM) Купить за 1 850 руб.

Компонента 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 отчет печатная форма вывод

См. также

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 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С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

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

6000 5100 руб.

09.11.2016    234211    1062    898    

1003

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

Реальный помощник, с помощью которого Вы сделаете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, "Детский мир", МагнитЭкспресс (быв.Казань-Экспресс), "Леруа Мерлен", ЭНФАНТА (Акушерство), ЛаМода, Летуаль, "Твой дом", "Золотое Яблоко" в документы "Отчет комиссионера (агента) о продажах" и другие, работает в "Бухгалтерия 3", "Бухгалтерия 3 КОРП", УТ 11, УНФ, КА 2, ERP. Возможность подключить любые маркетплейсы. Анализ продаж ОЗОН. 30 дней БЕСПЛАТНОГО пользования!

2400 руб.

12.08.2021    35504    348    68    

155

SALE! 30%

Загрузка и выгрузка в 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С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    106991    313    173    

326

Загрузка и выгрузка в 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.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

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

15600 руб.

20.11.2015    156085    376    378    

513

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

Загрузка данных отчета о реализации и продаже товаров из сервиса Яндекс.Маркета «Беру» в 1С из Отчетов Excel для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3; Управление нашей фирмой, редакция 3.0 и Розница, редакция 3.0 в документ «Отчет комиссионера о продажах».

4800 руб.

09.12.2020    25348    252    1    

114

SALE! 15%

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

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

11100 9435 руб.

29.10.2014    216753    657    527    

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

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

	Экс.ВывестиСекцию("Отчет");
	
        Экс.СохранитьКак("d:\"+ИмяПользователя()+"\Отчет.xls");
        Экс.Показать();
Показать
2. Perfolenta 206 16.03.17 12:17 Сейчас в теме
Пример для восьмерки:
3. agdam_m 6 18.09.18 13:57 Сейчас в теме
А что из себя представляет данная компонента? Какой у нее API?
4. Perfolenta 206 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 206 19.09.18 15:17 Сейчас в теме
(3) кстати, только сейчас заметил, что в статье, в примере, есть ошибка...
там в поле Цена устанавливается формула, а не значение и должно быть:
не Экс.УстановитьЗначениеПеременной("Цена",Цена);
а Экс.УстановитьФормулуЯчейки(НомерСтроки, НомерКолонки, Цена);
где НомерСтроки, НомерКолонки надо посчитать при выводе....
6. acanta 19.09.18 21:34 Сейчас в теме
Макет можно сделать в 1с(mxl), или нужно создавать файл excel?
7. Perfolenta 206 20.09.18 14:44 Сейчас в теме
макет надо делать в Эксель, в этом и был смысл компоненты... в mxl нельзя создать формулы в ячейках... да и форматирование точно скопировать из mxl в эксель трудно, хотя последние версии 1с не плохо с этим справляются, но не все равно не на 100%... а сам макет эксель можно зашить в конфигурацию и копировать во временный файл перед использованием, в этом проблемы нет...
Оставьте свое сообщение