Переход на Йоксель за 1 минуту (сверхскоростные группировки по строкам в Йоксель и мгновенная выгрузка в Excel)
Разработка - Разработка внешних компонент
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
| Наименование | Скачано | Бесплатно |
|---|---|---|
|
Обработка на кнопку (15/02/2009)
.1234052044 11,51Kb
882
|
882 | Скачать бесплатно |
|
Все в компекте (15/02/2009)
.1234368745 1,26Mb
664
|
664 | Скачать бесплатно |
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Обработка не требует изменения конфигурации 1С! Нужно всего лишь добавить одну кнопку в интерфейс.
Обработка подходит ко все стандартным отчетам 1С, возможно она не подойдет к Вашим отчетам с "хитрым" оформлением (например отчеты со сдвигом группировок вправо по колонкам пока не поддерживаются).
Распознаются и могут быть сгруппированы по строкам файлы, созданные Новейшим Отчетом 7.7, причем кросс-таблицы группируются еще и по колонкам!
Обработка для работы требует, как минимум, 2 внешних компоненты FormEx и Йоксель. Внешние компоненты в комплект с обработкой не вложены. ВК 1С++ желательна, но не обязательна для использования.
ВК Йоксель должна быть не ниже версии 01.01.04 (самые последние версии компоненты доступны на странице: http://yoksel.net.ru/Hotfixes). ВК FormEx версии 2.0.5.93 от 27.10.2008г, (возможно будет работать и с более ранними версиями).
Изменения:
Добавлен еще один вариант "Все в комплекте" - урезанный по функциям комплект, но включающий обработку+необходимые ВК. Преимущество перед обычной обработкой - никаких изменений в конфигурации не требуется. Для использования нужно всего 1 раз запустить обработку "Перегрузка" из "Пуск/Открыть". Где находятся файлы из комплекта поставки значения не имеет (лишь бы в одном каталоге). Перегрузка в Йоксель (после запуска обработки) будет возможна после одновременного нажатия Ctrl+Й (Й конечно это Йоксель) на активной таблице (за возможность работы в таком режиме скажите дополнительное спасибо АЛьФу за ВК formex).
15/02/09 перехватчики мыши и клавиатуры отключаются в том случае если formex грузится из обработки (актуально для терминального режима). В варианте "Все в комплекте" отключается только перехватчик мыши, т.к. через перехватчик клавиатуры работает Ctrl+Й.
Установка:
- Скопируйте FormEx.dll (FormEx) и SpreadSheet.dll (Йоксель, Yoksel) в каталог с программными файлами 1С (обычно, в каталог C:/Program Files/1Cv77/BIN), также возможно их поместить непосредственно в каталог информационной базы.
- Скопируйте (из архива поставки) ПерегрузкаВЙоксель.ert в КаталогИБ/ExtForms.
- В "Конфигураторе" добавьте на панель инструментов кнопку следующего вида:
- Объект: "Отчеты".
- Команда: "Отчеты.ОткрытьВнешний".
- Подсказка и короткая подсказка: "Выгрузка в Йоксель"
- Параметры: Укажите путь к файлу
Использование:
Установите фокус на таблицу 1С, нажмите на созданную в Конфигураторе кнопку, появится меню содержащее пункты: "С группировкой, Без группировки, Настройка".
Пункт меню "Без группировки" просто перегрузит вашу таблицу в Йоксель, не производя дополнительных действий.
Пункт меню "С группировкой" перегрузит таблицу в Йоксель и сгруппирует таблицу для более удобной работы. При сохранении в Excel все группировки останутся! Если отчет отсутствует в списке настроек, эта строка в меню не появляется.
Пункт меню "Настройка" позволит включить замер времени, затрачиваемого на перегрузку таблицы, разрешить закрытие исходной таблицы после перегрузки в Йоксель, удаление строк с кнопками "Настройка" и "Расшифровка" и произвести настройки отчетов для группировок.
Настройки отчетов очень просты. Это заголовок таблицы (как он виден в 1С), отступы сверху и снизу (сверху шапка, снизу итого). В анализе формата выставляются возможные варианты изменения строк в отчете (чем меньше вариантов, тем быстрее). Обычно требуется установить в анализе "ЦветФона" и "Полужирный" и попробовать установить разные отступы, обычно в пределах 7-10 сверху и 0-2 снизу.
Файлы Новейшего Отчета 7.7 дополнительных настроек не требуют.
Некоторые замечания:
Преимущества Йоксель читайте по ссылкам: http://www.infostart.ru/profile/22035/projects/1753, http://yoksel.net.ru/HomePage
При тестировании скорости обработки оказалось, что подключение внешней компоненты 1С++ (даже без использования ее возможностей) ускоряет перегрузку в Йоксель почти в 2 раза. Поэтому обработка пытается загрузить 1C++, хотя для своей работы ее не требует и ругаться на ее отсутствие тоже не будет.
Скорость работы обработки (включая перегрузку в Йоксель) без подключения 1С++ ~12c на 60к строк (mxl 48Mb) и ~7c c 1С++ на Athlon64 3200+. Мелкие отчеты почти мгновенно: 2000 строк ~0.2c
Настройки "по умолчанию" зашиты в внутрь обработки и тестировались на ТиС, ПУБ и Комплексной конфигурациях. Корректно обрабатываются группировки 18 отчетов: Анализ продаж, Ведомость по банку, Ведомость по кассе, Ведомость по комиссионерам, Ведомость по комитентам, Ведомость по контрагентам, Ведомость по остаткам ТМЦ, Ведомость по подотчетникам, График платежей, Заказы поставщикам, Заявки покупателей, Оплата заявок, Остатки ТМЦ, Отчет по клиентам, Отчет по продажам ТМЦ, Отчет по проектам, Ведомость по партиям ТМЦ, Резервы ТМЦ. Настройка группировки любого другого отчета сделанного аналогичным образом добавляется через настройки.
Определение группировок базируется на рамках ячеек сверху/снизу, т.е. если в отчете рамки убраны (в стандартных отчетах они есть всегда), обработка будет работать непредсказуемо.
Удаление строк "Настройка" и "Расшифровка" проверяет наличие серого фона на строках и, если он есть (если его нет, это печатная форма документа), удаляет 2 строки сверху отчета.
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Разработка внешних компонент Системный администратор Разработчик 1С:Предприятие 7.7 1С:Предприятие 8 Россия Платные (руб)
Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.
7320 руб.
19.04.2023 7316 1 0
Работа с интерфейсом Логистика, склад и ТМЦ Системный администратор Разработчик Пользователь 1С:Предприятие 7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)
Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".
2541 руб.
18.10.2022 8954 4 45
Разработка внешних компонент WEB-интеграция Разработчик 1С:Предприятие 7.7 1C77 Платные (руб)
Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async можно наладить обмен данными между удаленными информационными базами по протоколам HTTP, HTTPS и WebSocket. С помощью компоненты HttpSrv7 используя протокол WebSocket можно создавать и поддерживать работу нескольких чатов. С помощью компоненты HTTP_Async можно асинхронно отправлять HTTP-запросы к сайтам, веб-сервисам (в т.ч. к HTTPSrv7) и обрабатывать ответы по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи в формате Base64 и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.
6100 руб.
27.05.2022 13638 2 20
Разработка внешних компонент Разработчик 1С:Предприятие 7.7 Платные (руб)
Компонента для выбора значения из больших списков значений.
5084 руб.
02.12.2021 8341 3 19
Банковские операции Загрузка и выгрузка в Excel Бухгалтер Пользователь 1С:Предприятие 7.7 1C77 Россия Бухгалтерский учет Платные (руб)
Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.
5999 руб.
29.07.2021 28853 23 27
Разработка внешних компонент WEB-интеграция Разработчик 1С:Предприятие 7.7 Абонемент ($m)
Компонента позволяет использовать различные веб-сервисы интернет-ресурсов, например работать с онлайн-кассой через API, предоставленное ее разработчиком. Тестировалась на платформе 1С релиза 7.70.027.
1 стартмани
14.11.2019 24669 138 mdbruyfn 110
Разработка внешних компонент Загрузка и выгрузка в Excel Разработчик 1С:Предприятие 7.7 1C77 Абонемент ($m)
Внешняя компонента 1С 7.7. для сохранения таблиц в формате Excel 2007.
1 стартмани
21.03.2019 35403 88 MadDAD 347
Разработка внешних компонент Разработчик 1С:Предприятие 7.7 1C77 Россия Бесплатно (free)
Обновленная версия внешней компоненты для работы с базами данных SQLite и прямыми запросы в ДБФ-базах 1С.
07.11.2016 36291 117 Djelf 43
А остальные скорее всего просто боятся делать что-то новое и "тем более с ВК" (ИМХО)
А вообще Йоксель - великая вещь. И плюс, автоматом за любую попытка популяризации Йокселя.
А по поводу (6), этот набор компонент - обязательный джентельменский набор для доработки любой конфы.
Какой wine (стандартный или от etersoft), какой сам сервер терминалов (rdp, vnc, nx), 1С77, очевидно, в файловом режиме? (ну и еще горстка вопросов :) )
Года полтора назад пробовал сделать такое(без wine от etersoft) - получалось очень уныло.
З.Ы. Тестовую версию etersoft дает бесплатно. Обсуждение этого хозяйства тут:
Так же и с Йоксель, вроде бы и нужная, но ... работает - не трогай.
Вариант подключения ВК вхолостую на тестирование поддерживаю обоими руками. Сам все используемые ВК подключал в холостом режиме на недельку. С этим тормозом formex`а знаком (у самого терминал все таки), плохо что в документации об этом ни слова. Наверное все терминальщики нарываются.
Спасибо, кстати, за напоминание, обработки обновил.
Обновление: перехватчики мыши и клавиатуры отключаются в том случае если formex грузится из обработки.
имхо следует рассмотреть вопрос "ликвидации" секции Кнопки при переносе в йоксель... потому как "обновить" и "настройка" вроде как после переноса в йоксель не работают...
Я считаю, что применять ВК надо там где без него не обойтись, а всякие "рюшечки" делать на ВК - не стоит
Тут не только сохранение, а еще и перегрузка. В этом и разница. "Рюшечка" Йоксель позволяет после группировки работать с таблицей не выходя из 1С в сотни и тысячи раз быстрее, чем аналогичная обработка группировок на на "чистой" 1С.
Public Sub GroupRangeInCol(SheetName As String, NumCol As Integer, RowStart As Integer, MaxLevel As Integer)
' процедура групирует строки по значению ячейки в колонки NumCol
' значение должно иметь вид: "Стр1/Стр2/Стр3/" разделитель "/" разделяет уровни
' а значения Стр - сами группы
'
' NumCol - номер колонки с ключами
' Key - Текущий ключ
' RowStart - строка начала анализа
' MaxLevel - количество развернутых уровней групп
Dim RowStart2 As Integer
Dim R
Dim n As Integer
Dim n1 As Integer
Dim Key As String
Dim Key2 As String
Dim fl As Boolean
Dim CountFl As Integer
' коллекция ключей
Dim TabR As New Collection
'Exit Sub
On Error GoTo ErrorHandler
' заполним коллекцию различными ключами
For n = RowStart To Application.Worksheets(SheetName).Cells.SpecialCells(11).Row
Key = Strings.Trim(CStr(Application.Worksheets(SheetName).Cells(n, NumCol).Value))
' заодно формат числовой поставим (потом надо переделать через параметр)
Application.Worksheets(SheetName).Cells(n, 5).NumberFormat = "#,##0.00"
If Key <> "" Then
' другой уровень может надо заносить
fl = True
For n1 = 1 To TabR.Count
If TabR.Item(n1) = Key Then
fl = False
End If
Next n1
If fl Then
TabR.Add (Key)
End If
End If
Next n
' теперь идем по ключам и для каждого ищем диапазон
For n1 = 1 To TabR.Count
Key = TabR.Item(n1)
CountFl = 0
RowStart2 = 0
fl = True ' флаг показывает, что надо начинать новый диапазон
For n = RowStart To Application.Worksheets(SheetName).Cells.SpecialCells(11).Row
Key2 = Strings.Trim(CStr(Application.Worksheets(SheetName).Cells(n, NumCol).Value))
If Key2 = Key Then
CountFl = CountFl + 1
End If
If Strings.Left(Key2, Strings.Len(Key)) = Key Then
'данную строку включаем в диапазон
If fl Then
RowStart2 = n
fl = False
End If
Else
'If (RowStart2 < (n - 1)) And (RowStart2 > 0) And (CountFl > 1) Then
If (RowStart2 < n) And (RowStart2 > 0) And (CountFl > 0) Then
' групируем
Set R = Application.Worksheets(SheetName).Range(RowStart2 & ":" & (n - 1))
R.Group
End If
fl = True
CountFl = 0
End If
Next n
If (RowStart2 < (n - 1)) And (RowStart2 > 0) And (Not fl) Then
' групируем
Set R = Application.Worksheets(SheetName).Range(RowStart2 & ":" & (n - 1))
R.Group
End If
Next n1
' очищаем колонку
For n = RowStart To Application.Worksheets(SheetName).Cells.SpecialCells(11).Row
Application.Worksheets(SheetName).Cells(n, NumCol).Value = ""
Next n
With Application.Worksheets(SheetName).Outline
.SummaryRow = Excel.XlSummaryRow.xlSummaryAbove
.AutomaticStyles = False
.ShowLevels RowLevels:=MaxLevel
End With
Exit Sub
ErrorHandler:
End Sub
В этом случае, если переменная есть, то в переменной "Результат" будет "Строка". Можно и без ТипЗначенияСтр - проверять само значение.
Вылет 1С скорее всего происходит из-за Formex.Сервис.УдалитьГлобальныйМодуль - я уже на это наступал. Если просто добавить ГМ, то еще ничего. А если пытаться удалять, то :( Поэтому, если перейти на шаблон, то и вылеты, скорее всего, прекратятся. У меня прекратились.
ЗагрузитьВнешнююКомпоненту("FormEx.dll")
Тогда 1С ищет ВК только в КаталогИБ() и КаталогПрограммы().
У Чебурашки пути прописаны более жестко:
ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "FormEx.dll")
ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "ExtForms\" + "FormEx.dll")
ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "FormEx.dll")
(40) Если обработка Чебурашки работает, а моя нет, подозреваю что FormEx.dll грузится из ExtForms, а в BIN лежит какой-то не такой formex. Попробуйте поменять в коде загрузку на 2й его вариант (ну может 1й или 3й, хотя это странно).
"Известные ошибки текущего релиза компоненты.
* Критическая ошибка при попытке установить цвет шрифта или фона для некоторых типов атрибутов формы"
(44) 1.1.18.0 всегда стараюсь пробовать на последних версиях софта. 1срр тоже последняя. и формекс.
я так понял что Yoksel.dll это COM-сервер, а SpreadSheet.dll - компонента под 7.7
путают названия, почему Йоксель компонента а называется SpreadSheet.dll?
логичнее вроде было бы Yoksel.dll и YokselCOM.dll
Пришлось подшаманить немного, чтобы искала в таблице настроек не по совпадению заголовка отчета а по частичному вхождению - потому как часто в заголовке отчета есть "переменная" часть...
Автору +
В Йокселе повторения строк при печати нет, в обработке отступ снизу должен, насколько я помню (спустя 3 года), отсекать итог из списка возможных строк для группировки.
Почему на НЕКОТОРЫХ даже не представляю - должно быть либо на всех, либо отступ снизу как-то отличается (если обработка не в сетевой папке), но все равно дублирование строки... ну такого я точно в обработке не делал...
Обработка же делает все достаточно тупо: удаляет несколько строк сверху, отступает чуток вниз для пропуска заголовка, бежит по строкам до конца таблицы -количество строк итога. Потом это дело группирует...
В архиве лежит 4 Print Screen-а 2 с моего компьютера, и 2 с другого.
На картинке с индексом 1 отчет, свернутый при помощи Вашей обработки. Он маленький - с запасом помещается на страницу. А на второй - то что показывает предварительный просмотр печати. В одном случае там одна стр. и больше ничего нету. В другом - та самая повторяющаяся строка, отдельно на следующем листе. Все версии одинаковы, все параметры тоже. Чем вызвано такое явление и какие закономерности, у меня варианты кончились :(
НаборСвойств=Документ.ДополнительныеСвойства;
{E:\БАЗЫ\2010\EXTFORMS\ПЕРЕГРУЗКАВЙОКСЕЛЬ.ERT(184)}: Поле агрегатного объекта не обнаружено (ДополнительныеСвойства)
Как это можно исправить?
Formex и Йоксель взяты последних версий.
Семерошники вообще народ грустный и занятой - сидят и программят, программят и сидят :))
То ли дело студенты со Снежком - какие полеты необоснованных фантазий, какие бездны незнания!
Прям слов не хватает ... :)
1. В папку с установленной 1С 7.7 (у меня "c:\Program Files (x86)\1Cv77\BIN\") положил файлы (FormEx.dll, FormEx.als, SpreadSheet.dll)
2. В папку "КаталогИБ/ExtForms" скопировал обработку "ПерегрузкаВЙоксель.ert"
3. Самое сложное. Панель инструментов это не та панель, которая вызывается правой кнопкой мыши (Сервис - Панели инструментов...).
Тут нужно открыть конфигурацию. Перейти на вкладку интерфейсы и в каждом интерфейсе делать кнопку.
Начинаем редактировать интерфейс и там уже есть меню "Панели инструментов". Далее там есть "Состав панели", где добавляется кнопка. Иконку можно поменять перетащив ее на кнопку.
Остальное по инструкции. Единственное когда автор писал "Параметры: Укажите путь к файлу", он имел в виду не текст туда написать, а нажать кнопку выбора файла и указать полный путь к обработке "ПерегрузкаВЙоксель.ert", затем можно согласиться, чтобы путь был относительным от базы, чтобы копирование ее в другое место не приводило к ошибке.
Все получилось заняло минут 15 наверное.
Единственное не удобство постоянно выскакивает меню настроек. Я так понимаю это надо допиливать, чтобы какое-то значение по умолчанию было.
Подключил выгрузку. Все хорошо, но например когда много позицийи в таблице с картинками то при выгрузке в Yoksel выдает Catastrophic Failure и 1С перестает реагировать на что-либо. Можно убить только через панель задач. В моем примере 350 позиций с фотками товаров. Никогда с таким не сталкивались?
В целом получается хороший вариант, т.к. любые другие выгрузки в Excel не дают нормально расположить картинки.
.
чтобы сделать такие красивые свертки - придется свертку прямо в код вставлять...
упрощенный варинт универсальной свертки тоже норм выглядит, можно его использовать, так и сделал у себя в на форме отчета - выбор красиво/упрощенно
короче заел перфекционизм
По коду нигде не используется...
Какой замысел был?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 18989
Создание 08.02.09 03:14
Обновление 19.12.09 00:00
Просмотры 56699
Загрузки 1546
Рейтинг
87
Комментарии 88
Код открыт Не указано
Рубрики Загрузка и выгрузка в Excel Разработка внешних компонент Работа с интерфейсом
Кому Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа 1С:Предприятие 7.7
Конфигурация 1C77
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)