Массовая рассылка писем для БОУРМ
Скачать (zip-файл; Размер - 1262)Обсудить в форуме
Описание
Массовая рассылка писем для БОУРМ
Текст примера
/*************************************************************/ /* Создание письма для всех клиентов. */ /* Письмо должно лежат в каталоге .\TXTFILE */ /*************************************************************/ import cbmFormFields; FILE imsg(clbimsg) key 6; FILE imsgw(clbimsg) key 0 write; file inn(clbclnt) key 0; FILE tt () txt; /* Структура документа */ RECORD CurrentRecord(clbimsg); RECORD NewRecord(clbimsg); const FormSeparatorBegin = "(", FormSeparatorEnd = ")"; var NewLine, sMessage, nj, bFlgFirstEntry, NDaysHollyday; NewLine=strfor(10); /* Ввод текста письма */ MACRO NewLetterAdd(sInn, dDate, sSubj, sText, sDocId, nReis) VAR dictId, updateDate, updateTime, bFlgRet, RecId; NewRecord.form = 1007; NewRecord.BIC = "045354886"; NewRecord.INN = sInn; NewRecord.imsgDate = dDate; NewRecord.operDocId = sDocId; NewRecord.imsgNum = nReis; cbInitFormFields(NewRecord); if(cbFormFieldsNum(NewRecord) != 0) cbSetFieldByName(NewRecord, "subj", sSubj); cbSetFieldByName(NewRecord, "text", sText); end; RecId=cbMakeAndSendInfoMessage(NewRecord); if ( RecId != 0 ) imsgw.Id=RecId; if (geteq(imsgw)) imsgw.operDocId = sDocId; update(imsgw); end; println("Создано письмо ",dDate," N=",RecId," ",imsgw.operDocId); return(True); end; println(" Не удалось создать письмо для ",sDocId); return(False); OnError(x) println("Error: ",x.code); println(x.message); if(x.code == 42) /* IER_RUNTIME - ловим баги вылетающие из вложенных макросов */ return false; end; RunError(); END; var sSubj, sText = "", sDocId, nReis, sfile = ""; var textLoad = "Выберите файл для загрузки в письмо", fileMask = "*.txt"; /* Вводим тему письма */ IF ( NOT GETSTRING(sSubj,"Введите тему письма: ",70) ) sSubj = STRING(date())+" Письменное сообщение для клиентов Банка ОИКБ РУСЬ."; END; /* Выбираем файл с письмом */ IF ( not(SelectFile(sfile, "..\\txtfile\\*.txt", textLoad)) ); msgbox("Файл не выбран!"); EXIT(1); ELSE msgbox("Выбран файл: "+sfile); END; OPEN (tt,sfile); sDocId="1"; nReis=1; while (next(inn)) WHILE (NEXT(tt)) sText = sText + (tt.str) + NewLine; END; NewLetterAdd(inn.Inn, Date, sSubj, sText, sDocId, nReis); end;