Vzaimodejstvie Formi I View

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

Olga23

Гость
#1
Pomogite pogalujsta s resheniem problemi, kotoruju ya nikak ne mogu reshit...U menya est baza, kotoruju sozdavala ne ya i tam est odno koryavoe mesto. Problema svyazana s nim. No vopros budet zvuchat tak:
U nas f formu mogno vstavit View i v okne programmirovanija na levoj storone mi vidim Objects.
Dlya vstavlennogo View tam stoit(moget formuliruju nepravilno, kak ug perevela...No smisl dolgen bit ponyatnim):
sdelannij View: i pod nim:
sdelannij vibor(gde mi daem imya vstavlennogo View) i
otdelnuju kategoriju pokazat.
Vot se tim "otdelnuju kategoriju pokazat u menya i voznikli problemi.
U menya tam stoit:
DocID_T + NoteType
Gde DocID_T-eto pole. Hotela bi sprosit, ne znaete li eto pole, sozdannoe avtomaticheski ili ne? I KOGDA TAK NAPISANO:DocID_T + NoteType, to kogda otkrivaju v Notes, nichego nevigu.

Kogda ubirayu eto, to vigu vse dokumenti dlya vseh firm, a mne nado videt dokumenti, dlya odnoj firmi, formu/dokument kotoroj ya otkrivayu...
NoteType-eto DocTabname iz funkzii iz biblioteki skriptov:
Sub ChangeCompanyForm( DocForm As String, DocTabName As String, DocTabValue, EditMode As Integer, SaveMode As Integer )
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim item As NotesItem

Set uidoc = ws.CurrentDocument
Set doc=uidoc.Document
doc.form = DocForm
If DocTabName <> "" Then Set item = doc.Replaceitemvalue( DocTabName, DocTabValue )
If SaveMode Then doc.SaveOptions = "0"
Call uidoc.close()
Call ws.editdocument(EditMode, doc)
End Sub


Pogalujsta podskagite, kto znaet... ;)
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#2
Для: Olga23
Это свойство - для показа только одной категории. Как я понял есть документ фирмы. У каждой фирмы есть какие-то свои документы. На форме фирмы есть встроенное представление, которое эти документы должно отображать.
DocID_T - это поле у этих документов которое содержит, скорее всего, UNID документа фирмы. Что такое NoteType - не знаю и по твоему описанию не понятно.

Смысл свойства "otdelnuju kategoriju pokazat", как я сказал - это показывать только одну категорию. Т.е. у тебя есть представление (имя которого указано в свойстве выше), которое должно быть категоризировано. Скорее всего это первый столбец. Открой его и посмотри какая формула стоит для этого столбца. Скорее всего там формула типа "@DocumentUniqueID".
 
O

Olga23

Гость
#3
Spasibo za otvet.
Da, vi pravilno vse ponyali. A v pervom stolbze predstavlenija stoit:(CpyDocID_T):(PerDocID_T)
| |
eto kak ya ponyala Id a eto id dokumenta firmi
dokumenta firmi

Nu vot, a mne nado pokazat odni iz dokumentov, otnosyaschiesya k kagdoj konkretnoj firme. U kagdoj firmi est raznie dokumenti, tak vot vse oni pokazivayutsya v predstavlenii, vstavlennom v formu firmi, a eti net...

View dlya etogo tipa dokumentov ya sdelala po analogii, kak eto sdelano dlya drugih dokumentov firmi. A vot k sogaleniju ne rabotaet.
Kstati zabila dobavit:
esli ya ubirayu DocID_T + NoteType, to vigu dokumenti ne tolko prednaznachenie dlya etoj firmi, no voobsche vse.

A NoteType eto kak ya ponyala eto imya tablizi dokumenta pri izmenenii View.

Voobsche prinzip raboti etogo dokumenta firmi takoj:

est knopochki, dopustim "vse dokumenti", "korrespondenzija" i tak dalle.
Kod knopki "vse dokumenti":
Sub Click(Source As Button)
Call ChangeCompanyForm( "$CustomerNotes", "NoteType", "all", False , True )
End Sub

i tak dallee

Prichem dlya vseh knopok stoit NoteType. Pri nagime menyaetsya forma na druguju. Eto proishodit pri pomoshi koda:
Sub ChangeCompanyForm( DocForm As String, DocTabName As String, DocTabValue, EditMode As Integer, SaveMode As Integer )
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim item As NotesItem

Set uidoc = ws.CurrentDocument
Set doc=uidoc.Document
doc.form = DocForm
If DocTabName <> "" Then Set item = doc.Replaceitemvalue( DocTabName, DocTabValue )
If SaveMode Then doc.SaveOptions = "0"
Call uidoc.close()
Call ws.editdocument(EditMode, doc)
End Sub

Vot, no k spgaleniju ya ne vigu eti dokumenti, o kotorih napisala. Est idei kak eto ispravit?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#4
Для: Olga23
Более-менее понятно. Вроде бы, NoteType - это поле, которое идентифицирует документы каждой фирмы (т.е. для корреспонденции там одно значение, для других - другое значение). Посмотри в документах фирмы поле NoteType.

<!--QuoteBegin-Olga23+12:12:2005, 16:37 -->
<span class="vbquote">(Olga23 @ 12:12:2005, 16:37 )</span><!--QuoteEBegin-->esli ya ubirayu DocID_T + NoteType
[snapback]28290" rel="nofollow" target="_blank[/snapback]​
[/quote]
Попробуй убери NoteType. Оставь только DocID_T. Что будет ?
 
O

Olga23

Гость
#5
kogda ostavlyaju Doc_ID, to nichego net<!--QuoteBegin-Medevic+12:12:2005, 16:04 -->
<span class="vbquote">(Medevic @ 12:12:2005, 16:04 )</span><!--QuoteEBegin-->Для: Olga23
Более-менее понятно. Вроде бы, NoteType - это поле, которое идентифицирует документы каждой фирмы (т.е. для корреспонденции там одно значение, для других - другое значение). Посмотри в документах фирмы поле NoteType.

[snapback]28293" rel="nofollow" target="_blank[/snapback]​
[/quote]
Posmotrela, no tam net takogo polya. Eshe naschla takuju informaziju:
V dokumente firma est skritie polya CpyDocID_T, ono ravno DocID_T i ono vichislyaemoe pri sostavlenii. Eshe odno poleDocID_T ravno @Text(DocumentUniqeID), ono toge vichislyaemoe pri sostavlenii.

V dokumente Cheloveka te ge 2 polya + pole PerDocID_T = DocID_T i ono vichislyaemoe pri sostavlenii, a pole CpyDocID_T zdes uge ravno CpyDocID_T iz dokumenti firmi kak ya ponyala, i ono redaktiruemoe.

Vot teper ne znayu chto s etim i delat to:-(
 
O

Olga23

Гость
#7
Znaete,eshe vot nashla v svojstvah dokumentov. U vseh dokumentov, otnosyaschihsya k firme polya CpyDocID_T i PerDocID_T zapolneni, a u dokumentov, kotorie mne nugno otobrazit oni pusti. Moget iz-za etogo oshibka, potomu chto vibor idet po nim, a oni pusti..
 
O

Olga23

Гость
#8
sdelala, kak Vi mne posovetovali, i eshe v pervom stolbze View postavila DocID_T,tolko vot vse ravno nichego ne otobragaetsya...Moget kak to sdelat,chtobi CpyDocID_T i PerDocID_T bili ne pusimi, i togda poluchitsya?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#9
<!--QuoteBegin-Olga23+12:12:2005, 17:47 -->
<span class="vbquote">(Olga23 @ 12:12:2005, 17:47 )</span><!--QuoteEBegin-->Znaete,eshe vot nashla v svojstvah dokumentov. U vseh dokumentov, otnosyaschihsya k firme polya CpyDocID_T i PerDocID_T zapolneni, a u dokumentov, kotorie mne nugno otobrazit oni pusti. Moget iz-za etogo oshibka, potomu chto vibor idet po nim, a oni pusti..
[snapback]28296" rel="nofollow" target="_blank[/snapback]​
[/quote]
Конечно в этом. Эти поля надо заполнить. :)
Посмотри, как в других документах они заполняются. Скорее всего при создании документа.
 
O

Olga23

Гость
#10
Oj ne hochu pokazatsya sovsem tupoj, no vot poprobovala zapolnit eti polya, a ih voobsche v svoistve dokumenta net.Delo v tom, chto ya otpravlyaju mnogo e-mail iz odnoj formi(Text i tema odna i ta ge, tolko raznim ljudyam), forma nazivaetsya Serien E-Mail, a otkrivayu eti poslannie E-mail dokumenti v drugoj forme. V oboih forma est tolko DocID_T.
Ya poprobovala v pervuju formu, iz kotoroj otpravlyayu dobavit eti polya , no nichego ne proishodit.Navernoe ,ya ne pravilno eto delayu...
 
O

Olga23

Гость
#11
A seychas vot test e-maili poslala, tak voobsche netu nikakogo polya dage DocID_T v svojstvah:-(
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#12
Для: Olga23
Эти поля сами не заполнятся.
Если у тебя рассылка идет через скрипт, то, наверное, там они и должны заполняться. Посмотри внимательно код рассылки.
 
O

Olga23

Гость
#13
Seychas posmotrela i nashlaeto v nekotorih funkzijah script bibliotek. No vse eto tolko dlya formi, iz kotoroj mi posilaem tolko odin e-mail, vibiraya iz spiska.
A te e-mail, o kotorih ya govorila vchera, oni otpravlyayutsya iz odnoj formi, a s pomoschju drugoj formi ya pokazivayu kagdoe iz nih.
Nu vot v etom sluchae nichego ne nachla, gde bi upominalis DocID_T, CpyDocID_T ili PerDoc ID_T.

To chto nashla dlya formi, iz kotoroj mi posilaem tolko odin e-mail, vibiraya iz spiska.:
Sub SetContactPerson
'Const language
Const PickListHeader = "Auswahl"
Const PickListText = "Bitte wählen Sie ein Kontakt aus."

REM Const
Const ViewName = "$Lookup-Person"

REM Dim
Dim ss As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim view As NotesView
Dim coll As NotesDocumentCollection
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim maindoc As NotesDocument

REM Code
Set db = ss.CurrentDatabase
Set view = db.GetView( ViewName )
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document

'Person auswählen
Set coll = ws.PickListCollection( 1, False, db.Server , db.FilePath , ViewName , PickListHeader , PickListText, doc.CpyDocID_T(0))
If ( coll.Count <> 1 ) Then Exit Sub
Set maindoc = coll.getFirstDocument
doc.ContactPerson_T = Trim( Trim( Trim( maindoc.Salutation_T(0) + " " + maindoc.Title_T(0)) + " " + maindoc.FirstName_T(0)) + " " + maindoc.SurName_T(0))
doc.Phone_T = maindoc.Phone_T(0)
doc.PerDocID_T = maindoc.PerDocID_T(0)
Call uidoc.GotoField( "Subject_T" )
Call ws.ReloadWindow( )
End Sub


I eshe:
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim idview As NotesView
Dim uidoc As NotesUIDocument
Dim newdoc As NotesDocument
Dim tmpdoc As NotesDocument
Dim maindoc As NotesDocument
Dim doc As NotesDocument
Dim dbprofile As NotesDocument
Dim myprofile As NotesDocument
Dim rtitem As NotesRichTextItem
Dim answerrtitem As NotesRichTextItem
Dim TextFrom As String

REM Globals
Set db = ss.CurrentDatabase
Set idview = db.Getview( "$Lookup-DocID" )
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document

REM Code
If doc.PerDocID_T(0) = "" Then
Set maindoc = idview.Getdocumentbykey( doc.CpyDocID_T(0) )
Else
Set maindoc = idview.Getdocumentbykey( doc.PerDocID_T(0) )
If maindoc Is Nothing Then Set maindoc = idview.Getdocumentbykey( doc.CpyDocID_T(0) )
End If
If maindoc Is Nothing Then Exit Sub
Set dbprofile = db.Getprofiledocument( "$DatabaseProfile")
Set myprofile = db.Getprofiledocument( "$PersonalProfile", ss.Username)
TextFrom = SenderList( doc.Getitemvalue( "MailSendTo" ))

If Forward Then Set maindoc = GetMailAdress( "MailSendTo", "$CustomerByMail", True)
If maindoc Is Nothing Then Exit Sub

REM damit das RichTextItem "Body" ohne ein "Computewithform" angezeigt wird,
REM wird dieses in "tmpdoc" erstellt und dann in das eigentliche "newdoc" kopiert
REM Vorteil: ohne "Computewithform" schnellere Laufzeit
Set tmpdoc = db.CreateDocument
Set rtitem = tmpdoc.CreateRichTextItem( "Body")
With rtitem
.Appendtext( maindoc.LetterSalutation_T(0) )
.Addnewline( 3)
.Appendtext( myprofile.PF_MyGreetingText_T(0) + Chr(13) )
.Appendtext( dbprofile.PF_MyCompanyName_T(0) + Chr(13) + Chr(13))
.Appendtext( ss.Commonusername + Chr(13))
.Appendtext( myprofile.PF_MyUserDepartment_T(0) + Chr(13))
If myprofile.PF_MyUserAddData_T(0) <> "" Then .Appendtext( myprofile.PF_MyUserAddData_T(0) + Chr(13) + Chr(13))
If myprofile.PF_MyUserPhone_T(0) <> "" Then .Appendtext( Phone + myprofile.PF_MyUserPhone_T(0) + Chr(13))
If myprofile.PF_MyUserFax_T(0) <> "" Then .Appendtext( Fax + myprofile.PF_MyUserFax_T(0) + Chr(13))
If myprofile.PF_MyUserMail_T(0) <> "" Then .Appendtext( EMail + myprofile.PF_MyUserMail_T(0) + Chr(13))
If dbprofile.PF_MyCompanyInternet_T(0) <> "" Then .Appendtext( Internet + dbprofile.PF_MyCompanyInternet_T(0))
If WithProtocol Or Forward Then
.Addnewline(2)
If Forward Then
.Appendtext( TextLine + TextForward + ss.Commonusername + TextAt + Cstr( Now) + " " + TextLine + Chr(13))
Else
.Appendtext( TextLine + TextAnswer + TextLine + Chr(13))
End If
.Appendtext( AnswerMailFrom + SenderList( doc.Getitemvalue( "MailSendFrom_T")) + Chr(13))
.Appendtext( AnswerMailSendDate + doc.MailSendAt_D(0) + Chr(13))
.Appendtext( AnswerMailSendTo + TextFrom + Chr(13))
.Appendtext( AnswerMailCopyTo + SenderList( doc.Getitemvalue( "MailCopyTo" )) + Chr(13))
.Appendtext( AnswerMailSubject + doc.Subject_T(0) + Chr(13) + Chr(13))
If doc.Hasitem( "Body" ) Then
Set answerrtitem = doc.Getfirstitem( "Body" )
Call .AppendRTItem( answerrtitem )
End If
End If
End With

Set newdoc = db.CreateDocument
Call rtitem.CopyItemToDocument( newdoc, "" )
Call CopyStandardFields ( newdoc, doc )
With newdoc
.form = "EMail"
.FMailSend_N = 1
.PerDocID_T = maindoc.PerDocID_T(0)
.ContactPerson_T = Trim( Trim( Trim( maindoc.Salutation_T(0) + " " + maindoc.Title_T(0)) + " " + maindoc.FirstName_T(0)) + " " + maindoc.SurName_T(0))
.Phone_T = maindoc.Phone_T(0)
If Forward Then
.MailSendTo = maindoc.EMail_T
.HeaderLineVar1_TD = HeaderLineForward
Else
.MailSendTo = doc.MailSendFrom_T
.ReplyToAll = Arrayappend( doc.MailCopyTo, doc.MailSendTo ) ' am 11.3.2003 geändert
.HeaderLineVar1_TD = HeaderLineAnswer
End If
' if Abfrage ergänzt am 9.6.2004
If Forward Then
.Subject_T = doc.Subject_T(0)
Else
If Not (Ucase( Left ( doc.Subject_T(0), Len( Re1) )) = Ucase(Re1) Or Ucase(Left ( doc.Subject_T(0), Len( Re2) )) = Ucase(Re2) ) Then
.Subject_T = Re2 + doc.Subject_T(0)
Else
.Subject_T = doc.Subject_T(0)
End If
End If
'-----------
.type_K = ""
End With
Set uidoc = ws.editdocument( True, newdoc, False )
End Sub

Vot nu i chto teper delat. V forme iz kotoroj posilaem eti mnogo e-mailov, est tolko pole DocID_T, kotoroe kak mne kagetsya ispolzuem dlya kagdogo dokumenta, sozdannogo na osnove etoj formi(T.e forma, iz kotoroj mi otpravili eti e-maili.)
Est idei, chto delat?Ved mne eto vse nado eshe vo Voew pokazat dlya kagdoj firmi:-(
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#14
Для: Olga23
Не знаю, что делать. Код мне практически ничего не говорит. Поле DocID_T, как мне кажется, содержит UNID самого документа. PerDocID_T - UNID какого-то главного документа (возможно, документа фирмы). CpyDocID_T - не знаю.

<!--QuoteBegin-Olga23+13:12:2005, 11:43 -->
<span class="vbquote">(Olga23 @ 13:12:2005, 11:43 )</span><!--QuoteEBegin-->V forme iz kotoroj posilaem eti mnogo e-mailov
[snapback]28319" rel="nofollow" target="_blank[/snapback]​
[/quote]
Второй код создает какие-то документы по форме "EMail". Т.е. у этих созданных документов должно быть поле PerDocID_T, которое содержит UNID главного документа. И оно должно быть не пустое. Проверь.

В форме, из которой ты посылаешь e-mail'ы, эти самые e-mail'ы уже созданы вышенаписанным кодом ? Или формируются по нажатию на кнопку ?
 
O

Olga23

Гость
#15
oni formitujutsya na nagatuju knopku. Kod (eto funkzija v biblioteke scriptov):
Function SendMailToList ( mdoc As NotesDocument, IsAgent As Integer ) As String
SendMailToList = Cstr(Now) + pStart
Set ss = New NotesSession
Set db = ss.CurrentDatabase
Set senddb = New NotesDatabase( "", "" )
Set pdoc = db.Getprofiledocument( "$DatabaseProfile" )
AdressIDList = SetAdressArray( mdoc, True )
If Isempty( AdressIDList ) Then
SendMailToList = SendMailToList + Chr(13) + NoDocuments
If Not IsAgent Then Messagebox NoDocuments + NoMailSent, 0, MsgHeader
Else
SendMailToList = SendMailToList + Chr(13) + Cstr( Ubound( AdressIDList ) + 1) & pReceiver
If Not IsAgent Then Print Cstr( Ubound( AdressIDList ) + 1) & pReceiver
If pdoc.PF_SendMailbox_T(0) = "Mailbox" Then
Call senddb.Open( pdoc.PF_MailServer_T(0), pdoc.PF_Mailbox_T(0) )
SendDirect = True
Else
Set mail = db.createdocument
Call SetStandardFields( mdoc )
SendDirect = False
End If
'Mail erstellen
j& = 0
'+++++ spisok informazii o poluchatele
Dim firmaenInfo As Variant
Dim tdoc As NotesDocument


Forall z In AdressIDList
Set tdoc=db.createdocument
Set cdoc = db.Getdocumentbyunid( z )
If SendDirect Then
Set mail = New notesdocument(senddb)
Call SetStandardFields( mdoc )
firmaeninfo= SetVarFields( cdoc, mdoc)
mail.Recipients = cdoc.EMail_T
mail.PostedDate = Now
Call mail.Save( False, True )
Else
firmaenInfo= SetVarFields( cdoc, mdoc )
Call mail.send( False )
End If

Call mail.CopyAllItems(tdoc,False)
'Form, in der den Dokument geöffnet wird
tdoc.form="EMailSerien"
tdoc.Name1_T= firmaenInfo(0)
tdoc.City_T= firmaenInfo(1)
tdoc.ContactPerson_T=firmaenInfo(2)
tdoc.ReplyTo=firmaenInfo(3)
tdoc.MailSendAt_D=Now
tdoc.Subject_T=tdoc.Subject
tdoc.MailSendTo=tdoc.sendto

Call tdoc.Save(True,False)
j& = j& + 1
If Not IsAgent Then Print Cstr( j& ) + pMailsSend
End Forall
'++++ sb sohranyaem etot spisok


SendMailToList = SendMailToList + Chr(13) + Cstr( j& ) + pMailsSend
If Not IsAgent Then Messagebox Cstr( j& ) + pMailsSend, 0, MsgHeader
End If
mdoc.SentAt_D = Now
SendMailToList = SendMailToList + Chr(13) + Cstr( Now ) + pEnde
mdoc.SendProtocol_T = mdoc.SendProtocol_T(0) + Chr(13) + Chr(13) + SendMailToList
mdoc.FPending_K = "2"
Call mdoc.save( True, False )
End Function

Vot, gde:
Dim ws As NotesUIWorkspace
Dim senddb As NotesDatabase
Dim cdoc As NotesDocument
Dim pdoc As NotesDocument
Dim mail As NotesDocument

Dim AdressIDList As Variant
Dim SendDirect As Integer
Dim j As Long
Eta biblioteka skripta ispolzuet eshe odnu, dge sostavlyaetsya AdressIDList:
Function SetAdressArray( doc As NotesDocument, OnlyEMail As Integer ) As Variant
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim i As Integer
Set db = ss.CurrentDatabase
Set cpyview = db.GetView( CompanyView )
Set perview = db.GetView( PersonView )
Set cpydoc = cpyview.Getfirstdocument
Set searchdoc = doc
TotalRecords& = cpyview.TopLevelEntryCount

If Not SetSelectionFields Then Exit Function
SelectedAdress& = -1
Do Until cpydoc Is Nothing
cLogSolution = False
Set item=cpydoc.getfirstitem( "IsCustomer_K" )
Forall z In searchdoc.IsCustomer_K
If item.contains( z ) Then cLogSolution = True : Exit Forall
End Forall
If cLogSolution Then
For i% = 0 To maxCount
If SelectedFields( i%).DocType = cForm Then Call IsCondition( i%, cpydoc )
Next
For i% = 0 To maxCount
If SelectedFields( i% ).IsOpen And SelectedFields( i% ).CpyDocPrior And SelectedFields( i%).DocType = cForm Then cLogSolution = SetLogSolution( cLogSolution, i% )
Next
cLogSolution = CheckDate( cpydoc, cLogSolution )
IsPersonSelect = False
If cLogSolution Then
Set percoll = perview.Getalldocumentsbykey( cpydoc.CpyDocID_T(0), True )
Set perdoc = percoll.Getfirstdocument
Do Until perdoc Is Nothing
For i% = 0 To maxCount
If SelectedFields( i%).DocType = pForm Then Call IsCondition( i%, perdoc )
Next
pLogSolution = True
For i% = 0 To maxCount
If SelectedFields( i% ).IsOpen And SelectedFields( i%).DocType = pForm Then pLogSolution = SetLogSolution( pLogSolution, i% )
Next
pLogSolution = CheckDate( perdoc, pLogSolution )
If pLogSolution Then IsPersonSelect = True : Call SetNewAdress( perdoc, OnlyEMail )
Set perdoc = percoll.Getnextdocument( perdoc )
Loop
If Not IsPersonSelect And searchdoc.CritSelectCust_K(0) = "1" Then
For i% = 0 To maxCount
If SelectedFields( i% ).IsOpen And Not SelectedFields( i% ).CpyDocPrior And SelectedFields( i%).DocType = cForm Then cLogSolution = SetLogSolution( cLogSolution, i% )
Next
If cLogSolution Then Call SetNewAdress( cpydoc, OnlyEMail )
End If
End If
End If
Set cpydoc = cpyview.GetNextDocument( cpydoc )
Loop
If SelectedAdress& >= 0 Then SetAdressArray = AdressID
End Function

Tut mi mogem uvidet CpyDocID_T.Teper nado kak to zapomnit etot CpyDocID_T, pri otpravlenii etih e-mail, no ne dlya odnogo dokumenta(sdelannogo na osnove formi otpravlenija), a dlya kagdogo otdelnogo e-mail, poslanogo iz etoj formi..
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#16
<!--QuoteBegin-Olga23+13:12:2005, 12:34 -->
<span class="vbquote">(Olga23 @ 13:12:2005, 12:34 )</span><!--QuoteEBegin-->Function SendMailToList ( mdoc As NotesDocument, IsAgent As Integer ) As String
[snapback]28322" rel="nofollow" target="_blank[/snapback]​
[/quote]
Что такое mdoc ?
 
O

Olga23

Гость
#17
Sub CheckMailList( mdoc As NotesDocument, OnlyEMail As Integer )
AdressIDList = SetAdressArray( mdoc, OnlyEMail )
If Isempty( AdressIDList ) Then
Messagebox NoDocuments, 0, MsgHeader
Else
Messagebox Cstr( Ubound( AdressIDList ) + 1 ) + DocumentsFound, 0, MsgHeader

End If
End Sub
 
O

Olga23

Гость
#18
Sub SetStandardFields( mdoc As NotesDocument )
mail.Form = "Memo"
mail.From = mdoc.ReplyTo_T
mail.ReplyTo = mdoc.ReplyTo_T
mail.Subject = mdoc.Subject_T(0)
End Sub

kak ya ponyala, mdoc-eto spisok naydennih e-mail ili forma otpravlenija
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#19
Для: Olga23
Откуда вызывается SendMailToList ? В качестве первого параметра ей передается некоторый документ. Что за документ ?
 
O

Olga23

Гость
#20
Function SetVarFields( cdoc As NotesDocument, mdoc As NotesDocument ) As Variant
Dim temp(3) As String
Dim newrtitem As NotesRichtextItem
Dim textrtitem As NotesRichtextItem
mail.SendTo = cdoc.EMail_T
Call mail.RemoveItem( "Body" )
Set newrtitem = mail.Createrichtextitem( "Body" )
Set textrtitem = mdoc.Getfirstitem( "Body" )
Call newrtitem.Appendtext( cdoc.LetterSalutation_T(0) )
Call newrtitem.Addnewline(2)
Call newrtitem.Appendrtitem( textrtitem )

' +++ sb daet imja firmi i email adres nazad

temp(0)=cdoc.Name1_T(0)
temp(1)=cdoc.City_T(0)
temp(2)=Trim(cdoc.Salutation_T(0) + " " + cdoc.Title_T (0)+ " " + cdoc.FirstName_T(0) + " " + cdoc.SurName_T(0))
temp(3)=cdoc.ReplyTo(0)
SetVarFields=temp

End Function
 
Статус
Закрыто для дальнейших ответов.