Переключение на Главную Страницу Страницы: [1] 2 3 ... 5 ОтправитьПечать
Очень популярная тема (более 25 ответов) MasterXL - параллельное формирование отчетов (число прочтений - 32199 )
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
MasterXL - параллельное формирование отчетов
18. Июня 2006 :: 11:47
Печать  
Данная разработка создана по просьбе пользователей сделать так, чтобы формирование отчета не блокировало работу  1С:Предприятиея.
Найденное решение использует объект 1C++ "MetaDataWork",  Excel и COM-сервер MasterXL ™.

Фрагмент из описания (в формате chm)
Цитата:
Какие преимущества дает использование MasterXL?

Если вы использовали Excel для вывода информации из 1С, то могли заметить следующие трудности, возникающие при этом:

1.чтобы добиться приемлемого результата, нужно хорошо понимать объектную модель Excel;
2.не все конструкции, получаемые при записи макросов, можно использовать в 1С;
3.досадное сообщение "Сервер занят" при длительных операциях (1С не любит ждать более двух минут);
4.зависание процессов в памяти, загадочные сообщения об ошибках и многое другое.

MasterXL решает эти проблемы и добавляет новые возможности:

1.создание таблиц (в том числе сводных) с нужным форматированием с помощью двух-трех операторов;
2.непосредственная выгрузка SQL-запросв в Excel без промежуточных таблиц значений, переборов в цикле и т.п. ;
3.1С остается незанятой(!) при формировании отчета, при этом можно поставить в очередь несколько отчетов и продолжать работать над документом, например;
4.отчет может извлекать данные не только из текущей базы, но и из произвольной.


v1.02 beta [от 20.06.2006 размер: 84 КБ]
http://www.masterxl.ru/files/MasterXL.zip

Список изменений:
20.06.06
[F] исправлена ошибка метода FormatColumns() (форматирование заголовков колонок) для Excel 2000
19.06.06
[+] добавлена возможность вывода общей суммы по простой таблице без промежуточных итогов (второй параметр метода Table( ,Режим, ) может принимать дополнительные значения '4' и '5' - см. документацию ALS)
« Последняя редакция: 20. Июня 2006 :: 15:56 - Snif »  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: MasterXL - параллельное формирование отчетов
Ответ #1 - 18. Июня 2006 :: 12:03
Печать  
Как интересно, сейчас не успеваю посмотреть, чуть позже.

2 вопроса:
бесплатность и стабильность - скажи что-нибудь, плз.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
Re: MasterXL - параллельное формирование отчетов
Ответ #2 - 18. Июня 2006 :: 12:24
Печать  
1.Бесплатность - бесплатная.
Устранение ошибок, общее развитие программы - бесплатное.
Возможна платная доработка под конкретный заказ Улыбка)
2. Стабильнось.
1С не заваливает, Excel в памяти не подвисает ни при каких обстоятельствах...  сама библиотека реализована в виде EXE-сервера, так что видна в процессах как отдельный процесс...  если какие ошибки-Excel все равно открывается, а в первой строке нового листа - описание ошибки..

Еще хотел добавить:
1. Excel очень "прожорливая" программа (похлеще 1С), поэтому MasterXL сразу устанавливает ей приоритет "Низкий". Пока мне так вроде больше нравится.
2. Пример№1 "Печать справочников" - универсальный. Обратите внимание: сколько галок на списке справочников вы поставите, столько заданий  будет отправлено в очередь , при этом в 1С можно работать дальше. (3-4 секундная паузы в начале работы объясняется запуском Excel при постановке в очередь первого задания).  Если попытаться закрыть отчет до выполнения всех заданий, то выскакивает окошко:
www.masterxl.ru/img/test.gif
с помощью которого можно очистить очередь, однако текущее задание останавливается не моментально.
« Последняя редакция: 18. Июня 2006 :: 13:24 - Snif »  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: MasterXL - параллельное формирование отчетов
Ответ #3 - 18. Июня 2006 :: 13:46
Печать  
По смыслу очень интересно.

А данные брать из ТЗ или ИТЗ не планировал?
В монопольном режиме проблем бы не было, да и куча данных есть, которые сперва обрабатываются клиентом.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: MasterXL - параллельное формирование отчетов
Ответ #4 - 18. Июня 2006 :: 14:34
Печать  
По справочникам - нормально.
По остаткам. Вот это что может быть:

Код
Выбрать все
Метод PivotTable: Object doesn't support this property or method
 



Excel 2000, а ты на какой рассчитывал?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
Re: MasterXL - параллельное формирование отчетов
Ответ #5 - 18. Июня 2006 :: 14:41
Печать  
у меня 2003, надо будет на 2000 потестировать
у  в примере с остатками оба отчета не работают?
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: MasterXL - параллельное формирование отчетов
Ответ #6 - 18. Июня 2006 :: 14:45
Печать  
Оба, ну так они практически идентичные отн. PivotTable().
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
Re: MasterXL - параллельное формирование отчетов
Ответ #7 - 18. Июня 2006 :: 14:48
Печать  
сейчас буду на своем компе ёксель до 2000 понижать, багу ловить Улыбка
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: MasterXL - параллельное формирование отчетов
Ответ #8 - 18. Июня 2006 :: 14:58
Печать  
А вот такую вещь скажи.

Строю таблицу:
Код
Выбрать все
Иванов
  накладная1 100
  накладная2 200
  Всего	     300
Петров
  накладная3 400
  накладная4 500
  Всего	     900
 


Я хочу, чтобы поле "Всего" было именно суммой соответствующих столбцов (формулой).
Но подитогов много, это не один финальный итог.
Получится это через MasterXL сделать?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
Re: MasterXL - параллельное формирование отчетов
Ответ #9 - 18. Июня 2006 :: 15:13
Печать  
Понизил Excel до 2000, багу поймал:
в 2000 в объектной модели нет свойства
ThisWorkbook.ShowPivotTableFieldList = False

для Excel 2000 исправил, обновил на сайте
  
Наверх
www  
IP записан
 
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
Re: MasterXL - параллельное формирование отчетов
Ответ #10 - 18. Июня 2006 :: 15:24
Печать  
kms, я правильно понял смысл вопроса: нужен общий итог без промежуточных?

если да, то делается так:
Отчет.Table(ТекстЗапроса,1);//без итогов

а в запросе вместо
GROUP BY Поле1,Поле2
пишешь
GROUP BY  Поле1,Поле2 WITH ROLLUP

хотя вру - промежуточные все равно будут
в следующей версии для простой таблицы (Table()) добавлю сумму по колонкам без промежуточных итогов, именно с использованием формул
« Последняя редакция: 19. Июня 2006 :: 05:21 - Snif »  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: MasterXL - параллельное формирование отчетов
Ответ #11 - 18. Июня 2006 :: 15:39
Печать  
Ну, я немного о другом - о создании стандартного листа (не сводной таблицы), в которой часть полей (подитоги) вычисляются именно формулами.

Т.е. чтобы при удалении нескольких строк формулы и итоги пересчитывались.
Просто как раз такое делать надо.

Но ты не заморачивайся, это совсем другая задача.

По поводу MasterXL: все работает, по крайней мере пока Улыбка

Выложи еще, плз, документацию по методам, примера и общего описания как-то маловато.
Ну и если будешь делать какие-то ограничения по срокам использования и т.п., не забудь, скажи, плз., заранее.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
Re: MasterXL - параллельное формирование отчетов
Ответ #12 - 18. Июня 2006 :: 15:50
Печать  
Цитата:
Выложи еще, плз, документацию по методам

эх, голова садовая... забыл включить в пакет MasterXL.als и MasterXL.tls
исправил

по поводу ограничений хотел посоветоваться
по времени точно не буду делать - засада пользователям, не хорошо
может в отчете маленькими буквами  ссылку на сайт? кому-то все равно, а кому нет - можно убрать
как думаешь?

PS да, kms, большое тебе спасибо! Ты принял на себя первый удар багов Улыбка
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: MasterXL - параллельное формирование отчетов
Ответ #13 - 18. Июня 2006 :: 16:12
Печать  
Цитата:
может в отчете маленькими буквами  ссылку на сайт? кому-то все равно, а кому нет - можно убрать
как думаешь?

Да почему нет - тебе же надо как-то продавать что-нибудь. Все в итоге что-то продают Улыбка


P.S.
Только маленькими Улыбка

P.P.S.
Успехов!

  

De quelle planète es-tu?
Наверх
 
IP записан
 
Snif
Junior Member
**
Отсутствует



Сообщений: 44
Зарегистрирован: 30. Мая 2006
Пол: Мужской
Re: MasterXL - параллельное формирование отчетов
Ответ #14 - 19. Июня 2006 :: 07:05
Печать  
kms писал(а) 18. Июня 2006 :: 15:39:
Ну, я немного о другом - о создании стандартного листа (не сводной таблицы), в которой часть полей (подитоги) вычисляются именно формулами.

Т.е. чтобы при удалении нескольких строк формулы и итоги пересчитывались.
Просто как раз такое делать надо.

Но ты не заморачивайся, это совсем другая задача.



Добавил, см. первое сообщение. Кстати, метод Table()  и создает "стандартный лист (не сводную таблицу)".
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 ... 5
ОтправитьПечать