Skip to content

Instantly share code, notes, and snippets.

@kir-sf
kir-sf / codeAPI.gs
Created Nov 1, 2016
Распределенная касса
View codeAPI.gs
var ID='вставьте сюда ID своей таблицы с единым реестром операций';
function doGet(e) {
try {
var indexOfTochka=e.parameter.table;
if (indexOfTochka!=undefined) uploadTable(indexOfTochka);
} catch (err) {return err};
return 0;
}
View DriveProperties.gs
// справочник типов приложения docFlow
var TYPE_PROJECT="project"; // папка проекта
var TYPE_CONTRACT="contract"; // версия контракта
var TYPE_COMMENT="comment"; // замечания комментатора
var TYPE_OTHER_DOC="doc"; // сопутствующий документ
// справочник состояний проекта
var STATUS_NOT_FINISHED='false';
var STATUS_FINISHED='true';
View gist:9d5fb8e89057300fd86e95d5885115fe
function process() {
var threads=GmailApp.search('from:___@____.ru is:unread subject:"Отправка Заявка" OR subject:"Отправка Форма"'); // ищем нужные письма
for (var i=0; i<threads.length; i++) { // перебираем их все
var messages=threads[i].getMessages();
for (var j=0; j<messages.length; j++) {
var info=parseInfo(messages[j].getBody()); // парсим данные
var res=sendFirstMail(info.mailTo, info.name, "reg0"); // пишем сообщение контакту
// Вызов функции записи в Firebase
callFirebase(info.name, info.mailTo.toLowerCase(), info.mobile,'звонок по форме','[трубы]Обращение на форме от Имя: '+info.name+' Емейл: '+info.mailTo.toLowerCase()+' Телефон: '+info.mobile+', заполнить анкету, узнать потенциал', "трубы");
createDelivery(info.mailTo);
View gist:f25a73ced79ae77a2a5ca1ad4790e797
mailHtml=mailHtml+"<table><caption><h4> ЗАДАЧИ </h4></caption";
var todayTasks=getTodayTasks();
for (var i=0; i<todayTasks.length; i++) {
mailHtml=mailHtml+"<tr id='"+todayTasks[i].id+"'>";
mailHtml=mailHtml+"<td>"+todayTasks[i].title+"</td>";
mailHtml=mailHtml+"<td><button onclick='this.hidden=true'>Выполнено</a></td>";
mailHtml=mailHtml+"<td><button>На завтра</button></td>";
mailHtml=mailHtml+"<td><button>На следующую неделю</button></td>";
mailHtml=mailHtml+"</tr>";
}
@kir-sf
kir-sf / ChatCode.gs
Last active Mar 14, 2017
Скрытый чат
View ChatCode.gs
var USERS=[]; // массив электронных адресов электронной почты участников чата, зарегистрированной в Google
var DAYS=['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];
var HTML_BODY='<a href="адрес публикации скрипта/exec?param=##PARAM##">ХОЧЕШЬ ЗАРАБОТАТЬ МИЛЛИОН?</a>';
function doGet(e) {
var myCashe=CacheService.getScriptCache();
var par=e.parameter.param;
var code=myCashe.get(Session.getActiveUser().getEmail());
if (par==null) // защита от вызова без параметра
View code.gs
function onOpen() {
var curSheetUi=SpreadsheetApp.getUi();
curSheetUi.createMenu('Планирование')
.addItem('Очистить график', 'clearPlan')
.addItem('Сформировать график', 'makePlan')
.addToUi();
}
function clearPlan() {
@kir-sf
kir-sf / FormHandler.gs
Created Nov 20, 2016
Календарь с Формой
View FormHandler.gs
var MYORDERS='ID таблицы записей'; // таблица записей
var ORDERCAL="ID календаря"; // календарь записей
var TEXT_EMAIL='<font size=4 face="fantasy"> Добрый день!</font><br> Мы записали Вас ##DATE##, время: ##TIME##! <br> С нетерпением ждем Вас!';
var CANCEL_EMAIL='<font size=4 face="fantasy"> Добрый день! </font><br> Время, которое Вы выбрали занято, выберите другое, пожалуйста!';
var HOLIDAY_EMAIL='<font size=4 face="fantasy"> Добрый день! </font><br> Вы выбрали для записи праздничный день, выберите другой день, пожалуйста!';
var WEEKEND_EMAIL='<font size=4 face="fantasy"> Добрый день! </font><br> Вы выбрали для записи выходной день, выберите другой день, пожалуйста!';
function onSubmitForm(e) {
View Code.gs
function doGet(e) {
return HtmlService.createTemplateFromFile('index').evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function include(filename) {
return HtmlService.createHtmlOutputFromFile(filename)
.getContent();
}
@kir-sf
kir-sf / start.gs
Last active Oct 5, 2016
API реестра платежей
View start.gs
var LIST_ID='тут поставить ID таблицы реестра платежей';
Array.prototype.findByPropName = function(name){
for(var i = 0; i < this.length; i++){
if(this[i].key == name) return this[i]
}
return {value: undefined};
}
function callTrigger() {
@kir-sf
kir-sf / index.html
Last active Oct 5, 2016
Согласование реестров платежей
View index.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
<base target="_top">
</head>
<script>
function Okay() {
document.getElementById("butOkay").disabled=true;