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

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

    Скидки до 10%

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

RT файлы FP7

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
после ФП7 аттачи стали отображаться под чертой...
upload_2016-11-22_14-2-20.png
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
код
Код:
    Dim rtitem As NotesRichTextItem
    Set rtitem = RemoveAttachments(doc, "body")
    Call doc.Save(True,False,True)'установить прочитанным
   
    '   fname=Replace(fname,{\},{/})
    fname=Replace(fname,{/},{\})'Windows specific
    If ( rtitem.Type = RICHTEXT ) Then
        Call rtitem.EmbedObject( EMBED_ATTACHMENT,{} , fname, fnam(0))
        Call doc.Save(True, False)
        If worddoc Is Nothing Then
            Dim res, run As String
            'run={cmd.exe /C start "} &fname &{"}
            run={cmd.exe /C ""} &fname &{""}
            Print {Shell calling...}, run
            res=Shell(run, 6)
        End If
    End If
удалени аттачей
Код:
Function RemoveAttachments(objdoc As NotesDocument, fld As String) As NotesRichTextItem
    Dim rtItem As NotesRichTextItem
    Dim docItem As NotesItem
   
    On Error GoTo errorhandler
    Set docItem=objdoc.GetFirstItem(fld)
    If Not docItem Is Nothing Then
        DbgMsg("RichText:" & CStr(docItem.Type = RICHTEXT))
        If docItem.Type=RICHTEXT Then
            Set rtItem=docItem
        End If
    End If
    If objdoc.Hasembedded Then 
        If ( Not rtItem Is Nothing ) Then
            If (Not IsEmpty(rtitem.EmbeddedObjects))Then
                ForAll o In rtitem.EmbeddedObjects
                    Call o.Remove
                    DbgMsg("RT field: remove attachments")
                End ForAll
            End If
        Else
            If ( Not IsEmpty(objdoc.EmbeddedObjects)) Then
                ForAll o In objdoc.EmbeddedObjects
                    Call o.Remove
                    DbgMsg("remove attachments")
                End ForAll
            End If
        End If
    End If
   
    Do While Not objdoc.GetFirstItem("$FILE") Is Nothing
        objdoc.RemoveItem("$FILE")
        DbgMsg("remove fields: $FILE")
    Loop
   
    If (rtItem Is Nothing) Then
        Do While Not objdoc.GetFirstItem(fld) Is Nothing
            objdoc.RemoveItem(fld)
            DbgMsg("Remove non RT fields:" & fld)
        Loop
        Set rtItem=objdoc.CreateRichTextItem(fld)
        Call objdoc.Save(True,False)
    End If
    Set RemoveAttachments=rtItem
ExitFunction:
    Exit Function
errorhandler:
    Call RaiseError()
    Resume ExitFunction
End Function
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
@garrick ну это его результат, когда аттачи через интерактив - такого нет
просто я думал че-то можно подкрутить (м.б. удалять поле вовсе)
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
как я понял - так отображается, и мне кажется - зареганные типы в ОС
 

oshmianski

Достойный программист
Lotus Team
25.04.2012
711
59
BIT
2
@lmike,
Я чет не понял, этот код для демонстрации баго-фичи и ее лечения?
Код "удалени аттачей" для чего?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
@lmike,
Я чет не понял, этот код для демонстрации баго-фичи и ее лечения?
Код "удалени аттачей" для чего?
код, раньше, лечил траблу со слетевшими хинтами
но теперь он не помогает :(
приведен просто как часть процесса
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
и еще - я даже не знаю как гугл спросить, про такой факап
 

Darkhan

Green Team
14.12.2012
99
2
BIT
0
По большому счету, не все ли равно как оно отображается, программно к аттачу достучаться же можно. У меня на практике такое часто выходило, я просто забил на это, отображаю иконку аттача "по-своему"
 

Darkhan

Green Team
14.12.2012
99
2
BIT
0
кстати, у меня такое выходило, когда я программно аттачил в текущий открытый док
 

oshmianski

Достойный программист
Lotus Team
25.04.2012
711
59
BIT
2
я давеча тоже натолкнулся на такую траблу.
костыль: в форме, в первой строке добавил header и высоту ему сделал 0.
уродско и не всегда применимо, ну а что делать...
 

oshmianski

Достойный программист
Lotus Team
25.04.2012
711
59
BIT
2
кстати, у меня такое выходило, когда я программно аттачил в текущий открытый док
неа, теперь уже даже просто в background.
или это бага, которую исправят или нужно курить... уж и не знаю чего я только не курил с этими индусами.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
флаги поснимал, но трабла не прошла
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
или это бага, которую исправят или нужно курить...
такое ощущение - они цепляют системную иконку (теперь) в хинт, но каким-то образом, хинт (при этом) портится
все больше склоняюсь к мысли - делать аттач через DXL
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
нашел разницу в ДХЛ
и она... в поле $FILE, но в нотусевой сучности я не знаю где копать, а ДХЛ
XML:
<item name="$FILE" summary="true" sign="true" seal="true">
- <object>
- <file hosttype="msdos" compression="none" flags="sign storedindoc" encoding="none" name="Договорзайма.doc" size="45545">
с flags! будет "нормально" загружен, а такой
XML:
- <item name="$FILE" summary="true" sign="true" seal="true">
- <object>
- <file hosttype="msdos" compression="none" encoding="none" name="Договорзайма.doc" size="45545">
в индусском стиле
то - достаточно flags='storedindoc' (атрибут) добавить в тег (<file...), для "правильного" резалта
 
Последнее редактирование:

savl

Lotus Team
28.10.2011
2 602
312
BIT
220
@lmike @oshmianski
мне рассылка от IBM по APAR приходит, ICN больше нет :(



The record has been opened. Subscription to this Authorized Program Analysis Report (APAR) is available.



The record has been opened. Subscription to this Authorized Program Analysis Report (APAR) is available.
 

swyatogor

Green Team
24.02.2014
593
24
BIT
0
хм.. странно.. у мну fp7 давно стоит.. таких артефактов не наблюдал..
а ODS какой у Ваших баз?
 
Мы в соцсетях:

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