Головна » 2014 » Серпень » 16 » Автоматизація роботи з клієнтами завдяки GOOGLE
23:05
Автоматизація роботи з клієнтами завдяки GOOGLE
Майбутьне поруч, консерватори дотепер довіряють паперу, записують зустрічі в щоденник й забувають про них...
Хіба не зручно заповнити на своєму сайті форму і отримати новий запис в таблиці, контакт в смартфоні, лист на пошту і нагадування в календарі про зустріч?
заповнюємо форму:






Користувачі Android вже зареєстровані в сервісах гугл, тому переходимо drive.google.com і тиснемо створити-більше-google-форми і створюємо форму згідно своїх потреб.
Відкриваємо форму і в меню відповіді-змінити місце призначення вибираємо нова електрона таблиця. Після цього в вашому диску появилась нова таблиця. Відкриваємо таблицю, переходимо інструменти-редактор сценаріїв, і копіюємо наступний код:

function sendMail() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form');
var values = sheet.getDataRange().getValues();

// провіряємо наявність записів
if (values.length < 2)
return;

var lastValueIndex = values.length - 1;

var myEmail = '++++++@gmail.com'; // Ваш e-mail
var subject = 'Клієнти';
var object = values[lastValueIndex][1]+' '+values[lastValueIndex][2]+' '+values[lastValueIndex][3]+' '+values[lastValueIndex][4]+' '+values[lastValueIndex][7];

// відправляємо лист
MailApp.sendEmail(myEmail, subject, object+' '+values[lastValueIndex][6]);

// отримуємо групу контактів
var group = ContactsApp.getContactGroup(subject);
// якщо немає, створуємо
if (!group)
group = ContactsApp.createContactGroup(subject);

// якщо включина опція створуємо контакт
if (values[lastValueIndex][5]=='Створити новий контакт') {
var contact = ContactsApp.createContact(values[lastValueIndex][1],values[lastValueIndex][2],'');
contact.addToGroup(group); // добавляем в группу
contact.addAddress(ContactsApp.Field.WORK_ADDRESS,values[lastValueIndex][3]);
contact.addPhone(ContactsApp.Field.WORK_PHONE, values[lastValueIndex][4]);
}

// отримуємо календар
var calendar = CalendarApp.getCalendarsByName(subject)[0];
// провіряємо чи існує календар
if (!calendar)
return;
// якщо включена опція створюємо подію в календар
if (values[lastValueIndex][8]=='Створити нагадування') {
calendar.createEvent(object, values[lastValueIndex][6], values[lastValueIndex][6], {description: values[lastValueIndex][3]});
}// функція парсингу взята із https://productforums.google.com/forum/#!topic/docs-ru/P7c5fHt-v70
function dDate(str){
str = str.replace(" ", "");
str = str.replace(new RegExp("[/,]" , "ig"), ".");
var strDate = str;
Logger.log(str);
var dateParts = strDate.split(".");
var date = new Date("20" + dateParts[2].substr(-2), (dateParts[1] - 1), (parseInt(dateParts[0]) + 1));
return date;}
}



потім зберігаємо даний скрипт під будь якою назвою, і в редакторі сценаріїв обираємо ресурси-тригери поточного проекту і налаштовуємо запуск події електронної таблиці у разі надсилання форми.

Все...

Доречі, деякі коментарії,
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form'); звернення до таблиці, якщо ваш лист в який записуються дані називається не Form змініть...
var myEmail = '******'; в цій зміні ваше мило, впишіть коректне щоб отримувати сповіщення

var subject = 'Клієнти'; це змінна використовується як група контактів і як назва календаря створіть в контактах групу й календпрь з відповідними назвами.
values[lastValueIndex][1] звернення до 1 стовпця таблиці (0 стовбець містить час зміни запису), тобто якщо у вас інший порядок клітинок чим в моїх скріншотах вам прийдеться переробити код під себе
Переглядів: 403 | Додав: vydi | Рейтинг: 0.0/0
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]
Статистика

всього на сайті: 4
з них гостей: 4
користувачів: 0
Календар
«  Серпень 2014  »
Пон Вів Сер Чт Пт Сб Нд
    123
45678910
11121314151617
18192021222324
25262728293031
Наше опитування
Заціни сайт
Всього відповідей: 130
Міні-чат
300
Друзі сайту