Процедура-плагин: Выгрузка в Йоксель для Новейшего отчета 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);

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

 

См. также

HTTP сервер 1С 7.7 + HTTP асинхронный клиент: внешние компоненты для 1С 7.7

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

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

2000 руб.

27.05.2022    7811    20    13    

31

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

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

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

3588 руб.

29.07.2021    20598    13    22    

14

Загрузка документов в 1С (7.7) из табличных файлов Excel,OpenOffice,1C,DBF,TXT (обработка)

Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Обработка решает поставленную задачу по вводу документов, а кроме того обладает важной функцией: настраивается на ассортимент конкретного поставщика, запоминая соответствие между его номенклатурой и «нашей». Т.е. фактически – является самообучающейся системой ввода накладных. У разных поставщиков могут быть накладные различного типа, с разным количеством полей, поэтому для каждого из них может быть сохранена своя собственная настройка диалоговой формы так, что любая поступающая накладная может быть обработана. По отношению к программе "1С:Предприятие 7.7" данное решение является внешними файлами. Для использования данного продукта не требуется вносить изменения в алгоритм существующих программ или используемых конфигураций.

2400 руб.

10.12.2009    76456    58    93    

68

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 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    4799    1    0    

3

Выбор из большого списка (для 1С 7.7)

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

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

1200 руб.

02.12.2021    5777    2    19    

4

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

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

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

1 стартмани

14.11.2019    18142    88    mdbruyfn    82    

15

Компонента для 1С, принимающая вес с железнодорожных, автомобильных, крановых весов

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

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

26400 руб.

09.04.2019    16062    2    8    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. АЛьФ 09.12.08 16:36 Сейчас в теме
2. support 4484 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 4484 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
Сообщение было скрыто модератором.
...
Оставьте свое сообщение