|
v8: Excel (формулы). | ☑ | ||
---|---|---|---|---|
0
wade25
03.10.12
✎
10:12
|
Доброе утро.
Обработка, выполняет отчет в 1с, сохраняет его в табличный документ. Далее сохраняет его в файле формата (XLS), следующим образом... Отчет = Отчеты.Отчетик.Создать(); ТабДок = Новый ТабличныйДокумент; ДатаОтчета = НачалоДня(ТекущаяДата()) - 60*60*24*60; Отчет.Отчет(ТабДок, ДатаОтчета); // сохраняем результат отчета в файл Excel ИмяВремФайла = ПолучитьИмяВременногоФайла("xls"); ТабДок.Записать(ИмяВремФайла, ТипФайлаТабличногоДокумента.XLS); Файл = Новый Файл(ИмяВремФайла); Эксель = Неопределено; Попытка Эксель = Новый COMОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!"); КонецПопытки; Если Эксель <> Неопределено Тогда Книга = Эксель.WorkBooks.Open(ИмяВремФайла); Окно = Книга.Windows(1); Лист = Книга.WorkSheets(1); //Лист.PageSetup.Zoom = Ложь; // канает не везде (( ПараметрыСтраницы = Лист.PageSetup; Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl"); Скрипт.Language = "javascript"; Скрипт.AddObject("ПараметрыСтраницы", ПараметрыСтраницы); Скрипт.Eval("ПараметрыСтраницы.Zoom=false"); Скрипт.Eval("ПараметрыСтраницы.Orientation=2"); Лист.PageSetup.FitToPagesTall = 1; Лист.PageSetup.FitToPagesWide = 1; Лист.Range("C9").Select(); Окно.FreezePanes = -1; Книга.Save(); Эксель.WorkBooks.Close(); Эксель.Quit(); КонецЕсли; Необходимо, вставить формулы (сумма) по колонкам, нужны итоги лишь по вертикали (колонка, итог внизу), количество уровней группировок может быть разное, но получить это число возможно. Может есть какой либо стандартный механизм? |
|||
1
DrShad
03.10.12
✎
10:32
|
ну назначь необходимым ячейкам нужные формулы
|
|||
2
Rounder
03.10.12
✎
10:33
|
А что мешает сделать отчет уже сгруппированным и с итогами и после этого пульнуть его в Эксель?
|
|||
3
DrShad
03.10.12
✎
10:34
|
(2) но формулы то все равно нужны, как я понимаю его не только смотреть будут
|
|||
4
wade25
03.10.12
✎
10:35
|
(1) Эт не очень удобно, ячейки не постоянны. Вопрос в другом, есть ли в Exele встроенная функция, которая проставляет формулы по листу.
(2) Этот файл потом отправляется по почте автоматом, людям у которых 1с под рукой может не быть, удаляют строку и хотят видеть сразу результат. |
|||
5
Rounder
03.10.12
✎
10:36
|
Давай мыло - кину свою обработку, которая пулит формулы и раскрашивает отчет.
|
|||
6
DrShad
03.10.12
✎
10:36
|
(4) что значит ячейки не постоянны?
|
|||
7
wade25
03.10.12
✎
10:39
|
(5) Спс огромное ([email protected]).
|
|||
8
wade25
03.10.12
✎
10:40
|
(6) То что группировок может быть разное количество и строк в каждой группировке тоже. Минимум будет 3 уровня вложенности.
|
|||
9
zladenuw
03.10.12
✎
10:42
|
а так что нельзя ?
iResult = Application.Sum(Range("B5:B10")) iResult = WorksheetFunction.Sum(Range("B5:B10")) iResult = Excel.Application.Sum(Range("B5:B10")) iResult = Excel.WorksheetFunction.Sum(Range("B5:B10")) iResult = Application.WorksheetFunction.Sum(Range("B5:B10")) |
|||
10
Rounder
03.10.12
✎
10:45
|
Поясню сразу - может тебе не нужен такой пример.
Формируется табдок по результатам запроса уже с нужными группировками. А дальше уже куда нужно пишутся формулы и устанавливается боевая раскраска. Т.о. пользователи пользуются группировкой сформированной с помощью 1С а не Экселя. А вот формулы позволяют им в файле экселя менять цифры и прочее и получать автоматический пересчет итогов и прочего. Такой нужен пример? |
|||
11
wade25
03.10.12
✎
10:47
|
(10) Да, группировки в 1с формируются. То что нужно :)
|
|||
12
zladenuw
03.10.12
✎
10:47
|
(10) давай мне. если можно :)
|
|||
13
wade25
03.10.12
✎
10:47
|
(9) Оч муторно будет высчитывать для каждой группировки и потом вставлять.
|
|||
14
Rounder
03.10.12
✎
10:48
|
(12) мыло
|
|||
15
zladenuw
03.10.12
✎
10:48
|
(14) так в карточке есть. или ты туда не ходишь
|
|||
16
wade25
03.10.12
✎
10:48
|
(14) см 7
|
|||
17
Rounder
03.10.12
✎
10:51
|
(16) Отправил. Получишь - напиши - а то бывают затыки с почтой.
(15) Написано что скрыт - и нет кнопаря посмотреть его. |
|||
18
zladenuw
03.10.12
✎
10:53
|
(17) странно. у меня есть. ня [email protected]
|
|||
19
Rounder
03.10.12
✎
10:56
|
(18) Отправил
|
|||
20
wade25
03.10.12
✎
10:56
|
Пришло.
|
|||
21
zladenuw
03.10.12
✎
10:58
|
(19) sps
|
|||
22
XoloD
03.10.12
✎
11:29
|
(19) и мне если можно, спс
|
|||
23
osa1C
03.10.12
✎
12:06
|
и мне [email protected]
|
|||
24
XoloD
03.10.12
✎
12:16
|
(20) (21) может вы отправите видимо как пишет в
(17) бывают затыки с почтой |
|||
25
wade25
03.10.12
✎
22:24
|
Спс огромное, выручил!
|
|||
26
zladenuw
04.10.12
✎
01:03
|
(24) а я говорил модерам. добавить возможность качать файл с темы ТС. а они зачем, зачем. :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |