Процедура-плагин: Выгрузка в Йоксель для Новейшего отчета 7.7

09.04.09

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

Процедура дополняет Новейший отчет 7.7 с возможностью выгрузки созданного отчета в Йоксель (Excel) с группировками по строкам.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Процедура для добавления в Глобальный модуль 1С
.1228827140 6,87Kb
214
214 Скачать (1 SM) Купить за 1 850 руб.

Одна из самых лучших систем отчетов Новейший Отчет 7.7 не имеет возможности выгрузки в Йоксель, в результате этого, после сохранения отчета в Excel группировки теряются. Приведенная процедура исправляет это досадное упущение.

Работает и с Демо-версией и с Коммерческой версией Новейшего отчета (если у Вас полная версия Новейшего отчета процедуру можно добавить непосредственно в NR_Navigator.ert).

Для работы требует Внешниюю компоненту:  Йоксель. (домашняя страница автора: http://yoksel.net.ru).

Порядок внедрения: процедуру добавляем в Глобальный модуль 1С, во внешнюю обработку Новейшего отчета NR_Navigator.ert добавляем кнопку Йоксель с формулой глВыгрузитьНовейшийОтчетВЙоксель(Таб)

Обновление от 19/12/08: не определялись группировки в кросс-таблицах.


Процедура глВыгрузитьНовейшийОтчетВЙоксель(Таб) Экспорт
	Перем Документ;
Перем ТЗ;
Перем Область;

Попытка
Документ = СоздатьОбъект ("ТабличныйДокумент");
Исключение
Если ЗагрузитьВнешнююКомпоненту("SpreadSheet.dll")=0 Тогда
Сообщить("Не удалось загрузить ВК Йоксель! Выгрузка невозможна.");
Возврат;
Иначе
Документ = СоздатьОбъект ("ТабличныйДокумент");
КонецЕсли;
КонецПопытки;


Документ.ЗагрузитьИзТаблицы(Таб);

ТЗ=СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Уровень");
ТЗ.НоваяКолонка("Начало");
ТЗ.НоваяКолонка("Конец");

НачалоТаблицы=1;
ВысотаТаблицы=Документ.ВысотаТаблицы();

// Определяем начало группировок
Для СтрИнд=НачалоТаблицы По ВысотаТаблицы Цикл
Область=Документ.Область(СтрИнд,1);
Если Область.Текст="1" Тогда
НачалоТаблицы=СтрИнд;
Прервать;
КонецЕсли;
КонецЦикла;

Если НачалоТаблицы>1 Тогда
// Загоняем все начала группировок в ТЗ
Для СтрИнд=НачалоТаблицы По ВысотаТаблицы Цикл
Для КолИнд=2 По 8 Цикл
Область=Документ.Область(СтрИнд,КолИнд);
Если (Область.Текст="-") Тогда
ТЗ.НоваяСтрока();
ТЗ.Уровень = КолИнд-1;
ТЗ.Начало = СтрИнд;
ТЗ.Конец = 0;
Прервать;
ИначеЕсли ПустоеЗначение(Документ.Область(СтрИнд,КолИнд).Текст)=0 Тогда
Если ПустоеЗначение(Документ.Область(СтрИнд-1,КолИнд).Текст)=1 Тогда
Если ПустоеЗначение(Документ.Область(СтрИнд-1,КолИнд+1).Текст)=0 Тогда
ТЗ.Конец = СтрИнд-1;
Прервать;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если ПустоеЗначение(Документ.Область(СтрИнд,1).Текст)=1 Тогда
ТЗ.НоваяСтрока();
ТЗ.Уровень = 1;
ТЗ.Начало = СтрИнд;
ТЗ.Конец = 0;
Прервать;
КонецЕсли;
КонецЦикла;

// Определяем окончания группировок
КолВоСтрок=ТЗ.КоличествоСтрок();
Для инд1=1 По КолВоСтрок-1 Цикл
Уровень=ТЗ.ПолучитьЗначение(инд1,"Уровень");
Если ТЗ.ПолучитьЗначение(инд1,"Конец")=0 Тогда
Для инд2=(инд1+1) По КолВоСтрок Цикл
Если Уровень>=ТЗ.ПолучитьЗначение(инд2,"Уровень") Тогда
ТЗ.УстановитьЗначение(инд1,"Конец",ТЗ.ПолучитьЗначение(инд2,"Начало")-1);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ТЗ.УдалитьСтроку(КолВоСтрок);

// Устанавливаем группировки строк в Йокселе
ТЗ.ВыбратьСтроки ();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Документ.ДобавитьГруппуСтрок(ТЗ.Начало+1,ТЗ.Конец);
КонецЦикла;

// Свертка всех группировок Йоксель
Для инд = -Документ.КоличествоУровнейГруппировкиСтрок() По -1 Цикл
Документ.ПоказатьУровеньГруппировокСтрок (-инд);
КонецЦикла;

КонецЕсли;

// Без СокрЛП Йоксель не распознает цифры
Для инд1=1 По Документ.ВысотаТаблицы() Цикл
Для инд2=1 По Документ.ШиринаТаблицы() Цикл
Область=Документ.Область(инд1,инд2);
Область.Текст=СокрЛП(Область.Текст);
КонецЦикла;
КонецЦикла;

Документ.Область().Расшифровка(,2);

Фрейм=Документ.Показать(Документ.Область(1,2).Текст);
Фрейм.ОтображатьСтруктуру(1);
Фрейм.ОтображатьКнопкиУровней(1);

КонецПроцедуры

 

См. также

Банковские операции Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    23190    15    22    

16

Разработка внешних компонент Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    5328    1    0    

3

Разработка внешних компонент WEB-интеграция Программист Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно сначала послать несколько запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

2000 руб.

27.05.2022    9039    23    17    

34

Разработка внешних компонент Программист Платформа 1С v7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

1200 руб.

02.12.2021    6289    2    19    

4

Разработка внешних компонент WEB-интеграция Программист Платформа 1С v7.7 Абонемент ($m)

Компонента позволяет использовать различные веб-сервисы интернет-ресурсов, например работать с онлайн-кассой через API, предоставленное ее разработчиком. Тестировалась на платформе 1С релиза 7.70.027.

1 стартмани

14.11.2019    19441    108    mdbruyfn    105    

18

Разработка внешних компонент Программист Пользователь Платформа 1С v7.7 Платформа 1С v8.3 Транспорт, автопарки, такси Россия Платные (руб)

Программа "Компонента приёма веса для 1С, версия 3.0" позволяет принимать и заносить вес с весов непосредственно в программу "1С" - то есть, прием веса осуществляется целиком и полностью из программы "1С".

26400 руб.

09.04.2019    16553    2    8    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10975    malovandrey    7    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. АЛьФ 09.12.08 16:36 Сейчас в теме
2. support 4453 09.12.08 16:42 Сейчас в теме
Вот это новость, неожиданно!
Прикольно!
3. JohnyDeath 302 09.12.08 17:12 Сейчас в теме
(1,2) Даёшь полные версии Новейшего отчета Ужасту и Djelf!
4. CheBurator 2688 09.12.08 17:38 Сейчас в теме
5. support 4453 09.12.08 18:01 Сейчас в теме
Djelf полная версия есть?
6. Djelf 254 09.12.08 18:18 Сейчас в теме
Есть, спасибо. Я про "Таб" иначе наверное не догадался бы ;)
7. alexandrlevitsky 11.12.08 18:34 Сейчас в теме
Полезная вещица.
Только просьба быть более толерантным к пользователям, которые ищут выгрузку в Excel, а не "Йоксель". Ну это так, вредничаю))
8. Djelf 254 11.12.08 22:12 Сейчас в теме
Да нет, все логично, Йоксель действительно пока еще не настолько популярен, чтоб его каждый знал. Добавил в заголовок "(Excel)" ;)
9. serpent 69 15.12.08 11:49 Сейчас в теме
Спасибо...
Ждем внедрения в основную поставку.
10. astvit15 07.10.11 16:30 Сейчас в теме
11. пользователь 07.10.11 16:31
Сообщение было скрыто модератором.
...
12. пользователь 07.10.11 16:31
Сообщение было скрыто модератором.
...
13. пользователь 07.10.11 16:31
Сообщение было скрыто модератором.
...
14. пользователь 07.10.11 16:32
Сообщение было скрыто модератором.
...
15. пользователь 07.10.11 16:32
Сообщение было скрыто модератором.
...
16. пользователь 07.10.11 16:32
Сообщение было скрыто модератором.
...
17. пользователь 07.10.11 16:33
Сообщение было скрыто модератором.
...
18. пользователь 07.10.11 16:33
Сообщение было скрыто модератором.
...
19. пользователь 07.10.11 16:33
Сообщение было скрыто модератором.
...
20. ARTEM123456 05.03.12 08:25 Сейчас в теме
21. ARTEM123456 05.03.12 08:26 Сейчас в теме
22. пользователь 16.04.13 12:12
Сообщение было скрыто модератором.
...
Оставьте свое сообщение