7.7 Параметры PrintOut()

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Lora1c, 26 июл 2009.

  1. TopicStarter Overlay
    Lora1c
    Offline

    Lora1c

    Регистрация:
    25 июл 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Кто-нибудь знает, как задать параметры PrintOUT() в 1с77?
    Нужно распечатать вордовский документ.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    PrintOUT() в 1с7.7 нет, но обоработок - понло. Гугл тебе в руки
  3. TopicStarter Overlay
    Lora1c
    Offline

    Lora1c

    Регистрация:
    25 июл 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Так ежику понятно, что в 1С нет - в Ворде есть! Гугл не помог - не нашла того, что нужно.
    Без параметров PrintOut() вызывается без проблем. А если задавать к.-нить параметр, то 1С ругается на неверный тип . :unsure:
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Значит в ворде нажимаем АЛЬТ+Ф11. И там ищем в справке нужный метод. Все параметры будут расписаны и пример приведен.
  5. TopicStarter Overlay
    Lora1c
    Offline

    Lora1c

    Регистрация:
    25 июл 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Я вроде по-русски говорю... Ну причем тут Ворд?!
    У PrintOut 19 параметров:
    PrintOut(_Background, _Append,_Range,_OutputFileName,_From,_To,_Item,_Copies,_Pages,_PageType,_PrintToFile,_Collate,_FileName,_ActivePrinterMacGX,_ManualDuplexPrint,_PrintZoomColumn,_PrintZoomRow,_PrintZoomPaperWidth,_PrintZoomPaperHeight);

    Внимание, вопрос: Как их корректно передать из 1С (типы)?
    Задача: открыть в 1С файл *.doc и распечатать его "книжкой". В цикле вычисляются номера страниц и последовательно парами нужно вывести на печать по 2 страницы на лист. Как из 1С задать Pages="стр1,стр2", PrintZoomColumn=2
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Притом, что в предыдущем сообщении тоже по русски написано
    От сюда вывод: Что смотреть надо в ворде.

    Внимание ответ: 1С 7.7 не поддерживает формат *.DOC.

    Что бы выполнить данную операцию через 1С то как минимум надо:
    1. Что бы был установлен ворд
    2. Подключиться к нему из 1С с помощью механизма "OLE Automation"
    3. Вызвать данный метод в формате 1С (Передавать параметры в круглых скобках, строго по порядку, отсутствующие параметры просто пропускать)

    PS Повторюсь, но видимо надо: "...ищем в справке нужный метод. Все параметры будут расписаны и пример приведен"
  7. TopicStarter Overlay
    Lora1c
    Offline

    Lora1c

    Регистрация:
    25 июл 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Уважаемый WaRDeR! Ну я даже не знаю, как еще спросить ... :vis:

    Краткое содержание предыдущих серий:
    Есть файл "*.doc", созданный, разумеется, в Ворде, который, в свою очередь, разумеется, установлен на компе. Данный файл нужно распечатать "книжкой2, как было описано выше.
    Для этого:
    1) В 1с подключаюсь в Ворду через Word.Application, разумеется;
    2) открываю вышеуказанный файл через Word.Documents.Open(ИмяФ); Лист=Word.ActiveDocument;
    3) Получаю число страниц в файле Стр=Лист.ActiveWindow.Panes(1).Pages.Count; (напр., 8)
    после чего вычисляю кол-во_страниц_для_печати (напр., 4) и номера страниц исходного файла, к-рые нужно в цикле попарно выводить на "книжкину" страницу. (напр., 8-1, 6-3, 4-5, 2-7).
    При этом для каждой пары страниц Pages=Строка(С2)+","+С1
    вызываю Лист.PrintOut(,,,,,,,,Pages,,,,,,,2,,,); - ( и заметьте, все это в самых круглых скобках, строго по порядку, пропуская неуказанные параметры)
    При запуске получаю ошибку :
    Лист.PrintOut(,,,,,,,,Pages,,,,,,,2,,,);
    {КНИЖКА.ERT(85)}: Типы не совпадают :smile:
    4) Пыталась вызывать, задавая все параметры (может, они должны быть установлены), но все равно счастья нет:
    в документации по Ворду примеры не для 1С, напр.,
    ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:=1-3
    в т.ч. используются типы, напр, Variant., и свои внутренние, напр.: "Может быть любым значением из перечислимого типа WdPrintOutItem ". А как мне это сделать в 1С?
    Пытаюсь задать параметры, "адаптировав" их к 1С, напр, true=-1, wdPrintRangeOfPages=4, и т.п. Но так все равно не помогает... :aua:
    5) И только после многочисленных вариантов и безрезультатных поисков обращаюсь на Форум.

    А теперь к_о_н_к_р_е_т_н_ы_й вопрос:
    Как корректно задать вордовские параметры (как описать типы параметра) метода PrintOut() в 1С?
    Кто-нибудь с этим сталкивался? Или как выйти из положения другим способом?

    П.С. Какие еще пункты (1,2,3) я не сделала?! Зачем мне объяснять элементарные вещи?
    Если можете ответить по существу, буду очень признательна.
    :unsure:
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вордовские константы недоступны по ОЛЕ. Вот здесь довольно подробно все описано. С конкретными примерами

    http://www.kzn-chat.ru/forum9_files_313681.html
Похожие темы
  1. qwertyu
    Ответов:
    5
    Просмотров:
    1.039
Загрузка...

Поделиться этой страницей