Stream

Join this community to post or comment

Игорь Белозеров

Уголок взаимопомощи  - 
 
Самопроизвольное перемещение писем в корзину. Пару раз сталкивался с ситуацией когда поиском ищу письмо и нахожу его в корзине, хотя не припоминаю, чтобы я перемещал его туда. Беда в том, что через 30 дней такое письмо может бесследно исчезнуть. 

Для себя выделил 5 случаев при которых письмо может оказаться в корзине:
1. Переадрессация писем (и автоматическое удаление)
2. Фильтр, который отправляет письмо в корзину.
3. Включенный протокол POP3, который выкачивая почту удаляет ее на сервере
4. Правило удаления письма на мобильном устройстве (встречался с таким на ipad). 
5. Ручной способ, когда письмо самостоятельно перемещено в корзину. 

Если исключить эти случаи, то может ли письмо само удалиться по каким-то другим причинам? Есть ли способ проанализировать действия пользователя?

Когда открывал тикет в Google по похожей проблеме, то поддержка точно могла сказать что письмо было удалено через мобильное устройство.  Есть ли у нас возможность посмотреть такие логи? 
 ·  Translate
1
Alexey Isachenko's profile photo
 
На сколько я знаю, нет.
 ·  Translate
Add a comment...

Sergey Kozhin

Google Sites  - 
 
Как организовать форум на google сайтах?
Есть ли какое нибудь хорошее решение от google?
 ·  Translate
3
Sergey Kozhin's profile photoAlexander Ivanov's profile photo
3 comments
 
Как и все у Google, что не имеет направления потребления.
 ·  Translate
Add a comment...

Alexander Ivanov
moderator

Работа  - 
 
Вопрос, Для москвичей в идеале..

Кто может потратить некоторое время, На своей базе или на моей, С целью составить программы илии понять что это невозможно, по внесению данных из почты в таблицы и аналогичные...

А так же пройтись по хотелкам (что как должно работать) и попробовать сделать из этого ТЗ с учетом возможностей гугла....

Если кто может, то варианты условий где как можно сюда, можно в личку..
 ·  Translate
2 comments on original post
1
Add a comment...
 
Добрый день.
Подскажите как решить проблему:
перестали работать скрипты с прогрузкой файлов созданные через HTML Service - сервер возвращает ошибку 400. 
Возможность прогружать файлы пропадает после обращения к серверу через google.script.run. , работает только на первом обращении к серверу. Все отлично работало пол года до вчерашнего утра. 

Очень надеюсь на помощь сообщества.

Пример скрипта: 
Код.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index')
      .setSandboxMode(HtmlService.SandboxMode.NATIVE);
}

function processForm(formObject) {
  var formBlob = formObject.myFile;
  var driveFile = DriveApp.createFile(formBlob);
  return driveFile.getUrl();
}
function getTexts()
{
  var value = "1";
  return value;
}

index.html

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>

$(function() {
google.script.run.withSuccessHandler(updateUrl).getTexts();
});
  function updateUrl(value) {
    var div = document.getElementById('output');
    div.innerHTML = value;
  }
</script>
<form id="myForm">
  <input name="myFile" type="file" />
  <input type="button" value="Submit"
      onclick="google.script.run
          .withSuccessHandler(updateUrl)
          .processForm(this.parentNode)" />
</form>
<div id="output"></div>

P.S. Если необходимо могу предоставить доступ к самому скрипту.
 ·  Translate
2
Андрей Мелузов's profile photoAlexander Ivanov's profile photo
4 comments
 
+Андрей Мелузов, так это и есть подобная реализация.
Я не могу ничего посоветовать, т.к. отрицаю HtmlService как альтернативу чему-либо. Очень слабо. Нет коротких адресов. Нет возможности упревления отображением для совместимости разных дисплеев.
Использую скрипты для загрузки файлов из вне через POST, хотя и через GET, но только не в IE, работает для файлов до 10Мб, правда, их надо в Base64 гнать, хотя это не обязательно. Если у вас есть любой компрессор, который сожмет в строку файл, а потом разожмет его на сервере, то будет работать. 
 ·  Translate
Add a comment...
 
Добрый день.
Подскажите пожалуйста, когда и зачем применяется функция flush. Читаю про нее информацию на Google developers, но не пойму зачем она. Скрипт работает как с ней так и без нее.

function colors() {
   var sheet = SpreadsheetApp.getActiveSheet();
   for (var i = 0; i < 20; i++) {
     if ((i % 2) == 0) {
       sheet.getRange('A1').setBackground('green');
       sheet.getRange('B1').setBackground('red');
     } else {
       sheet.getRange('A1').setBackground('red');
       sheet.getRange('B1').setBackground('green');
     }
     SpreadsheetApp.flush();
   }
 }
 ·  Translate
3
2
Сергей Генрих's profile photoAlexander Ivanov's profile photoElena S.'s profile photoAlex Dobrov's profile photo
8 comments
 
Я как раз говорю именно об этом https://developers.google.com/apps-script/best_practices
 ·  Translate
Add a comment...
Вставка изображений в автономном режиме, Google таблица, оффлайн доступ
1
Add a comment...

Alexander Ivanov
moderator

Google Sites  - 
 
 
Все Google Sites чем-то жруг на друга похожи, но может быть ради функциональности это и не плохо? Еще один пример по ссылке ниже.
 ·  Translate
Digital Consolidation is a Business intelligence and BI consultancy based in London. We focus on finance change, Forecasting Planning and budgeting Solutions. We are experts in spreadsheets and offer IBM Cognos TM1, Office 365 and Google Apps for Work including Google Apps Script services.
View original post
4
Дамир Шамуков's profile photoAlexander Ivanov's profile photo
4 comments
 
Картинки в блоке - это разметка CSS на основе "отзывчивого" шаблона. А основные блоки имеют встроенную совместимость.
 ·  Translate
Add a comment...

Sergey Kozhin

Apps Script  - 
 
Какой самый простой способ получить URL страницы?
 ·  Translate
1
Максим Самигулин's profile photoSergey Kozhin's profile photo
6 comments
 
  //определяем url где находимся
  page = SitesApp.getActivePage();
  url = page.getUrl();
 ·  Translate
Add a comment...

Александр Москаленков

Решенные задачи  - 
 
Добрый день!
Есть вопрос, сейчас хочу немного разобраться с GAS.
И очень хочется понять как создавать кнопки в таблицах.
Немного почитал,  посмотрел видео и сделал ее, вот код:

function FirstExampleFunc() 
{
    Browser.msgBox("Настюшка - хрюшка", Browser.Buttons.YES_NO);
}

function menu() 
{
     var ss = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [ {name: "Тайная информация", functionName: "FirstExampleFunc"}];
     ss.addMenu("Сетрет", entries);
}
Но она появляется только у меня в таблице, и каждый раз когда я пере запускаю таблицу, она пропадает. А хотелось чтобы она была постоянно и видели ее все пользователи  документа.

В одном из примеров нашел кнопку написанную так:

function onOpen() {
  SpreadsheetApp.getUi().createMenu("HeatMap").addItem("Очистить фон", "clearColors").addToUi();
}

Она запускается так как мне нужно, видна всем пользователям, сохраняется  после обновления страницы.

Подскажите в чем секрет, что я изначально делал не так?
 ·  Translate
3
2
Alexey Isachenko's profile photoАлександр Москаленков's profile photoAlex Dobrov's profile photoElena S.'s profile photo
3 comments
 
Спасибо, Вам огромное!!!
До этого, думал что имена функции придумываются только мной и не на что не влияют.
К сожалению с анг.яз у меня слабо для изучения документации. Но с горем попала буду учиться)))
Спасибо еще раз!!! 
 ·  Translate
Add a comment...

Alexey Isachenko
owner

Обсуждение  - 
 
Расскажите, как у вас отношения с Google Apps for Work?
Http://bit.ly/rugoogleapps
 ·  Translate
150 votes  -  votes visible to Public
Рассматриваю переход на Google Apps.
17%
Используем на работе, я пользователь.
15%
Я администратор Google Apps for Work.
19%
Не планирую исп. У меня обычный аккаунт.
43%
Другое.
7%
7
3
Сергей Генрих's profile photoAlex Dobrov's profile photoAlexander Ivanov's profile photoAlexey Isachenko's profile photo
4 comments
 
Не, я пост в rudrive позже опубликовал, чем удивился
 ·  Translate
Add a comment...

Alexey Isachenko
owner

Полезные примеры  - 
 
В соседнем сообществе http://bit.ly/rudrive проскакивало пожелание сделать визуальную индикацию сделанных в течение дня правок в таблице.

Реализовал эту задачу с поддержкой градиента, так оказалось даже симпатичнее. Теперь используем для учета общих для компании ресурсов (проекторы и т.п., тестовые девайсы).

Наиболее часто юзаемые в течение дня позиции раскрашиваются более насыщенными цветами к общей радости.
Через кастомное меню таблицы можно сбросить "раскраску".

Таблица по ссылке доступна для правки - можно попробовать.
 ·  Translate
4
2
Alexander Ivanov's profile photoAlexey Isachenko's profile photoAlex Dobrov's profile photoAnatoly Rudnitsky's profile photo
3 comments
 
Можно позволить пользователю настраивать самому градиент, например, в первой строке, а потом скриптом брать оттуда цвета.
 ·  Translate
Add a comment...

Алексей Дьяченко

Решенные задачи  - 
 
а как через форму скриптом передать в ячейку таблицы текст такого формата "00012345" (начинается с 0). А то у меня обрезается до "12345"
 ·  Translate
1
Alexander Ivanov's profile photoAlexey Isachenko's profile photo
7 comments
 
Посмотрел одним глазком.

По событию onFormSubmit мы можем получить обрезанное значение и исправить его, но сразу вставить его в таблицу не выйдет, т.к. на момент исполнения триггера этих значений в таблице еще нет.
Это можно решить, например, используя планировщик - сделать очередь из значений на исправление, например, в Script Properties и по расписанию вычерпывать оттуда их, заменяя значения в таблице. Но такой вариант может не подойти, если введенные данные сразу где-то программно используются - race condition

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

В приведенной таблице:
* пример скрипта, получающего из ответов нужное значение и дополняющего его (без планировщика);
* формула для столбца, дополняющая числа нулями.

https://docs.google.com/spreadsheets/d/1l2G9Y3bFGxCafA3wqDhoFnR8kkXQytihvsHtdJwdxck/edit?usp=sharing
 ·  Translate
Add a comment...

About this community

Русскоязычная группа для представителей бизнеса, желающих использовать Google Apps и администраторов Google Apps, использующих эти технологии на работе и дома. Также, большое внимание мы уделяем Google Apps Script и его использованию в домене. Будьте внимательны, Google Apps - это не все приложения Google, а отдельный бизнес продукт. Если вас интересует все, что связано с программированием с использованием Google технологий, то добро пожаловать в сообщество Google Developers Group.
 
Все добрый день.
Подскажите что необходимо поправить в скрипте.
Есть таблица, в которой всплывает окно с обновлениями, при каждом ее запуске. Хотелось бы настроить кнопку в этом окне которая фиксировала e-mail пользователь который ознакомился с обновлением. То есть сотрудник нажимает кнопку и подтверждает что он ознакомился с обновлением.
Сейчас  e-mail фиксировался каждый раз когда окно всплывает у сотрудника, в независимости от того что он нажмет.
 ·  Translate
1
Add a comment...
 
Добрый день.
Подскажите можно ли скопировать данные из листа 1 ( в таблице 1) в конкретный лист 2 (в таблице 2).
Пробовал сделать это с помощью функции copyTo, но она копирует лист 1 с подписью копия в таблицу 2.
При каждом запуске функции создается новый лист.
Пробовал копировать диапазон но не получилось (написало что копировать диапазон можно только внутри таблицы )
Задача копировать данные из конкретного листа одной таблицы, в конкретный лист другой таблицы

https://docs.google.com/spreadsheets/d/1IKhkE2-BvP8MnQRclGrZxBv4SrZnmjb_bFt9SqRzq-0/edit#gid=1071207543
 ·  Translate
1
1
Alexey Isachenko's profile photoHarry Orlovsky's profile photoElena S.'s profile photo
7 comments
 
+Alexey Isachenko Я тоже Вас понял. Забавно мы развернули диспут не имея входных данных (форма и объем) по обсуждению методов обработки, которые в свою очередь от этих параметров сильно зависят. Мне не довелось пробовать Google apps , все, о чем я писал реализовывалось штатными методами Microsoft Office, в частности в VBA.
 ·  Translate
Add a comment...
 
#GAPS   #Update   Кто использует GAPS?
 ·  Translate
1
Add a comment...
 
Новые Update от Google :) #Googleapps   #Googlespreadsheet   
 ·  Translate
Обновление графиков и уведомлений в таблицах Google. Таблица Google
7
1
Alex Dobrov's profile photo
Add a comment...

Александр Москаленков

Уголок взаимопомощи  - 
 
Помогите пожалуйста с кодом.
Задача такова, хочу создать в таблице кнопку, которая вызывает окно куда будут записываться важные обновления, эти данные должны сохранятся и выводиться на экран каждый раз как любой пользователь будет заходить в таблицу.
У меня получилось создать окно для ввода данных. Но вот с выводом этой информации после обновления таблицы беда.
Делается это для того чтобы я мог вносить все важные обновления, а мои сотрудники в начале работы могли их сразу увидеть и быть в курсе изменений.
Так же хочу сделать так проверку на то, что если я ввел пустое обновление, это сообщение не будет выводить при запуске таблицы. Чтобы зря не нагружать таблицу выводом пустого окна.
Если кто-то сможет помочь буду очень признателен.
Ссылку к таблице креплю.
 ·  Translate
2
Александр Москаленков's profile photoAlex Dobrov's profile photo
10 comments
 
+Александр Москаленков В исходнике подключен триггер на открытие документа, подключите его в копии и будет все работать.
 ·  Translate
Add a comment...

Alexey Isachenko
owner

Обсуждение  - 
 
Какие разделы вам приносят больше пользы? Ну или просто интересно читать. Не знаете, что выбрать? Пересмотрите еще раз разделы, чтобы освежить ваши представления о том, что там публикуют и что интересного в комментариях к тем постам.

Напишите в комментариях, что бы вам хотелось еще видеть, что не нравится в сообществе и хотелось бы поменять, как вы можете помочь сообществу?
 ·  Translate
54 votes  -  votes visible to Public
Новости Google Apps, Обновл. в продуктах
20%
"Уголок взаимопомощи", Решенные задачи.
22%
Полезные примеры.
46%
Обсуждение.
7%
Работа, Коммерческие разработки.
4%
6
2
Otari Arutiunian's profile photoAlexey Isachenko's profile photoAlex Dobrov's profile photoAlexander Ivanov's profile photo
2 comments
 
+Otari Arutiunian, мы с тобой как раз для этого раздела статью планируем сегодня написать.
 ·  Translate
Add a comment...

Ruslan Sergeev

Решенные задачи  - 
 
Доброе. Только начинаю разбираться с Google Sheets и не могу понять, как создать сводную таблицу по данным из разных листов? Я понимаю, что можно использовать importrange, чтобы собрать все данные на одном листе, но тогда придется как то отслеживать, чтобы данные не пересекались\затирали друг друга. 
PS: Данные дополняемые со временем.
 ·  Translate
1
Alexey Isachenko's profile photoRuslan Sergeev's profile photo
8 comments
 
+Alexey Isachenko Именно этим примером я и воспользовался. Спасибо.
 ·  Translate
Add a comment...

Alexey Isachenko
owner

Полезные примеры  - 
 
Концептуальное извращение по двустороннему биндингу данных в таблицах между двумя зависимыми листами.

Общались сегодня с +Дамир Шамуков​, он задел вскользь, что хотелось бы иметь возможность редактировать в гуглотаблицах значения в производных (полученных, например, путем работы формул query, filter, importrange и т.п.), чтобы результат автоматически пробрасывался в исходник. Я попробовал и реализовать это получилось довольно легко, хоть и с определенными ограничениями.

Несведущих сия возможность не удивит, наверное, а зря. Дело в том, что редактировать значения, полученные путем вычисления формул напрямую обычно нельзя, т.к. вычисляющая формула автоматически отключается, предупреждая, что в области, куда она хочет разместить данные, уже есть какое-то значение. Соответственно, все вычисленные данные кроме вручную введенных пропадают, т.к. формула их не может вставить.

Принцип работы такой: вдобавок к производному листу с формулами создается специальный лист-копия его. В случае, если пользователь вводит данные в производный лист, формула в нем ломается, но мы знаем, где что должно находиться, т.к. можем подсмотреть в копии. Собственно, скрипт определяет координаты редактируемой ячейки, бежит по строке, находя поле с уникальным идентификатором записи и запоминая его. Затем в листе-источнике данных находится строка, в которой есть такой же айдишник и для этой строки в столбец с тем же именем, что и в производном листе вставляется нововведенное значение. Затем затирается введенное пользователем значение в производном листе, чтобы восстановить работу формул.
Для тех, кому описание показалось сложным. У нас есть две таблицы. В одну сторону данные переносятся формулой, а в обратную скриптом.
Копируйте себе таблицу для экспериментов. Вам потребуется зайти в редактор скриптов и один раз запустить функцию onOpen1, чтобы прописались все необходимые разрешения. Кроме того, добавьте функцию onEdit1 в триггеры таблицы onEdit (кнопка с часиками на панели в редакторе скриптов.
 ·  Translate
5
1
Валерий Орлов's profile photoAlexey Isachenko's profile photoAlex Dobrov's profile photo
6 comments
 
+Валерий Орлов точно отдельной. Ну и я не понял ничего :)
 ·  Translate
Add a comment...