Имя: Пароль:
1C
1С v8
менеджер контактов(несколько почтовых адресов)
0 iQwerty
 
16.07.13
10:24
конфа КА.
1.    В справочнике «Контрагенты» на закладке «Контакты» можно создать лишь одну запись с типом E-mail и видом Адрес электронной почты контрагента для обмена электронными документами. Если у контрагента имеется несколько адресов электронной почты, то пользователь заносит их в одну строку, разделяя запятой и пробелом (например: [email protected], [email protected]). При отправке письма программа в реквизит Получателя подставляет адрес в следующем виде:
НаименованиеКонтрагента <[email protected], [email protected]>. Причем программа выдаст ошибку о неправильности написания адреса электронной почты, т.к. данный пример: НаименованиеКонтрагента  <[email protected], [email protected]>, она распознает как один адрес электронной почты.
Нужно, чтобы программа распознавала несколько введенных адресов буквально, т.е. примерно так: НаименованиеКонтрагента <[email protected]>, <[email protected]>.
1 MatrosoV AleXXXand_R
 
16.07.13
10:37
через "точку с запятой" не катит?
2 iQwerty
 
16.07.13
10:39
(1) нет
3 iQwerty
 
16.07.13
11:00
хочу создать кнопку на форме документа Электронное письмо, чтобы кнопа выполняла такую функцию: если в строке кому написано  <[email protected], [email protected] >, то формировала ее так <[email protected]>, <[email protected]>, то есть есть ли какие нибудь способы реализовать это?
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   <<[email protected]>, > <[email protected]>
12 Fish
 
16.07.13
15:07
(11) А скобки <> в какой момент появляются в строке, если судя по (0) у тебя адрес должен выглядеть так: "[email protected], [email protected]"?
13 iQwerty
 
16.07.13
17:01
добавил в обработку адресная книга:формаподбора в Процедура КнопкаВыполнитьНажатие(Элемент) код, в итоге электронное письмо заполняется верно:  Muhammad Sajjad Ahmad   <[email protected]>, <[email protected]>. вот только при нажатие кнопки отправить выдает ошибку {ОбщийМодуль.УправлениеЭлектроннойПочтой.Модуль(1248)}: Ошибка при вызове метода контекста (Послать): Неизвестная ошибка (SMTP error code 555, 5.5.4 Unsupported option: <prak>)
но если перед нажатием кнопки отправить зайти в полеввода "кому" хоть как нибудь изменить строку, то есть можно добавить пробел и удалить его, то ошибки не будет и сообщение отправится. кто нибудь сталкивался с подобным? мб есть какие мысли?
14 iQwerty
 
16.07.13
17:01
код
Процедура КнопкаВыполнитьНажатие(Элемент)
   для каждого строка из кому цикл
       строка.АдресЭлектроннойПочты=СтрЗаменить(строка.АдресЭлектроннойПочты, " ", "");
       строка.АдресЭлектроннойПочты=СтрЗаменить(строка.АдресЭлектроннойПочты, ",", ">, <");
                               конеццикла;
   
   Объект_КнопкаВыполнитьНажатие(Элемент, ЭтаФорма);
   
КонецПроцедуры