• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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 ""

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

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