...

Отправка email уведомлений

Тема в разделе "Вопросы по ELMA365 Platform", создана пользователем gagra33332, 23 май 2023.

  1. gagra33332

    gagra33332 Участник

    Добрый день.
    Как реализовать отправку email уведомлений из БП, ошибка каждый раз.
    Есть БП в котором есть контекст строка, у неё есть список из почтовых адресов пользователей.
    Код:
    
     Context.data.spisok_vsekh_polzovatelei = Context.data.spisok_vsekh_polzovatelei + user.data.email + "," + "\n";
    ...
    const 
    p: userMail = { name: Context.data.spisok_vsekh_polzovatelei };
    Context.data.pochta_dlya_debug = p.name.slice(0, -2);
    И когда в оповещение по email указываю {$pochta_dlya_debug}, то письма не уходят. Валится ошибка
    rpc error: code = Unknown desc = gomail: could not send email 1: 501 5.1.3 Invalid address
  2. tukoff666

    tukoff666 Новичок

    Логируй шо в адресе
    Зырь ошибка-то какая Invalid address
  3. gagra33332

    gagra33332 Участник

    Спасибо, вопрос решил.
  4. gagra33332

    gagra33332 Участник

    Коллеги подскажите пытаюсь выцепить задачи пользователей у кого просроченные задачи
    у меня получается криво, попадают сотрудники у которых нет просроченных задач, они были просрочены ранее но потом были закрыты, делаю в рамках отдельного БП без привязки к приложениям
    Код:
    
    async function allTasksAllEmployee(): Promise<void> {
        
    Context.data.spisok_vsekh_polzovatelei = '';
        
    Context.data.spisok_vsekh_zadach = '';
        const 
    now = new Datetime();
        
    let users = await System.users.search().size(1000)
        .
    where(u => u.__status.eq(UserStatus.Active))
        .
    all();
        for (
    let user of users) {
            const 
    tasks = await Global.processes._searchTasks().size(1000)
            .
    where(a => a.dueDate.lt(now) && a.__deletedAt.eq(null) && a.performers.has(user))
            .
    all();
            if (
    tasks.length > 0) {
                
    Context.data.spisok_vsekh_zadach = Context.data.spisok_vsekh_zadach + "---" + user.data.__name + "---" + "\n";
                for (
    let task of tasks) {
                    if (
    task.data.state == ProcessTaskState.inProgress && task.data.dueDate && task.data.instance) {
                        
    Context.data.spisok_vsekh_zadach = Context.data.spisok_vsekh_zadach + task.data.__name + task.data.dueDate.day + "." + task.data.dueDate.month + "\n";
                    }
                }
                
    Context.data.spisok_vsekh_zadach = Context.data.spisok_vsekh_zadach + "\n";
            }
        }
    }
  5. shevelyova

    shevelyova Техническая поддержка

    Здравствуйте!
    Должен отработать следующий код:
    Код:
    
    let users = await System.users.search().size(1000)
            .
    where(u => u.__status.eq(UserStatus.Active))
            .
    all();
        for (
    let user of users) {
            const 
    tasks = await Global.processes._searchTasks().size(1000)
                .
    where(a => a.dueDate.lt(now) && a.__deletedAt.eq(null) && a.performers.has(user))
                .
    all();
            if (
    tasks) {
                
    let tasksText = '';
                for (
    let task of tasks) {
                    if (
    task.data.state == ProcessTaskState.inProgress && task.data.dueDate && task.data.instance) {
                        
    tasksText = tasksText + task.data.__name + task.data.dueDate.day + "." + task.data.dueDate.month + " " + "\n\n";
                    }
                }
                if (
    tasksText.length > 0) {
                    
    Context.data.zadachi_sotrudnika = Context.data.zadachi_sotrudnika + " ---------" + user.data.__name + " ---------" + "\n\n" + tasksText + "\n\n";
                }
            }
        }
  6. gagra33332

    gagra33332 Участник

    СпасиБо!