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

09.04.09

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

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

Скачать исходный код

Наименование Файл Версия Размер
Процедура для добавления в Глобальный модуль 1С
.1228827140 6,87Kb
214
.1228827140 6,87Kb 214 Скачать

Одна из самых лучших систем отчетов Новейший Отчет 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);

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

 

См. также

Загрузка банковской выписки для 1С 7.7 любой конфигурации

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

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

3588 руб.

29.07.2021    20854    13    22    

14

Клиент HTTP(S): внешняя компонента для 1С 7.7

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

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

1 стартмани

14.11.2019    18265    90    mdbruyfn    82    

15

Получение характеристик и управление текущим процессом 1С на основе WMI

Универсальные функции Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Бесплатно (free)

Функционал для работы из 1С с текущим процессом класса Win32_Process. Пример получает текущее значение ОЗУ занятое процессом 1С. По описанной методике можно получать значения пиковых нагрузок на ОЗУ, время запуска текущей сессии 1С с точностью до миллисекунд. Определять загрузку активного ядра процессом и даже поменять приоритет самого процесса.

09.07.2012    22937    dusha0020    8    

40

Универсальная загрузка табличных частей для 7.7 (из Excel)

Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Универсальная загрузка табличных частей из табличных документов Excel для 1С 7.7

1 стартмани

15.05.2012    36376    409    sanches2    27    

30

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

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 1С:Комплексная 7.7 1С:Производство+Услуги+Бухгалтерия 1С:Бухгалтерия для бюджетных учреждений 7.7 Абонемент ($m)

На основании публикации Tatitutu (http://infostart.ru/public/69253/) сделана попытка получить работающую загрузку экселевских счетов-фактур только для двух документов: "Поступление материалов" и "Поступление товаров".

1 стартмани

06.03.2012    25165    106    jack19    7    

14

OLAP - это просто!

Загрузка и выгрузка в Excel Анализ учета Оперативный учет 7.7 Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Бухгалтерский учет Абонемент ($m)

Методика простого OLAP-подобного анализа данных в сводных таблицах Excel.

1 стартмани

14.02.2012    35971    47    fixin    12    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. АЛьФ 09.12.08 16:36 Сейчас в теме
2. support 4485 09.12.08 16:42 Сейчас в теме
Вот это новость, неожиданно!
Прикольно!
3. JohnyDeath 301 09.12.08 17:12 Сейчас в теме
(1,2) Даёшь полные версии Новейшего отчета Ужасту и Djelf!
4. CheBurator 3119 09.12.08 17:38 Сейчас в теме
5. support 4485 09.12.08 18:01 Сейчас в теме
Djelf полная версия есть?
6. Djelf 253 09.12.08 18:18 Сейчас в теме
Есть, спасибо. Я про "Таб" иначе наверное не догадался бы ;)
7. alexandrlevitsky 11.12.08 18:34 Сейчас в теме
Полезная вещица.
Только просьба быть более толерантным к пользователям, которые ищут выгрузку в Excel, а не "Йоксель". Ну это так, вредничаю))
8. Djelf 253 11.12.08 22:12 Сейчас в теме
Да нет, все логично, Йоксель действительно пока еще не настолько популярен, чтоб его каждый знал. Добавил в заголовок "(Excel)" ;)
9. serpent 67 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
Сообщение было скрыто модератором.
...
Оставьте свое сообщение