Имя: Пароль:
1C
1С v8
Переделываю 7 на 8! (рассылку)
0 Мисти
 
04.01.14
20:49
Сам отчет уже получился, осталось его разослать.
Встроенной рассылкой пока не соображу, как воспользоваться, а нужно срочно!
Помогите перевести!
1 Мисти
 
04.01.14
20:50
Файл =ФС.НайтиПервыйФайл(TrimAll(КаталогИБ()+"mail\*.htm"));    
    Пока ЗначениеЗаполнено(Файл) Цикл
        ФС.УдалитьФайл(TrimAll(КаталогИБ()+"mail\"+Строка(Файл)));
        Если Файл =ФС.НайтиПервыйФайл(TrimAll(КаталогИБ()+"mail\*.htm")) Тогда
             Прервать;
        Иначе
            Файл =ФС.НайтиПервыйФайл(TrimAll(КаталогИБ()+"mail\*.htm"));
        КонецЕсли;    
    КонецЦикла;
2 Мисти
 
04.01.14
20:50
Вот это как перевести?
3 Мисти
 
04.01.14
20:51
И еще вот такой кусок:
                     ИмяФайла = _GetPerformanceCounter();
                    Сформировать(СокрЛП(ИмяФайла),ТЗ.Клиент.ТекущийЭлемент(),ТЗ.ПолноеНаименование,2);
                    loCdoMessage = "";
                    loCdoMessage = CreateObject("CDO.Message");//////
                    loCdoMessage.Configuration = loConfig;//////
                    loCdoMessage.From = "keratrium_oplata@keratrium.ru";
                    
                    loCdoMessage.To = "maillistarchive@keratrium.ru; " + СокрЛП(ТЗ.Адрес1) + "; " + СокрЛП(ТЗ.Адрес2);
                    loCdoMessage.Subject = "ООО " + Chr(34) + "Кератриум" + Chr(34) + "для " + ТЗ.ПолноеНаименование + ". Уведомление по предстоящим оплатам за период с " + Строка(ВыбНачПериода) + " по " + Строка(ВыбКонПериода) + ".";
4 Мисти
 
04.01.14
20:56
Где бы волшебные слова поискать?
5 Мисти
 
04.01.14
20:58
Кажись, что-то откопала.
6 Сергей Викторович
 
04.01.14
21:00
задачу поставил Мамоненко Игорь ?
7 XLife
 
04.01.14
21:02
адреса:
keratrium_oplata@keratrium.ru
maillistarchive@keratrium.ru

добавлены в спам-рассылку
8 mdocs
 
04.01.14
21:12
(1) НайтиФайлы(), Файл.Удалить()
(3) волшебное слово CDO.Message
Ты конечно упрямая, но задача как-то выглядит "не по зубам".
9 marvak
 
04.01.14
21:18
(1)

Попытка
    УдалитьФайлы(ПапкаВложений, "*.*");
Исключение
    ОбщегоНазначения.СообщитьОбОшибке("Ошибка при удалении файлов в папке: " + ПапкаВложений,,,СтатусСообщения.Важное);
КонецПопытки;
10 КонецЦикла
 
04.01.14
21:28
(8) Скуяли не по зубам?
Давай мисти, тут пиши как продвигаещшься каждые полчаса.
Слвова вставляй в СП и Google
11 marvak
 
04.01.14
21:28
Типа такого.

sFrom = СокрЛП(ПараметрыСеанса.ТекущийПользователь);
    
Если ПустаяСтрока(sFrom) Тогда
   sFrom = """1C"" <1C@хх.ru>";
КонецЕсли;

// Пробуем подключиться
iConf = Новый COMОбъект("CDO.Configuration");
            
iConf.fields(cdoSendUsingMethod).value = 2;
iConf.fields(cdoSMTPServer).value       = "192.ххх.х.х";
iConf.fields(cdoSMTPServerPort).value   = 25;
iConf.fields(cdoSMTPAuthenticate).value = 1;
iConf.fields(cdoSendUserName).value     = "1C";
iConf.fields(CdoSendPassword).value     = "99999999";
iConf.fields(cdoSendEmailAddress).value = """1C"" <1C@хх.ru>";
iConf.fields(cdoSMTPUseSSL).value       = 0;
    
iConf.fields.update();            
    
iMsg = Новый COMОбъект("CDO.Message");
        
iMsg.configuration = iConf;
iMsg.to = СокрЛП(Email);
iMsg.from = """1C"" <1C@хх.ru>";
iMsg.subject = СокрЛП(sSubject) + " от " + sFrom;
    
iMsg.textBody = sBody;

КодировкаПисьма = "iso-8859-5"; //либо "koi8-r", либо "utf-8"
iMsg.textBodypart.charset = КодировкаПисьма;
    
МассивФайлов = НайтиФайлы(ПапкаВложений, "*.*");
    
Для каждого ТекФайл Из МассивФайлов Цикл
        
   ПолноеИмя = ТекФайл.ПолноеИмя;
        
   Попытка
      iMsg.addAttachment(ПолноеИмя);
   Исключение
      ОбщегоНазначения.СообщитьОбОшибке("Ошибка при обработке файла " + ПолноеИмя);
      Продолжить;
   КонецПопытки;
        
КонецЦикла;

ОтправкаУспешна = Истина;
    
Попытка
    iMsg.send();  
    Предупреждение("Сообщение отправлено.");
Исключение
    ОтправкаУспешна = Ложь;
    ОбщегоНазначения.СообщитьОбОшибке("Ошибка при отправке сообщения!",,,СтатусСообщения.Важное);
КонецПопытки;
    
Если ОтправкаУспешна Тогда
    Возврат;
КонецЕсли;
    
Надо бы все это переделать под встроенный почтовый клиент восьмерки, но работает, и лень переделывать.
12 Мисти
 
04.01.14
21:38
(11) Во, спасибо, то, что нужно!!
13 Мисти
 
04.01.14
21:43
_GetPerformanceCounter - а с эти что делать?
14 КонецЦикла
 
04.01.14
21:44
Текущее время переведи в число наверное... да какая разница...
15 marvak
 
04.01.14
21:45
16 Злопчинский
 
04.01.14
21:45
Просто мегарост.. написанное на клюшках переписывать на снеговика... ;-)
17 marvak
 
04.01.14
21:46
(16)
переделать быстрее, чем сначала изучить а потом делать для 8.
при нехватке времени ничего другого не остается
18 Мисти
 
04.01.14
21:47
(17) Спасибо!
Я не уверена, что встроенную систему для наших целей вообще можно использовать.
Пусть пока так заработает.
19 Мисти
 
04.01.14
21:49
Это
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value  
На это
loConfig.fields(CdoSendPassword).value
надо менять? Или оба варианта будут работать?
20 marvak
 
04.01.14
21:55
там вроде учетные данные учетки почтового сервера.
через какую учетку посылаешь, те данные и должны быть.
я скопировал как рассылается через наш почтовик.
у тебя другой, значит надо приложить именно твои данные.
21 Мисти
 
04.01.14
22:08
Про данные - понятно, я имею в виду - "формулировку"
Ну, т.е. пароль мой будет, а вот этот огород заменять один на другой?
http://schemas.microsoft.com/cdo/configuration/sendpassword

CdoSendPassword
22 Мисти
 
04.01.14
22:11
А вместо КаталогИБ() - что?
23 Мисти
 
04.01.14
22:13
http://help1c.com/faq/view/239.html - что-то нашла.
24 IamAlexy
 
04.01.14
22:50
капец.. прям жду тему "переписываю торговлю с 7 на 8, типовой УТ11 пока не научилась пользоваться а нужно срочно"
25 Nezamuzhnyaya
 
04.01.14
23:02
(24) (10) Помогли бы лучше, чем бред писать))
26 Мисти
 
05.01.14
00:04
(24) Да так и есть! Абсолютно все прибамбасы, что бы ли сделаны в 7 - очень нужны в 8.
Кое-что я освоила, честно.
Здесь сам по себе хитрый отчет, который получился, вроде, и рассылать его нужно не всем, и каждому свой, и в разных форматах - режимах, с разными параметрами...
27 Мисти
 
05.01.14
16:58
_GetPerformanceCounter - там эта штука исрлльзовалась для создания имя временного файла, он сохранялся и отсылался. У меня по рекомендациям
scrptCtrl=createobject("MSScriptControl.ScriptControl");
scrptCtrl.language="jscript";
scrptCtrl.addcode("
  |function GetMilliseconds()
  |{
  |d = new Date();
   |return(d.getHours()*3600000+d.getMinutes()*60000+d.getSeconds()*1000+d.getMilliseconds());
  |}
  |");
Сообщить(scrptCtrl.run("GetMilliseconds")) - какая-то ерунда получается.
Имя файла 09.12.2015 9

И тип почему-то в  названии не фиксируется!
Таб.Записать(КаталогИБ+"mail\"+Строка(СокрЛП(ИмяФайла))+".xls","xls");
28 Мисти
 
05.01.14
17:21
Chr(34)
- как перевести на 8?
29 zulu_mix
 
05.01.14
17:25
зачем тебе (27) ?
используй ТекущаяДата()
30 zulu_mix
 
05.01.14
17:25
(28) Символ(34)
31 Мисти
 
05.01.14
17:28
(29) Ну как бы та нужно точнее, а то в 1 секунду может несколько файлов сформироваться.
(30) Спасибо!
32 КонецЦикла
 
05.01.14
17:32
(31) Guid можно формировать
33 Мисти
 
05.01.14
17:33
Меня сейчас больше волнует, почему файл сохранился без расширения.
34 zulu_mix
 
05.01.14
17:34
(31)
scrptCtrl=createobject("MSScriptControl.ScriptControl");
scrptCtrl.language="jscript";
scrptCtrl.addcode("
  |function GetMilliseconds()
  |{
  |d = new Date();
   |return d.getMilliseconds());
  |}
  |");
дальше выполняешь это безобразие и получаешь результат в переменную "ТочныеМиллисекунды" например.
а потом:
ТочноеИмяФайла = Строка(ТекущаяДата())+ТочныеМиллисекунды;
35 Мисти
 
05.01.14
17:43
TrimAll - это СокрЛП()?
36 Мисти
 
05.01.14
17:48
Also see TrimALL() to TRIM all cells in a selection, followed by RemoveAllSpaces to remove all spaces and char(160).
нипанятна!
37 Мисти
 
05.01.14
18:33
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "mail.nic.ru";
Мне чтоб проверить - надо от себя рассылку сделать.
Как понять, на что это заменить?
38 marvak
 
05.01.14
20:37
(35)
Да

(37)
Наверное так
iConf.fields(cdoSMTPServer).value       = "mail.nic.ru";
iConf.fields(cdoSendUserName).value     = "Твой адрес";
iConf.fields(CdoSendPassword).value     = "Твой пароль";
39 marvak
 
05.01.14
20:43
40 Злопчинский
 
05.01.14
20:45
а вообще что означает
http://schemas.microsoft.com/cdo/configuration/sendpassword
..
???
41 marvak
 
05.01.14
20:49
Имена полей COM
объекта "CDO.Configuration"
42 marvak
 
05.01.14
20:57
Вернее это скорее имена в пространстве имен.
Имена определены так:

cdoSendPassword              = "http://schemas.microsoft.com/cdo/configuration/sendpassword";;      
cdoSendEmailAddress          = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress";;  
cdoAutoPromoteBodyParts      = "http://schemas.microsoft.com/cdo/configuration/autopromotebodyparts"; ;
cdoFlushBuffersOnWrite       = "http://schemas.microsoft.com/cdo/configuration/flushbufferson;write"; ;
cdoHTTPCookies               = "http://schemas.microsoft.com/cdo/configuration/httpcookies"; ;
cdoLanguageCode              = "http://schemas.microsoft.com/cdo/configuration/languagecode"; ;
cdoNNTPAccountName           = "http://schemas.microsoft.com/cdo/configuration/nntpaccountname"; ;
cdoNNTPAuthenticate          = "http://schemas.microsoft.com/cdo/configuration/nntpauthenticate"; ;
cdoNNTPConnectionTimeout     = "http://schemas.microsoft.com/cdo/configuration/nntpconnectiontimeout"; ;
cdoNNTPServer                = "http://schemas.microsoft.com/cdo/configuration/nntpserver"; ;
cdoNNTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/nntpserverpickupdirectory"; ;
cdoNNTPServerPort            = "http://schemas.microsoft.com/cdo/configuration/nntpserverport"; ;
cdoNNTPUseSSL                = "http://schemas.microsoft.com/cdo/configuration/nntpusessl"; ;
cdoPostEmailAddress          = "http://schemas.microsoft.com/cdo/configuration/postemailaddress"; ;
cdoPostPassword              = "http://schemas.microsoft.com/cdo/configuration/postpassword"; ;
cdoPostUserName              = "http://schemas.microsoft.com/cdo/configuration/postusername"; ;
cdoPostUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postuserreplyemailaddress"; ;
cdoPostUsingMethod           = "http://schemas.microsoft.com/cdo/configuration/postusing"; ;
cdoSaveSentItems             = "http://schemas.microsoft.com/cdo/configuration/savesentitems"; ;
cdoSendEmailAddress          = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress"; ;
cdoSendPassword              = "http://schemas.microsoft.com/cdo/configuration/sendpassword"; ;
cdoSendUserName              = "http://schemas.microsoft.com/cdo/configuration/sendusername"; ;
cdoSendUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/senduserreplyemailaddress"; ;
cdoSendUsingMethod           = "http://schemas.microsoft.com/cdo/configuration/sendusing"; ;
cdoSMTPAccountName           = "http://schemas.microsoft.com/cdo/configuration/smtpaccountname"; ;
cdoSMTPAuthenticate          = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"; ;
cdoSMTPConnectionTimeout     = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"; ;
cdoSMTPServer                = "http://schemas.microsoft.com/cdo/configuration/smtpserver";;
cdoSMTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory";;
cdoSMTPServerPort            = "http://schemas.microsoft.com/cdo/configuration/smtpserverport";;
cdoSMTPUseSSL                = "http://schemas.microsoft.com/cdo/configuration/smtpusessl";;
cdoURLGetLatestVersion       = "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion";;
cdoURLProxyBypass            = "http://schemas.microsoft.com/cdo/configuration/urlproxybypass";;
cdoURLProxyServer            = "http://schemas.microsoft.com/cdo/configuration/urlproxyserver";;
cdoUseMessageResponseText    = "http://schemas.microsoft.com/cdo/configuration/usemessageresponsetext";;
cdoFileData                  = 1;
43 sapphire
 
05.01.14
21:01
Мдя... а встроенные объекты чем хуже устаревшего напрочь CDO?
44 marvak
 
05.01.14
21:06
(43)
Они лучше, но ТС надо срочно перенести из 7.7 в 8.1, поэтому она не хочет тратить время и изучать встроенные объекты.
:)