Создание нового документа с инициализацией его полей

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
G

Guest

Позволяет ли команда @Command( [Compose]; передать значение, которое будет использоваться в новом документе как значение поля?
 
Для: Денис Кириченко
нет... Но если значение поля берется из выделенного документа, то поставте в свойсте формы, по кторой композится документ галочку на 2-й закладке "наследовать данные из выделенного документа" и работайте с ними...

ЗЫ: А вообще - QueryOpen - сила...
 
Для: Sandr
Если композишь документ формулой или ws.compose(), то на QO объекта документа не будет, так?

Для: Денис Кириченко
Кмк, если надо сделать док с значениями полей, лучше на бекграунде скриптом создать и открыть.
 
Для: Денис Кириченко
нет... Но если значение поля берется из выделенного документа, то поставте в свойсте формы, по кторой композится документ галочку на 2-й закладке "наследовать данные из выделенного документа" и работайте с ними...

ЗЫ: А вообще - QueryOpen - сила...

Я надыбал команду @Command([ComposeWithReference]; @MailDbName; "Reply"; 1 + 2 + 4 + 8), но только не пойму как именно она наследует поля.

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

Код вида
Код:
Dim NewDoc As New NotesDocument(db)
'Заполняем
Call ws.EditDocument(True, NewDoc)
спасёт гиганта мысли.
 
Для: Omh
но uidoc то есть (Source)? :)

Хотя

Код:
Dim NewDoc As New NotesDocument(db)
'Заполняем
Call ws.EditDocument(True, NewDoc)

Это правильней...
 
<!--QuoteBegin-Денис Кириченко+7:02:2008, 12:26 -->
<span class="vbquote">(Денис Кириченко @ 7:02:2008, 12:26 )</span><!--QuoteEBegin-->@Command([ComposeWithReference]; @MailDbName; "Reply"; 1 + 2 + 4 + 8)
[snapback]97014" rel="nofollow" target="_blank[/snapback]​
[/quote]
@Command([ComposeWithReference]; ""; "Reply"; 2)
 
Для: Sandr
uidoc позволяет работать только с текстом (FieldSetText), что не очень хорошо, а в некоторых случаях неприемлимо.
Я вообще не люблю ui-объекты.

Только надо помнить, что при создании дока скриптом Uidoc.IsNewDoc = False.
 
Хотя можно и просто Compose. Если не ответный документ создаешь.
Надо только галку влепить "Formulas inherit values from selected document".
 
<!--QuoteBegin-Omh+7:02:2008, 12:35 -->
<span class="vbquote">(Omh @ 7:02:2008, 12:35 )</span><!--QuoteEBegin-->"Formulas inherit values from selected document" - зло
[snapback]97025" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ты просто не умеешь это готовить. :)
 
Для: Medevic
Не, просто я натерпелся от кода в базах написанного программерами ранее.
У меня ко всем этим default values + inherit тра-ля-ля в данный момент небольшая аллерия :)
 
Поддерживаю Omh, но иногда без стандартного наслед. не обойтись... кроме того, если вызывать EditDocument(), то дебагер не будет дебажить скрипт на этом открытом доке...
 
На мой взгляд, наследование формой полей из выбранного документа, это олдскул.
Код не централизован, раскидан по полям, не гибко.

Код вида
Код:
Dim NewDoc As New NotesDocument(db)
'Заполняем
Call ws.EditDocument(True, NewDoc)
спасёт гиганта мысли.

Простите новичка, я Вас правильно понял:

Sub Click(Source As Button)
Dim uidoc As NotesUIDocument
Dim NewDoc As NotesDocument
Dim ws As New NotesUIWorkspace

Set uidoc = ws.ComposeDocument("Elephant/ICTP","Work/Docs/performing.nsf", "NewAction")
Set NewDoc = uidoc.Document

Call ws.EditDocument(True, NewDoc)
NewDoc.

End Sub

Проблемка как в NewDoc. полю присвоить значение?
 
Код:
Sub Click(Source As Button)
Dim Db as New Notesdatabase("Elephant/ICTP","Work/Docs/performing.nsf")

if Db.IsOpen then 
Dim NewDoc As NotesDocument
Set NewDoc = Db.CreateDocument
Call NewDoc.ReplaceItemValue("Form", "NewAction")
'другие поля
Call ws.EditDocument(True, NewDoc)
End if

End Sub

Бомби на "ты".
 
не правильно

нужно:

Код:
Sub Click(Source As Button)
Dim uidoc As NotesUIDocument
Dim NewDoc As NotesDocument
Dim ws As New NotesUIWorkspace

dim s as New NotesSession

'Set uidoc = ws.ComposeDocument("Elephant/ICTP","Work/Docs/performing.nsf", "NewAction")
'Set NewDoc = uidoc.Document

set NewDoc = s.CurrentDatabase.CreateDocument ' тут вариант текущей БД, вариант Omh'а вернее бут :)
call NewDoc.ReplaceItemValue("SomeItem", "SomeValue")

call NewDoc.ReplaceItemValue("SomeItem", someAnotherDoc.GetItemValue("AnotherItem"))


Call ws.EditDocument(True, NewDoc)
NewDoc.

End Sub
 
Для: Akupaka
Но-но-но! :rolleyes:
Не факт, что Elephant/ICTP:Work/Docs/performing.nsf - это current database

Ах, подлец, переправи ужо :D
 
Код:
Sub Click(Source As Button)
Dim Db as New Notesdatabase("Elephant/ICTP","Work/Docs/performing.nsf")

if Db.IsOpen then 
Dim NewDoc As NotesDocument
Set NewDoc = Db.CreateDocument
Call NewDoc.ReplaceItemValue("Form", "NewAction")
'другие поля
Call ws.EditDocument(True, NewDoc)
End if

End Sub

Бомби на "ты".

Sorry, work space определять не надо?
Типа Dim ws As New NotesUIWorkspace
 
Мы в соцсетях:

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

Похожие темы