• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Малюсинький вопрос по формулке

  • Автор темы SOFTOBZOR.ru
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SOFTOBZOR.ru

Разбираю чужой код:

Код:
ParentUnid = Evaluate ({@Trim(@Text(ParentUnid) :Resp_ParentUnid)},doc)

Что бы в этом коде значило :Resp_ParentUnid
При том что такого поля в помине на форме нет
За то дальше идет
Код:
Call uidoc.Document.ReplaceItemValue ("Resp_ParentUnid",ParentUnid)
 
S

SOFTOBZOR.ru

Затык вот в чем:

Есть кнопка, на ней сидит агент создания приложения к доку:
Формулка такая:

Код:
Sub Click(Source As Button)
Dim s As New NotesSession
' Создание сессии
Dim w As New NotesUIWorkSpace
' Обьявление рабочего пространства
Dim doc As NotesDocument, Profile As NotesDocument
' Документ
Dim uidoc As NotesUIDocument, uiProfile As NotesUIDocument
' ID дока текущено
Dim eval As Variant,ParentUnid As Variant
' Значение ParentUnid
Dim db As NotesDatabase

Set doc = s.DocumentContext

Set db = s.CurrentDatabase

If doc Is Nothing Then
Messagebox "Выберите Договор" , 64 , db.title
' Если не выбран документ
Exit Sub

End If

If doc.GetItemValue ("Form") (0) = "Document" Then
' Если форма документа
Set uidoc = w.ComposeDocument ("" , "" , "Document")
Call uidoc.Document.MakeResponse (doc)
' Создание дочернего дока
Call uidoc.Document.ReplaceItemValue ("$RefOptions" , "1")
' Переименовываем $RefOptions = 1
ParentUnid = Evaluate ({@Trim(@Text(ParentUnid) :Resp_ParentUnid)},doc)
' ????
Call uidoc.Document.ReplaceItemValue ("Resp_ParentUnid",ParentUnid)
' Переименовываем Resp_ParentUnid в ParentUnid
tmp$ = doc.DBody_RegNum(0)
' Регистрационный номер родителя
If tmp$ <> "" Then tmp$ = "№" & tmp$ & " " 
' Если есть номер то преобразуем
Call uidoc.Document.ReplaceItemValue("ParentSubject" , tmp$ & doc.subject(0))
' Подставляем относится к = ParentSubject
Call uidoc.FieldSetText("Department",doc.Department(0))
' Департамент
Call uidoc.FieldSetText("DogRecipient",doc.DogRecipient(0))
' Контрагент
Call uidoc.FieldSetText("ThemeCategory",doc.ThemeCategory(0))
' Категория
Call uidoc.Refresh
' Обновляем
Exit Sub

End If
' Выбран док но не Document
Messagebox "Приложение может быть создано только для Договора или Приложения к договору" , 64 , db.title
End Sub

Все поля на форме имеются, но вываливается такая ошибка:

---------------------------
Lotus Notes
---------------------------
Notes Error - Field value cannot be edited.
---------------------------
ОК
---------------------------​
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--QuoteBegin-SOFTOBZOR.ru+9:11:2006, 15:13 -->
<span class="vbquote">(SOFTOBZOR.ru @ 9:11:2006, 15:13 )</span><!--QuoteEBegin-->Все поля на форме имеются, но вываливается такая ошибка:
[snapback]47532" rel="nofollow" target="_blank[/snapback]​
[/quote]
В какой строке ?
 
S

SOFTOBZOR.ru

Сложно сказать:
Вот до сюда работает точно:

Код:
 If tmp$ <> "" Then tmp$ = "№" & tmp$ & " " 
' Если есть номер то преобразуем
Call uidoc.Document.ReplaceItemValue("ParentSubject" , tmp$ & doc.subject(0))

Во всяком случае в создаваемом приложении данное поле заполняется корректно
 
S

SOFTOBZOR.ru

Отбой!

Вот вчем затык был:
Поле DogRecipient - Comuted from display ""

Все заработало!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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