D
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
та самая путаница в голове - не поля, а переменные кот. ты используешь в коде.Просто поля Data_sovet и Data_protokol объявлены типа дата/время, вот мне бы узнать как этот тип определить, чтоб с ними работать дальше...
Изначально проставил у этих полей ...As Variant
Dim VName As New NotesDateTime(DD/MM/YY)
Call VName.AdjustDay(182)
' Заполняем Data_sovet
Call parentDoc.ReplaceItemValue("DateTimeField", Cdat(Data_sovet))
' Заполняем Data_protokol
Call parentDoc.ReplaceItemValue("DateTimeField", Cdat(Data_protokol))
Set parentDoc = session.CurrentDatabase.GetDocumentByID(currNoteID)
If parentDoc Is Nothing Then Error 5002, "Ошибка при получении основного документа"
Получилось, только в дате(пользовательском режиме) стоят две строчки:дата и время, можно ли время убрать оттуды?
' Заполняем Data_sovet
Call parentDoc.ReplaceItemValue("DateTimeField", Cdat(Data_sovet))
' Заполняем Data_protokol
Call parentDoc.ReplaceItemValue("DateTimeField", Cdat(Data_protokol))
' Заполняем Data_refresh
For i=1 To n
Sub Click(Source As Button)
On Error Goto Handler ' Если будет ошибка в работе - перейдет на обработчик ошибок
'Объявление переменных
' _________________________________________
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim UIview As NotesUIView
Dim uidoc As NotesUIDocument
Dim view As NotesView
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim currNoteID As String
Dim parentDoc As NotesDocument
Dim childDoc As NotesDocument
' Dim VName As New NotesDateTime( "DD/MM/YY" )
'Поля
Dim Organ As Long
Dim Data_sovet As Variant
Dim Data_protokol As Variant
'переменная, хранящая значение
Dim Data_refresh As Variant
'Продолжать?
' _________________________________________
Dim askme As Variant
askme = ws.Prompt(PROMPT_YESNO, "Вы уверены?", "Сгенерировать документ?")
If askme=0 Then
Exit Sub
End If
'Окно ручного ввода
n= Inputbox("Введите количество копий документа", "Создание копий документа")
'Подробней об CaretNoteID
currNoteID = ws.CurrentView.CaretNoteID
' документ из представления, копия которого будет сделана
Set parentDoc = session.CurrentDatabase.GetDocumentByID(currNoteID)
If parentDoc Is Nothing Then Error 5002, "Ошибка при получении основного документа"
' Call VName.AdjustDay(182)
'несколько копий дочернего документа
For i=1 To n
' Заполняем Data_sovet
' Call parentDoc.ReplaceItemValue("DateTimeField", Cdat(Data_sovet))
' Заполняем Data_protokol
' Call parentDoc.ReplaceItemValue("DateTimeField", Cdat(Data_protokol))
' Заполняем Data_refresh
' Call parentDoc.ReplaceItemValue("DateTimeField", Cdat(Data_refresh))
Set childDoc = parentDoc.CopyToDatabase( session.CurrentDatabase)
' получить значение, может быть ошибка, если пустое
Organ = parentDoc .GetItemValue ("Organ")(0)
Data_sovet = parentDoc .GetItemValue ("Data_sovet")(0)
Data_protokol = parentDoc .GetItemValue ("Data_protokol")(0)
Data_refresh = parentDoc .GetItemValue ("Data_refresh")(0)
childDoc.Organ = Organ+i
childDoc.Data_sovet = Data_protokol+i
'прибавить 182 дня к Data_sovet
childDoc.Data_protokol = Data_protokol+182
' childDoc.Data_protokol = Data_sovet +VName.DateOnly
Call childDoc.Save(True,False)
Next
'Обновляем, чтобы сразу появился в виде
Call ws.ViewRefresh
Exit Sub
handler:
' Простейший обработчик ошибок
Msgbox "Error:" & Error$ & Chr(10) & Chr(13) & " in line:" & Erl,16
If Not view Is Nothing Then View.AutoUpdate = True ' Это чтобы вернуть автообновление при ошибке.
Resume endh
endh:
End Sub
какого нового, синтаксис очень близок к бижуалвасикуа то у меня действительна каша от этого нового языка
какого нового, синтаксис очень близок к бижуалвасику
как пример - я без проблем ковыряю макросы в эхеле
Sub Click(Source As Button)
On Error GoTo Handler ' Если будет ошибка в работе - перейдет на обработчик ошибок
'Объявление переменных
' _________________________________________
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim UIview As NotesUIView
Dim uidoc As NotesUIDocument
Dim view As NotesView
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim currNoteID As String
Dim parentDoc As NotesDocument
Dim childDoc As NotesDocument
Dim VName As NotesDateTime
Dim n As Integer
Dim i As Integer
'Поля
Dim Organ As Long
Dim Data_sovet As Variant
Dim Data_protokol As Variant
'переменная, хранящая значение
Dim Data_refresh As Variant
'Продолжать?
' _________________________________________
Dim askme As Variant
askme = ws.Prompt(PROMPT_YESNO, "Вы уверены?", "Сгенерировать документ?")
If askme=0 Then
Exit Sub
End If
'Окно ручного ввода
n= InputBox("Введите количество копий документа", "Создание копий документа")
'Подробней об CaretNoteID
currNoteID = ws.CurrentView.CaretNoteID
' документ из представления, копия которого будет сделана
Set parentDoc = session.CurrentDatabase.GetDocumentByID(currNoteID)
If parentDoc Is Nothing Then Error 5002, "Ошибка при получении основного документа"
Set VName = New NotesDateTime("" & parentDoc.Getitemvalue("Data_sovet")(0))
Call VName.AdjustDay(182)
'несколько копий дочернего документа
For i=1 To n
Set childDoc = parentDoc.CopyToDatabase( session.CurrentDatabase)
Organ = parentDoc.GetItemValue ("Organ")(0)
Call childDoc.Replaceitemvalue("Organ", Organ)
' дата совета это дата протокола из оригинального документа
Call childDoc.Replaceitemvalue("Data_sovet", parentDoc.Getitemvalue("Data_protokol"))
' дата протокола это +182 дня
Call childDoc.Replaceitemvalue("Data_protokol", CDat(VName.Dateonly))
Call childDoc.Save(True,False)
Next
'Обновляем, чтобы сразу появился в виде
Call ws.ViewRefresh
Exit Sub
handler:
' Простейший обработчик ошибок
MsgBox "Error:" & Error$ & Chr(10) & Chr(13) & " in line:" & Erl,16
If Not view Is Nothing Then View.AutoUpdate = True ' Это чтобы вернуть автообновление при ошибке.
Resume endh
endh:
End Sub
childDoc.Organ = Organ+i
Set VName = New NotesDateTime("" & parentDoc.Getitemvalue("Data_sovet")(0))
Call VName.AdjustDay(182)
Set VName = New NotesDateTime("" & parentDoc.Getitemvalue("Data_protokol")(0))
Call VName.AdjustDay(182)
'переменная, хранящая значение
Dim Data_refresh As Variant
Call childDoc.Replaceitemvalue("Data_refresh", Cdat(VName.Dateonly))
next
If parentDoc Is Nothing Then Error 5002, "Ошибка при получении основного документа"
'несколько копий дочернего документа
For i=1 To n
Set VName = New NotesDateTime("" & parentDoc.Getitemvalue("Data_protokol")(0))
Call VName.AdjustDay(182)
Set childDoc = parentDoc.CopyToDatabase( session.CurrentDatabase)
Organ = parentDoc.GetItemValue ("Organ")(0)
childDoc.Organ = Organ+i
' дата совета это дата протокола из оригинального документа
Call childDoc.Replaceitemvalue("Data_sovet", parentDoc.Getitemvalue("Data_protokol"))
' дата протокола это +182 дня
Call childDoc.Replaceitemvalue("Data_protokol", CDat(VName.Dateonly))
Call childDoc.Save(True,False)
Set parentDoc = childDoc
Next
Set parentDoc = childDoc
Для защиты от бесполезной накрутки рейтинга, право его поднятия дается только после набора 10 сообщений. Так же, если у вас больше 10 сообщений, но все-равно вы не можете поднимать рейтинг другим - значит у вас отрицательный рейтинг и вам это тоже делать запрещено. Выбирайтесь из лужи=)
Обучение наступательной кибербезопасности в игровой форме. Начать игру!