Диалоги Lotus developers

  • Автор темы Автор темы Vagor.ini
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Для: nor
Спасибо за совет, но насколько я вижу по коду, ничего подобного (изменения ссылки на родительский документ) нигде не производится. :(
Иначе я бы знала как это делается. :rolleyes:
Когда я нахожу эти документы (пока нашла 3 таких за месяц работы базы), то ссылка на родительский документ ($Ref) все еще сохраняется, тоесть при нажатии на нее открывается документ, бывший родительским.
Однако после пересохраниения ответа, ссылка $Ref начинает ссылаться на сам ответный документ.
Код, висящий на сохранении:
Код:
Sub Postsave(Source As Notesuidocument)
Dim ws As New NotesUIWorkspace
Dim pdoc As NotesDocument
Set uidoc = Source
Set doc = uidoc.Document
Dim parentUnid As String

parentUnid = doc.ParentDocumentUNID
If parentUnid <> "" Then
Set pdoc=ws.CurrentDatabase.Database.GetDocumentByUNID(parentUnid)
Call pdoc.Save(1,0,0)
End If
End Sub

Проверю еще раз агенты - вдруг все-таки кто-то пытается менять родительское id ответа.
 
@SetDocField(@DocumentUniqueID;"$Ref";"E8B0CC9C9C200D79C22570180022D728")

вместо ссылки на родительский документ присваивает рефу строковое знанчение (что не удивительно :( ).
Подскажите, пожалуйста, как правильно присвоить рефу ссылку. :rolleyes:
 
<!--QuoteBegin-Юлия+21:06:2005, 16:16 -->
<span class="vbquote">(Юлия @ 21:06:2005, 16:16 )</span><!--QuoteEBegin-->Подскажите, пожалуйста, как правильно присвоить рефу ссылку.
[snapback]21421" rel="nofollow" target="_blank[/snapback]​
[/quote]
$REF не строкое поле а специального формата, также как и имена и даты . Переподчинение документа и меняет это поле.


Для: Юлия Посмотри может у тебя форма для ответов не ответная и по-этому после пересохранения сбивается привязка

Насчет кода


Код:
Sub Postsave(Source As Notesuidocument)
Dim ws As New NotesUIWorkspace
Dim pdoc As NotesDocument
Set uidoc = Source
Set doc = uidoc.Document
Dim parentUnid As String

parentUnid = doc.ParentDocumentUNID
If parentUnid <> "" Then
Set pdoc=ws.CurrentDatabase.Database.GetDocumentByUNID(parentUnid)
Call pdoc.Save(1,0,0)
End If
End Sub

Вообще безмыслица. После сохранения сохранять главный, без пересчета, хотя других кодов нету по работе с главным. Может не в ответном меняется реф а в главном ИД
 
<!--QuoteBegin-Юлия +-->
<span class="vbquote">(Юлия )</span><!--QuoteEBegin-->А как перенести эти суммы в Эксель?[/quote]
Из вида экспорт или программно по колонкам бегать
И как в виде сделать сумму по столбцам?...
что-то я торможу.
Свойство колонки суммировать
Основная проблема в том, чтобы в Экселе строчки договоров не дублировались, как это происходит в Лотусе.
При экспорте выгружать только категории
 
Для: Domino6
Форма ответная 100%.
Я понимаю, что $Ref не строковое поле, но как можно восстановить родителя, если не присвоить его ID рефу?

Главный документ в процессе работы с другой БД вообще никак не затрагивается.
Зато в главном обнаружила такое:

Код:
Sub Postsave(Source As Notesuidocument)
' Необходимо обновить все зависимые документы...
Dim session As New NotesSession  
Dim db As NotesDatabase
Dim agent As NotesAgent	
Dim view As NotesView	
Dim collection As NotesDocumentCollection
Dim wdoc As NotesDocument
Dim doc As NotesDocument
Dim item As NotesItem

Set agent = session.CurrentAgent  
Set db = session.CurrentDatabase
Set doc = Source.Document	
Set view = db.GetView("RequestAdd~RequestUNID")
Call view.Refresh
Set collection = view.GetAllDocumentsByKey(Cstr(doc.UniversalID), True)
If collection.Count = 0 Then Exit Sub
Set wdoc = collection.GetFirstDocument
While Not wdoc Is Nothing  
'------------------------------------------------------------------------------------------------------------	
 ' Обновим поля в приложениях...  	
 'wdoc.Subject = doc.Subject(0)
 
 Call wdoc.ReplaceItemValue("Status",doc.Status)
 Call wdoc.ReplaceItemValue("FPYear",doc.FYear)
 Call wdoc.ReplaceItemValue("FPMonth",doc.FMonth)
 Call wdoc.ReplaceItemValue("Visible",doc.Visible)
'------------------------------------------------------------------------------------------------------------	
 Call wdoc.Save(True, True)
 Set wdoc = collection.GetNextDocument(wdoc)
Wend
Delete session	
End Sub
 
<!--QuoteBegin-Юлия+22:06:2005, 08:55 -->
<span class="vbquote">(Юлия @ 22:06:2005, 08:55 )</span><!--QuoteEBegin-->но как можно восстановить родителя, если не присвоить его ID рефу
[snapback]21453" rel="nofollow" target="_blank[/snapback]​
[/quote]
Использовать метод MakeResponce<!--QuoteBegin-Юлия+22:06:2005, 08:55 -->
<span class="vbquote">(Юлия @ 22:06:2005, 08:55 )</span><!--QuoteEBegin-->Форма ответная 100%.
[snapback]21453" rel="nofollow" target="_blank[/snapback]​
[/quote]
А $REF не прописан впрямуюв форме с вычисляемым значением ?
 
Для: Domino6
Спасибо, попробую.

Нет реф не прописан.
Есть поле ParentUNID с кодом:
@If(@IsNewDoc; @Unavailable; $Ref)
 
Ребят ,привет. Подскажите,пожалуйста, пути решения следующей задачи:
Есть определенное представление(например Организаций), в котором документы с группированы, скажем по первой букве какого то поля(например, Название организации)... считается сколько документов в той или иной группе, а потом результаты должны выводиться ввиде круговой гистограммы...

Пока додумался только до экспортирования представления в Excel, и создание там гистограммы...

Может есть какие -либо более "красивые" решения проблемы"?
 
<!--QuoteBegin-Duedev+13:07:2005, 01:30 -->
<span class="vbquote">(Duedev @ 13:07:2005, 01:30 )</span><!--QuoteEBegin-->"красивые" решения проблемы"
[snapback]22113" rel="nofollow" target="_blank[/snapback]​
[/quote]

1. Можеш попробывать SVG
2. Lotus Componets
3. Отчетные системы для Lotus Notes c гистограммами
4. Компоненты в виде dll от C++ или Delphi, которые умеют рисовать гистограмми в виде графических файлов

<!--QuoteBegin-Duedev+13:07:2005, 01:30 -->
<span class="vbquote">(Duedev @ 13:07:2005, 01:30 )</span><!--QuoteEBegin-->до экспортирования представления в Excel, и создание там гистограммы.
[snapback]22113" rel="nofollow" target="_blank[/snapback]​
[/quote]
Вполне нормально, файл бери готовый(раскрашеный со вставленной гистограммой)
 
1. Можеш попробывать SVG
Мдя ... а что это такое, Svg?...

С экселем тоже не все гладко, думал , щас все сделаю, раз плюнуть...но столкунлся со следующей проблемой, создаю файл снуля:
Код:
   Sub Click(Source As Button)
Dim xl As Variant
Dim MyBook As Variant
Dim MySheet As Variant
Dim MyChart As Variant
Dim cho As Variant


Print "Подождите, идет создание диаграммы..."
Set xl=CreateObject("Excel.Application")
Set MyBook=xl.Workbooks.Add
Set MySheet = MyBook.Worksheets(1)
Set cho = MySheet.ChartObjects.Add(240, 2, 320, 242)


cho.Chart.ChartArea.Shadow = True

'cho.Chart.ChartTitle.Caption = "Итоговая диаграмма"
                'cho.Chart.ChartWizard MySheet.Range("a1:a10"), _
                       xl3DPie, 7, , , , False,"Итоговая диаграмма"


 
xl.Visible=True


End Sub
Все, что в коментарии почему-то не работает... с точки зрения синтаксиса здесь, вроде, все верно(я проверял непосредственно в экселе), а вот с классами непонятно...
Может чего не до сообщил Лотусу?

-Уже решил проблему.... как всегда причина в какой-нибудь мелочи
забыл объявить константу (const xl3Dpie=-4102)
 
<!--QuoteBegin-Duedev+13:07:2005, 15:23 -->
<span class="vbquote">(Duedev @ 13:07:2005, 15:23 )</span><!--QuoteEBegin-->Svg?
[snapback]22139" rel="nofollow" target="_blank[/snapback]​
[/quote]


Работая с объектом не создавай новый а открой старый, в котором уже создан чарт
 
2 Gogan.exe

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

В Lotus Designer есть одна неудобная штука. Если Вы удалили поле, то в списке существующих полей (инспектор, поля для столбцов вида и т.п.) все равно висит имя этого, несуществующего поля. Это, в принципе ни на что не влияет, но засоряет список. Так вот чтобы убрать это имя поля из списка следует сделать:

1. убедиться, что поле нигде не используется (формы, подформы, документы, в том числе профильные)
2. на последней справа закладке св-в БД поставить галку на "Оптимизировать таблицы документов".
3. Запустить сжатие. </quote>

Читал тут интересную штуку такую....но только кое что не понял
Тут вопрос по 3 пункту как запустить сжатие? и что это такое вообще?
 
Для: Gor
Compact на одной из закладок свойств базы
 
Что-то я торможу...
Есть текстовая переменная sf

Ее значение на момент вызова функции равно:
Код:
(FORM = "Request") & (Visible!="0") & ( Doc_Vid = "Решение" | "" ) & ( Doc_Date > 26.07.2005 & Doc_Date < 26.07.2005)

Функция: Set coll=db.Search(sf,dateTime,0)

Но ничего не выполняется.
Пишет - Error 4005: Notes Error: Formula Error
Причем явно глюк в дате - ( Doc_Date > 26.07.2005 & Doc_Date < 26.07.2005)
Потому что без этого условия все отлично выбирается.

Что неправильно я написала, при формировании условия?
Помогите плз. :)
 
а... дошло :)
Такая конструкция мне помогла:

sf=sf+{ & ( Doc_Date >= @TextToTime("}+ FDate +{") & Doc_Date <= @TextToTime("}+ EDate +{")) }
 
<!--QuoteBegin-Юлия+26:07:2005, 18:33 -->
<span class="vbquote">(Юлия @ 26:07:2005, 18:33 )</span><!--QuoteEBegin-->Причем явно глюк в дате - ( Doc_Date > 26.07.2005 & Doc_Date < 26.07.2005)
[snapback]22586" rel="nofollow" target="_blank[/snapback]​
[/quote]

На формулах дата пишется в "[" "]"
Doc_Date > [26.07.2005] & Doc_Date < [26.07.2005]
 
Делаю базу под веб. Не могу графичиский бэкграунд задать для странички. В лотусе нормально отображается, а в вебе белый фон. Как это исправить?
 
С бэкграундом все ок. На днях пришел – все работает. Сам ничего не делал.

Есть новый вопрос:
Делаю поиск дока по базе с целью информирования пользователя о наличии или отсутствии дока с таким именем. Строка поиска работает правильно, вот только со статическими данными. Как на собачьем языке выдернуть содержимое из поля, запхнуть его в переменную и использовать в другой строке?

10X
 
Для: Gogan.exe
Можно использовать @Set. Можно просто прописать "переменная:=значение".
В значении указываешь имя поля. Также можно использовать @GetField или @GetDocField.
Или тебе надо в одном месте использовать данные, полученные в другом месте ?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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