Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отправка электронного письма пользователю при появлении для него задачи 2 страниц V  < 1 2          
kosalex Подменю пользователя
сообщение 12.07.13, 8:02
Сообщение #21

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Господа!
Процедура ЗадачаИсполнителяПриЗаписи(Источник, Отказ) ЭКСПОРТ
    Если НЕ Источник.Выполнена  Тогда
            НаборЗаписей = РегистрыСведений.ОповещениеПользователя.СоздатьНаборЗаписей();
            НаборЗаписей.Отбор.Пользователь.Установить(Источник.Исполнитель);
            
            СтрокаНабора                 = НаборЗаписей.Добавить();
            СтрокаНабора.Пользователь     = Источник.Исполнитель;
            
            НаборЗаписей.Записать();
            
        //Отправка эл. письма пользователю-исполнителю при появлении для него задачи.
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////
        ТекстПредупреждения = "В справочнике УчетныеЗаписиЭлектроннойПочты нет такого пользователя " + Источник.Исполнитель;
        ПользовательИсполнитель =СокрЛП(Источник.Исполнитель);
        
        Запрос = Новый Запрос;
        Запрос.Текст =
         "ВЫБРАТЬ
         |    УчетныеЗаписиЭлектроннойПочты.ИмяПользователя,
         |    УчетныеЗаписиЭлектроннойПочты.Ссылка
         |ИЗ
         |    Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
         |ГДЕ
         |    УчетныеЗаписиЭлектроннойПочты.ИмяПользователя = &ИмяПользователя";
        
         Запрос.УстановитьПараметр("ИмяПользователя",ПользовательИсполнитель);
                 
         Если НЕ Запрос.Выполнить().Пустой() Тогда
            
             РезультатЗапроса = Запрос.Выполнить().Выгрузить();
            
             Для Каждого ТекСтрока Из РезультатЗапроса Цикл
                
                 Параметры = Новый Структура;
                 ТелоПисьма = "У Вас есть новая задача";
                
                 Параметры.Вставить("Кому",ТекСтрока.Ссылка);
                 Параметры.Вставить("Тело",ТелоПисьма);
                
                
            ЭлектроннаяПочта.ОтправитьПочтовоеСообщение(УчетнаяЗапись,Параметры);
             КонецЦикла;    
            
            
         Иначе
             Сообщить(ТекстПредупреждения, СтатусСообщения.Важное);
         КонецЕсли;
        
        
        
        
     КонецЕсли;
КонецПроцедуры



Как получить "УчетнаяЗапись" с типом "СправочникСсылка.УчетныеЗаписиЭлектроннойПочты" ????

Vofka Подменю пользователя
сообщение 12.07.13, 8:23
Сообщение #22

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

ТекСтрока.Ссылка

kosalex Подменю пользователя
сообщение 12.07.13, 8:44
Сообщение #23

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Ошибка:{ОбщийМодуль.ЭлектроннаяПочта.Модуль(267)}: Итератор для значения не определен
Для Каждого ПочтовыйАдресПолучателя Из Кому Цикл

Код:
Процедура ЗадачаИсполнителяПриЗаписи(Источник, Отказ) ЭКСПОРТ
Если НЕ Источник.Выполнена  Тогда
   НаборЗаписей = РегистрыСведений.ОповещениеПользователя.СоздатьНаборЗаписей();
   НаборЗаписей.Отбор.Пользователь.Установить(Источник.Исполнитель);
  
   СтрокаНабора     = НаборЗаписей.Добавить();
   СтрокаНабора.Пользователь  = Источник.Исполнитель;
  
   НаборЗаписей.Записать();
  
  //Отправка эл. письма пользователю-исполнителю при появлении для него задачи.
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
  ТекстПредупреждения = "В справочнике УчетныеЗаписиЭлектроннойПочты нет такого пользователя " + Источник.Исполнитель;
  ПользовательИсполнитель =СокрЛП(Источник.Исполнитель);
  УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты
;

  Запрос = Новый Запрос;
  Запрос.Текст =
   "ВЫБРАТЬ
   | УчетныеЗаписиЭлектроннойПочты.ИмяПользователя,
   | УчетныеЗаписиЭлектроннойПочты.Ссылка
   |ИЗ
   | Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
   |ГДЕ
   | УчетныеЗаписиЭлектроннойПочты.ИмяПользователя = &ИмяПользователя";
  
   Запрос.УстановитьПараметр("ИмяПользователя",ПользовательИсполнитель);
    
   Если НЕ Запрос.Выполнить().Пустой() Тогда
  
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
  
    Для Каждого ТекСтрока Из РезультатЗапроса Цикл
    
     Параметры = Новый Структура;
     ТелоПисьма = "У Вас есть новая задача";
    
     Параметры.Вставить("Кому",Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию(ПользовательИсполнитель));
     Параметры.Вставить("Тело",ТелоПисьма);
    
    
   ЭлектроннаяПочта.ОтправитьПочтовоеСообщение(УчетнаяЗапись,Параметры);
    КонецЦикла;
  
  
   Иначе
    Сообщить(ТекстПредупреждения, СтатусСообщения.Важное);
   КонецЕсли;

  КонецЕсли;
КонецПроцедуры



logist Подменю пользователя
сообщение 12.07.13, 9:10
Сообщение #24

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Все что идет после Новый Запрос, можно забыть. Потому, что вы ищите не то и не там.
1. Учетная запись в вашем случае это запись от которой отправляется письмо.
2. У справочника Пользователи есть ТЧ КонтактнаяИнфомрация, которая должна хранить там адрес электронной почты этого пользователя (по СтрокаТЧ.Вид = Справочники.ВидыКонтактнойИнформации.EmailПользователя), соответственно что бы сформировать поле Кому - нужно выбирать эту информацию из ТЧ справочника Пользователи.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

kosalex Подменю пользователя
сообщение 12.07.13, 9:25
Сообщение #25

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

УчетнаяЗапись = СистемнаяУчетнаяЗапись - которорая предопределена в справочнике УчетныеЗаписиЭлектроннойПочты. Почему её нельзя использовать?

Кому = ПользовательИсполнитель.АдресЭлектроннойПочты, почему нельзя взять отсюда e-mail пользователя?

Процедура ЗадачаИсполнителяПриЗаписи(Источник, Отказ) ЭКСПОРТ
    Если НЕ Источник.Выполнена  Тогда
            НаборЗаписей = РегистрыСведений.ОповещениеПользователя.СоздатьНаборЗаписей();
            НаборЗаписей.Отбор.Пользователь.Установить(Источник.Исполнитель);
            
            СтрокаНабора                 = НаборЗаписей.Добавить();
            СтрокаНабора.Пользователь     = Источник.Исполнитель;
            
            НаборЗаписей.Записать();
            
        //Отправка эл. письма пользователю-исполнителю при появлении для него задачи.
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////
        ТекстПредупреждения = "В справочнике УчетныеЗаписиЭлектроннойПочты нет такого пользователя " + Источник.Исполнитель;
        
        ПользовательИсполнитель = СокрЛП(Источник.Исполнитель);
        ПользовательИсполнитель = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию(ПользовательИсполнитель); //Получаем пользователя которому будем отправлять эл. сообщение
        
        УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты
; //Получаем пользователя от которого будем отправлять эл.сообщение
        
        Запрос = Новый Запрос;
        Запрос.Текст =
         "ВЫБРАТЬ
         |    УчетныеЗаписиЭлектроннойПочты.ИмяПользователя,
         |    УчетныеЗаписиЭлектроннойПочты.Ссылка
         |ИЗ
         |    Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
         |ГДЕ
         |    УчетныеЗаписиЭлектроннойПочты.ИмяПользователя = &ИмяПользователя";
        
         Запрос.УстановитьПараметр("ИмяПользователя",СокрЛП(Источник.Исполнитель));
        
         РезультатЗапроса = Запрос.Выполнить();
         Если НЕ РезультатЗапроса.Пустой() Тогда   //Если Пользователь-исполнитель найден в справочнике "УчетныеЗаписиЭлектроннойПочты"
            
             ДетальныеЗаписиРезультатЗапроса = РезультатЗапроса.Выгрузить();
            
             Для Каждого ТекСтрока Из ДетальныеЗаписиРезультатЗапроса Цикл
                
                 Параметры = Новый Структура;
                 ТелоПисьма = "У Вас есть новая задача";
                
                 Параметры.Вставить("Кому",ПользовательИсполнитель.АдресЭлектроннойПочты); //Получаем эл. адрес пользователя-исполнителя
                 Параметры.Вставить("Тело",ТелоПисьма);
                
                
            ЭлектроннаяПочта.ОтправитьПочтовоеСообщение(УчетнаяЗапись,Параметры);
             КонецЦикла;    
            
            
         Иначе
             Сообщить(ТекстПредупреждения, СтатусСообщения.Важное);
             Возврат;
         КонецЕсли;
        
        
        
        
     КонецЕсли;
КонецПроцедуры


logist Подменю пользователя
сообщение 12.07.13, 9:38
Сообщение #26

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(kosalex @ 12.07.13, 10:25) *
УчетнаяЗапись = СистемнаяУчетнаяЗапись - которорая предопределена в справочнике УчетныеЗаписиЭлектроннойПочты. Почему её нельзя использовать?

Где я сказал что ее нельзя использовать? Я об этом говорил "Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию(ПользовательИ
сполнитель)".

Цитата(kosalex @ 12.07.13, 10:25) *
Кому = ПользовательИсполнитель.АдресЭлектроннойПочты, почему нельзя взять отсюда e-mail пользователя?

Потому что это не не связанный с пользователем справочник, это не логичное использование. А вдруг вы заведете в базу пользователя, а запись о учетной записи почты не создадите, или ошибочно создадите не с таким именем, ведь вы поиск осуществляете по строке. К тому же в вашей конфигурации нет встроенной подсистемы электронной почты, поэтому заводить на каждого пользователя запись в справочнике Учетные записи почты не имеет практического смысла, в отличие от простого ввода адреса электронной почты в справочник Пользователи.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

kosalex Подменю пользователя
сообщение 12.07.13, 9:44
Сообщение #27

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Подскажите как получить эл. адрес со справочника Пользователи.
Там в форме "ФормаЭлемента" скрыта заакладка "КонтактнаяИнформация" . Как достучаться к значению реквизита АдресЭП табличной части "КонтактнаяИнформация" ??

logist Подменю пользователя
сообщение 12.07.13, 9:52
Сообщение #28

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Вам не нужна "закладка" Контактная информация. В режиме предприятия адрес вводится на вкладке "Адреса, телефоны", поле E-mail.
Получить адрес можно запросом, как - я писал выше.

p.s. вы хоть сами как-то ковыряйтесь там, пытайтесь разобраться как работает что-то, а то когда видишь, что человек не пытается сам что-то сделать - пропадает интерес отвечать.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

kosalex Подменю пользователя
сообщение 12.07.13, 9:55
Сообщение #29

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(logist @ 12.07.13, 10:52) *
Вам не нужна "закладка" Контактная информация. В режиме предприятия адрес вводится на вкладке "Адреса, телефоны", поле E-mail.
Получить адрес можно запросом, как - я писал выше.

p.s. вы хоть сами как-то ковыряйтесь там, пытайтесь разобраться как работает что-то, а то когда видишь, что человек не пытается сам что-то сделать - пропадает интерес отвечать.


можете не поверить, я ковыряюсь!!
Если у меня есть вопрос,я пишу его здесь, а сам продолжаю ковырятся!

logist Подменю пользователя
сообщение 12.07.13, 10:01
Сообщение #30

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(kosalex @ 12.07.13, 10:55) *
можете не поверить, я ковыряюсь!!

Плохо ковыряетесь. Получить адрес электронной почты, в Вашем случае, можно так
Кому = УправлениеКонтактнойИнформацией.ПолучитьКонтактнуюИнформацияОбъекта(Источник.Исполнитель, Справочники.ВидыКонтактнойИнформации.EmailПользователя);


И уберите этот запрос который непонятно что делает. Получили системную учетную, получили адрес пользователя, задали текст, и дальше ЭлектроннаяПочта.ОтправитьПочтовоеСообщение


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: kosalex,

kosalex Подменю пользователя
сообщение 12.07.13, 10:11
Сообщение #31

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(logist @ 12.07.13, 11:01) *
Плохо ковыряетесь. Получить адрес электронной почты, в Вашем случае, можно так
Кому = УправлениеКонтактнойИнформацией.ПолучитьКонтактнуюИнформацияОбъекта(Источник.Исполнитель, Справочники.ВидыКонтактнойИнформации.EmailПользователя);


И уберите этот запрос который непонятно что делает. Получили системную учетную, получили адрес пользователя, задали текст, и дальше ЭлектроннаяПочта.ОтправитьПочтовоеСообщение



Может не там ковыряю...
Про это "УправлениеКонтактнойИнформацией.ПолучитьКонтактнуюИнформацияОбъекта(Источни
к.Исполнитель, Справочники.ВидыКонтактнойИнформации.EmailПользователя)" первый раз увидел...
Спасибо!!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 0:48
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!