Имя: Пароль:
1C
1C 7.7
v7: Объект Таблица
0 varelchik
 
14.09.12
15:42
Вот встала задача печати через Excel.
Штатным конвертором сохраняет фигово скажем так.
Решил использовать Йоксель.
Сохраняет превосходно.
НО!
Параметры страницы Исходной таблицы им в Excel не переносяться.
Как вариант Поумолчанию в Excel ориентация Альбомная хотя в 1С табтлицу Портрет.
В результате пришел к умозаключению что надо бы считать параметры страницы у Таблицы передконвертацией а далее в Excel выставить их и отправить лист на печать.
Вот только как прочитать эти параметры?
Таб.ПараметрыСтраницы() только устанавливает.
У кого есть какие соображения?
1 Kreont
 
14.09.12
15:52
Штатным конвертором сохраняет фигово скажем так.
Что именно фигово, скорость или очень навороченный отчет?

Вроде так как раз сохраняет ориентацию:
Таб.ПараметрыСтраницы(1,,,10,5,5,5,0,0,1,,);
Таб.Показать("price_" + СтрЗаменить(Строка(ТекущаяДата()), ".", "_"), "");
Йоксель.ЗагрузитьИзТаблицы(Таб);
Йоксель.Записать (ФайлХЛС, 1);
2 1Сергей
 
14.09.12
15:55
OLE к Excel
3 varelchik
 
14.09.12
15:56
(1) Читаем внимательно.
Мне не установить параметры надо, а прочитать!
То что юзьвер настроил.
4 Kreont
 
14.09.12
15:56
(2) Ага, у меня нету Екселя :(
5 varelchik
 
14.09.12
15:57
(2) отпадает.
Смысл подключения к нему когда мы незнаем текущих параметров.
6 varelchik
 
14.09.12
15:58
Думал так проканает:
   Перем Ориентация,Масштаб,РежимПечатиКопий,ПолеСлева,ПолеСправа,ПолеСверху,ПолеСнизу,КолонтиулСверху,КолонтитулСнизу,
               АвтоМасштаб,ФлагЧБПечати,ИмяПринтера;
               гТаблица.ПараметрыСтраницы(Ориентация,Масштаб,РежимПечатиКопий,ПолеСлева,ПолеСправа,ПолеСверху,ПолеСнизу,КолонтиулСверху,КолонтитулСнизу,
               АвтоМасштаб,ФлагЧБПечати,ИмяПринтера);

А нет все значения пустые.
7 Kreont
 
14.09.12
16:02
(3) Показать юзверям как в ексель менять ориентацию
8 varelchik
 
14.09.12
16:04
(3) негодиться.
мне надо обработать текущую таблицу как есть.
Потом вызвать диалог выбора принцтера и все ,т.е. без дополнительных телодвижений со стороны пользователя.
9 Kreont
 
14.09.12
16:09
(8) Я чет не пойму, то ты в файл сохраняешь, то на печать даешь принтер выбрать, то что б пользователь не делал телодвижений, но что б ориентацию менял...
Может переосмысли изначальную логику задачи, и сделай заново, и пользователей не слушай, а поставь перед фактом, что "так теперь будет"!
10 varelchik
 
14.09.12
16:19
(9) ну это не тебе решать что мне говорить пользователям, а что нет.
А смысл следующий:
это как бы продолжение печати под 2008 на изипринт.
Попробовал конвертить в pdf вроде кое как пошло
Вот только маленькая проблема если пользователь попытался подогнать большую таблицу под свои параметры то pdf один фиг бъет на несколько страниц.
Посему реши сделать финт ушами.
Шаг номер 1.
Перехватываем ПриПолученииКоманды()
попытку отправить на печать.
2.Определяем что печатают
Таблицу переходим на шаг 3.
3.Считываем параметры страницы текущей активной таблицы.
4.С помощью Йокселя конвертим в Excel
5.Передаем в Excel полученный файл
6.Устанавливаем в Excel параметры из 1С.
7.Отправляем на печать.
11 varelchik
 
14.09.12
16:28
Усе народ.
Нашел.

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\ИмяБазы\V7\ИмяПользователя\Moxel\Default