• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

@command([fileprint]; .....)

  • Автор темы Автор темы oleg7
  • Дата начала Дата начала
O

oleg7

на виде есть кнопка печати @Command([FilePrint]; "";"";"";"";"";"PrintA")
Скажите пожалуйста, как сделать, чтобы печать шла не сразу, а сначала появлялась страница просмотра, а потом только можно было печатать
 
Лучше выводите в word и печатайте через него. У лотуса две слабые стороны - печать и отчёты, намучаетесь...
 
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Print

Добавлено: Сори не правильно понял вопрос;)
 
спасибо за ответ.
А что в таком виде, как вначале написал, нельзя сделать просмотр?! сразу только можно на печать?
 
на виде есть кнопка печати @Command([FilePrint]; "";"";"";"";"";"PrintA")
Скажите пожалуйста, как сделать, чтобы печать шла не сразу, а сначала появлялась страница просмотра, а потом только можно было печатать
Насколько я помню @Command( [FilePrint] ) открывает окно свойств печати, там есть кнопка предпросмотра и кнопка печати. Открыть окно предпросмотра сразу скорее всего не получится. Да и кнопки печати в нём нет.
 
nvy
спасибо, извеняюсь не видел ответ, поэтому дописал вопрос выше.
 
Лучше выводите в word и печатайте через него. У лотуса две слабые стороны - печать и отчёты, намучаетесь...
от задачи зависит..., и почему сразу в ворд, а не ПДФ (кот. именно для печати и хорош)
 
решил делать печать в Word, использую код, который нашел на сайте:
Код:
Dim s As New notessession
Dim todaydate As New notesdatetime("Today")

Dim word As Variant
Dim wordoc As Variant

Dim todaysdate As String
Dim orderid As String
Dim producedby As String
Dim storeid As String
Dim customername As String
Dim address As String
Dim citytown As String
Dim postcode As String
Dim daytimeno As String
Dim eveningno As String

'Присваивание значений пересенным (Lotus)
todaysdate = todaydate.localtime
orderid = "2183763248"
producedby = s.username
storeid = "12345"
customername = "John Doe"
address = "Apartment 5c, 5 Test Avenue"
citytown = "Testtown"
postcode = "XX5 5XX"
daytimeno = "1234567890"
eveningno = "0987654321"

'Создание Word-документа
Set word = CreateObject("Word.Application") 'Создание объекта Word'a
Call word.documents.add("Return and Uplift.dot") 'Создание нового документа по шаблону Return and Uplift.dot
Set worddoc = word.activedocument 'Активация объекта

'Присваивание полям-Word'a значений из полей notes-документа
worddoc.FormFields(1).result = todaysdate
worddoc.FormFields(2).result = orderid
worddoc.FormFields(3).result = producedby
worddoc.FormFields(4).result = storeid
worddoc.FormFields(5).result = customername
worddoc.FormFields(6).result = address
worddoc.FormFields(7).result = citytown
worddoc.FormFields(8).result = postcode
worddoc.FormFields(9).result = daytimeno
worddoc.FormFields(10).result = eveningno

worddoc.saveas(customername) 'сохранение документа-Word'a с именем файла "John Doe.doc"
word.visible = True 'Сделать видимым окно Word'a
'word.quit 'закрытие Word'a
в этом примере используются данные, которые берутся не из документа. А как, например, вместо address = "Apartment 5c, 5 Test Avenue" добавить адрес из поля addres?
 
Если поле адреса мультизначное, то соединить в строку, например, через запятую:
Код:
address = join(doc.GetItemValue("addres"), ", ")
 
пробовал уже так, пишет "Variant does not contain an object" . не могу понять из-за чего
 
oleg7
пробовал уже так, пишет "Variant does not contain an object" . не могу понять из-за чего
Пробовал под дебагом твой код вылетает на :
Set word = CreateObject("Word.Application") 'Создание объекта Word'a
 
а точно одно s в имени?
Код:
if doc.hasitem("addres") then
address = join(doc.GetItemValue("addres"), ", ")
else
address ="" ' или пробел или что надо
end if
 
пробовал уже так, пишет "Variant does not contain an object" . не могу понять из-за чего
А документ открыт?

Код:
dim db as Notesdatabase
set db = s.Currentdatabase
dim doc as Notesdocument
set doc = db.GetdocumentByUNID("unid документа")
или
Код:
dim ws as New Notesuiworkspace
dim doc as Notesdocument
set doc = ws.Currentdocument.Document
 
пробовал уже так, пишет "Variant does not contain an object" . не могу понять из-за чего
ну дык чтоб брать значения полей, нужно сначала сам док из базы получить, а в коде я чёто не вижу строк типа
Код:
Dim uiws As New NotesUIWorkspace
Dim doc as NotesDocument

Set doc = uiws.CurrentDocument.Document
'...... и так далее .....


nvy - просто-таки сорвал с языка :please:
 
здесь есть подстановка из шаблона
и рекомендовалбы именно так
Код:
' TmpDocName – путь на диске к документу-шаблону
' bookmark01 – имя закладки определенной в MS Word
wObj.Documents.Add TmpDocName ' работа с шаблоном (открытие файла)
wObj.Selection.GoTo wdGoToBookmark, , , bookmark01 'переход к закладке
wObj.Selection.Delete wdCharacter, 1 ' удаление закладки и текста закладки, курсор остается на месте закладки
wObj.Selection.TypeText doc.ResultField(0) ' вывод информации в текущую позицию курсора
с полями - нахлебаетесь ("неожиданные" несовпадения типов и т.п. прелести МСО, при доступе из нотусей)

и еще раз повторю - лучше ПДФ, и добавлю - из java :)
читать FOP и XML, XSLT
"лучше день потерять..."
 
спасибо за ответы. Решил делать в Excel по шаблону.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab