Имя: Пароль:
1C
1С v8
менеджер контактов(несколько почтовых адресов)
0 iQwerty
 
16.07.13
10:24
конфа КА.
1.    В справочнике «Контрагенты» на закладке «Контакты» можно создать лишь одну запись с типом E-mail и видом Адрес электронной почты контрагента для обмена электронными документами. Если у контрагента имеется несколько адресов электронной почты, то пользователь заносит их в одну строку, разделяя запятой и пробелом (например: asd@mail.ru, dfg@mail.ru). При отправке письма программа в реквизит Получателя подставляет адрес в следующем виде:
НаименованиеКонтрагента <asd@mail.ru, dfg@mail.ru>. Причем программа выдаст ошибку о неправильности написания адреса электронной почты, т.к. данный пример: НаименованиеКонтрагента  <asd@mail.ru, dfg@mail.ru>, она распознает как один адрес электронной почты.
Нужно, чтобы программа распознавала несколько введенных адресов буквально, т.е. примерно так: НаименованиеКонтрагента <asd@mail.ru>, <dfg@mail.ru>.
1 MatrosoV AleXXXand_R
 
16.07.13
10:37
через "точку с запятой" не катит?
2 iQwerty
 
16.07.13
10:39
(1) нет
3 iQwerty
 
16.07.13
11:00
хочу создать кнопку на форме документа Электронное письмо, чтобы кнопа выполняла такую функцию: если в строке кому написано  <asd@mail.ru, dfg@mail.ru >, то формировала ее так <asd@mail.ru>, <dfg@mail.ru>, то есть есть ли какие нибудь способы реализовать это?
4 Fish
 
гуру
16.07.13
11:04
(3) А в чём проблема? В типовых есть функция РазложитьСтрокуВМассивПодстрок
5 iQwerty
 
16.07.13
11:07
(4) где она есть? и как она работает?
6 iQwerty
 
16.07.13
11:08
(4) да я нашёл ее, а как она работает, я извиняюсь?
7 Fish
 
гуру
16.07.13
11:11
(6) Неожиданно, она раскладывает строку в массив подстрок :) Точнее: передаёшь ей строку и разделитель (в твоём случае - это буде ", ". Результатом будет массив чистых адресов, из которых можно собрать то, что тебе надо.
8 iQwerty
 
16.07.13
11:13
(7) спасибо)
9 iQwerty
 
16.07.13
11:25
что то я торможу, хочу перезаписать в полеввода кому, не могу понять что ему надо Элементформы.кому."?"=СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ЭлементыФормы.Кому."?", ";"));
10 iQwerty
 
16.07.13
12:02
(7)  ЭлементыФормы.Кому.Значение= СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(
       ЭлементыФормы.Кому.Значение, ";");
строка заполняется словом "массив"
11 iQwerty
 
16.07.13
14:00
в общем с использованием РазложитьСтрокуВМассивПодстрок получается Muhammad Sajjad Ahmad   <<makarovmaksim@mail.ru>, > <evfed@bk.ru>
12 Fish
 
гуру
16.07.13
15:07
(11) А скобки <> в какой момент появляются в строке, если судя по (0) у тебя адрес должен выглядеть так: "asd@mail.ru, dfg@mail.ru"?
13 iQwerty
 
16.07.13
17:01
добавил в обработку адресная книга:формаподбора в Процедура КнопкаВыполнитьНажатие(Элемент) код, в итоге электронное письмо заполняется верно:  Muhammad Sajjad Ahmad   <ma@mail.ru>, <prak@mail.ru>. вот только при нажатие кнопки отправить выдает ошибку {ОбщийМодуль.УправлениеЭлектроннойПочтой.Модуль(1248)}: Ошибка при вызове метода контекста (Послать): Неизвестная ошибка (SMTP error code 555, 5.5.4 Unsupported option: <prak>)
но если перед нажатием кнопки отправить зайти в полеввода "кому" хоть как нибудь изменить строку, то есть можно добавить пробел и удалить его, то ошибки не будет и сообщение отправится. кто нибудь сталкивался с подобным? мб есть какие мысли?
14 iQwerty
 
16.07.13
17:01
код
Процедура КнопкаВыполнитьНажатие(Элемент)
   для каждого строка из кому цикл
       строка.АдресЭлектроннойПочты=СтрЗаменить(строка.АдресЭлектроннойПочты, " ", "");
       строка.АдресЭлектроннойПочты=СтрЗаменить(строка.АдресЭлектроннойПочты, ",", ">, <");
                               конеццикла;
   
   Объект_КнопкаВыполнитьНажатие(Элемент, ЭтаФорма);
   
КонецПроцедуры