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

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

Akupaka

Для: Akupaka
Но-но-но! :rolleyes:
Не факт, что Elephant/ICTP:Work/Docs/performing.nsf - это current database
:D) да, я в своем посте поправил уже, сразу не заметил


Денис, ws.ComposeDocument создаст документ на УИ, а мы предлагали создать его на бэк-энд, а потом открыть на редактирование
 
O

Omh

Для: Денис Кириченко
Надо-надо, в голове не всё сразу правильно компилиться.
 
G

Guest

:rolleyes:) да, я в своем посте поправил уже, сразу не заметил
Денис, ws.ComposeDocument создаст документ на УИ, а мы предлагали создать его на бэк-энд, а потом открыть на редактирование

А где же тогда определить форму которую я собственно хочу открыть и перенести в нее значения?
 
A

Akupaka

А где же тогда определить форму которую я собственно хочу открыть и перенести в нее значения?
а вот Omh писал:

Код:
Call NewDoc.ReplaceItemValue("Form", "NewAction")

это укажет лотусу какая форма используется по умолчанию для документа
 
O

Oksana

Ты просто не умеешь это готовить. ;)
Не знаю из какой задачи возник исходный вопрос.
Я например использовала наследование значений следующим образом:
Требовалось создавать документы на основании, то есть
есть некоторый документ в базе, нужно создать документ у которого часть полей должный быть заполнены точно так же как в выбранном.
В дизайнере уже имеем, например, форму - MainForma, по которой создаются основные документы, копируем ее в новую форму, например, CopyMainForma, в ее свойствах ставим "Formulas inherit values from selected document". И в нужных полях, их имена в значении по умолчанию.

А так же на форме создавала поле Form со значением MainForma.

Соответственно вызываю команду [Compose] с именем формы CopyMainForma, получаю новый документ с частично заполнеными полями, но при сохранении всегда получаю документ по форме MainForma, те откываться он уже будет в ней.

Может такой подход всем известен, может он имеет минусы. В моей задаче все работало как надо.
 
G

Guest

Тысячу раз извиняюсь за дельтанский вопрос, в приведенном тобой скрипте (большое спасибо), есть строчка:
> call NewDoc.ReplaceItemValue("SomeItem", someAnotherDoc.GetItemValue("AnotherItem")).

Ну вот я все пытаюсь присвоить полю в новь созданном документе значение поля из текущего документа. SomeItem - это поле формы-ребенка (у меня оно DocState), а это someAnotherDoc.GetItemValue("AnotherItem") - родителя (у меня оно CurDoc.GetItemValue(S_ContractTypes)). Что-то у меня не выходит подскажи pls. как правильно

Call NewDoc.ReplaceItemValue("DocState", CurDoc.GetItemValue(S_ContractTypes))
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Кавычки ?
<!--QuoteBegin-Денис Кириченко+11:02:2008, 10:34 -->
<span class="vbquote">(Денис Кириченко @ 11:02:2008, 10:34 )</span><!--QuoteEBegin-->Call NewDoc.ReplaceItemValue("DocState", CurDoc.GetItemValue("S_ContractTypes"))
[snapback]97443" rel="nofollow" target="_blank[/snapback]​
[/quote]
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Что-то не определено. То ли NewDoc, то ли CurDoc.
 
G

Guest

Почему не передается массив значений ???
Call NewDoc.ReplaceItemValue("Action", Implode(CurDoc.GetItemValue("ActionType"), ";"))
 
O

Omh

Для: Денис Кириченко
Не надо так хитрить, надо сделать просто
Код:
Call NewDoc.ReplaceItemValue("Action", CurDoc.GetItemValue("ActionType"))

Фишка в том, что CurDoc.GetItemValue("ActionType") без "(0)" в конце
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Для: Денис Кириченко
Потому что ты его передаешь как строку.
Передавай как массив.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!