2 место Нестандартные подходы к разработке шаблонов

@shtift
можешь проект для постера выложить, для использования Google-таблиц ?
Cкорее всего не дождемся))
Я так и не понял зачем выкладывать проект в студии, если конкурс на зеннолаб))
Ну а таким дуракам как я помощи не дождаться))
 
Подскажите, пожалуйста, как использовать гугл таблицы через API в Зеннопостере? В начале статьи о гугл табицап упоминалось использование в Зеннопостере, в конце статьи используется Визуал Студия.
 
Последнее редактирование:
Спасибо очень позновательно
 
Я работаю немного проще с гугл таблицей (надеюсь будет полезно) - смысл синхронизация идет через приложение Google Диск, создал аккаунт гугл, на ПК установил гугл диск для пк (ввел логин и пароль от гугла), создаю таблицу в гугл диск - автоматически она появляется у меня на ПК, и теперь в настройках ProjectMaker добавляю таблицу и указываю путь к таблице которая лежит у нас на компе (как правило в мои документы в папке Google Диск - справка как работать с гугл диском). Теперь любые изменения в таблице через гугл диска будут сохранены в аккаунте Google Диск. Теперь давая ссылку на таблицу нашим клиентам они могут читать или вносить изменения в таблицу (зависит от выставленных вами прав в настройках таблицы в гугл аккаунте), и изменения сразу появятся в таблице на нашем ПК а соответственно и в зенке :)
 
  • Спасибо
Реакции: energylove3 и Platon
и изменения сразу появятся в таблице на нашем ПК а соответственно и в зенке
Списки в зенке не расчитаны, на то что бы файл лочился + подменялся со стороны.

Даже если зенке удалось получить доступ к файлу, она его может сбросить в тот момент,
когда ещё не завершилась синхронизация из гугл-диска, либо изменения с зенки вообще будут потеряны.
Видимо, такие моменты вам ещё не попадались.

Тем более, в данном способе, отсутствует какая-либо блокировка.
 
Последнее редактирование:
  • Спасибо
Реакции: Nick
Списки в зенке не расчитаны, на то что бы файл лочился + подменялся со стороны.

Даже если зенке удалось получить доступ к файлу, она его может сбросить в тот момент,
когда ещё не завершилась синхронизация из гугл-диска, либо изменения с зенки вообще будут потеряны.
Видимо, такие моменты ещё не попадались.

Тем более, в данном способе, отсутствует какая-либо блокировка.
Ну речь идет не о списках а о таблице :-)
Я делаю так:
Бот работает в цикле каждую 1 мин проверяет таблицу по дате изменения, если таблица задания была изменена то:
C#:
Развернуть Свернуть Копировать
IZennoTable tblZadania = project.Tables["Таблица 1"]; //инициализация и загрузка таблицы в начале проекта
bool boolPeresborFaila = true;
//600 - проверяем в течение 600мин
for (int r = 0; r < 600; r++)
{
    Thread.Sleep(60000);// время через которое проверяем изменение таблицы сейчас 60сек.
    //перегружаем таблицу если она изменена
    DateTime dateIzmenenia = File.GetLastWriteTime(@"C:\Users\Администратор\Google Диск\Таблица заданий.txt").Date.AddMinutes(5);//дата изменения файла задания
    if (dateIzmenenia >= DateTime.Now)
    {
        boolPeresborFaila = true;//если дата изменения таблицы + 5мин больше настоящего времени то значит таблица изменялась за последние 5 мин и перезаписываем таблицу
        tblZadania = project.Tables["Таблица 1"]; //загрузили заново таблицу
    }
}
if (boolPeresborFaila == true)
{
    // теперь по метке boolPeresborFaila - если таблица изменилась, запускаем в работу
}
//если многопоток можно лочить, и еще можно перестраховаться - с гугл диска просто копировать таблицу заданий (если дата изменена) в таблицу с которой работает ЗП
 
Последнее редактирование:
  • Спасибо
Реакции: Platon
Отличное решение! Но есть одно НО! Зенка работает лишь с одним листом таблицы, а если нужно работать с несколькими листами?
 
Отличное решение! Но есть одно НО! Зенка работает лишь с одним листом таблицы, а если нужно работать с несколькими листами?
Согласен с листами таблицы проблема, но нет проблем с количеством таблиц привязных к зенке :D думаю редкий случай - если невозможно заменить листы таблицы - просто таблицей. Ну если очень хочется работать с вкладками можно прикрутить библиотеку (если порыть инет можно найти).
 
  • Спасибо
Реакции: energylove3
Согласен с листами таблицы проблема, но нет проблем с количеством таблиц привязных к зенке :D думаю редкий случай - если невозможно заменить листы таблицы - просто таблицей. Ну если очень хочется работать с вкладками можно прикрутить библиотеку (если порыть инет можно найти).
Библиотека это опять огород))) Я нашел решение проще, через гугл формы, 50-60 таблиц не очень удобно листать)))
 
Отличная статья, автору спасибо большое! Но вот вопрос. Как при создании библиотеки методов в VS собирать её без пространств имён зенки?
При сборке появляются следующие ошибки:

Код:
Развернуть Свернуть Копировать
Не удалось найти тип или имя пространства имен "HtmlElementCollection" (возможно, отсутствует директива using или ссылка на сборку)

Как оное пофиксить? ;)
 
  • Спасибо
Реакции: romasa464
Доброго времени суток, способ использования гугл таблиц через визуал студио вроде работает, но после выполнения консольное приложение не закрывается, всю голову уже сломал как это исправить, не подскажете, сталкивались ли с подобным?
 
1. материал интересный :)
2. не смог подключить этот облачный сервис логирования, выдает ошибку: Ожидался идентификатор, не пойму какой
3. Где можно взять ZennoExtensions?) я так понимаю, она в продаже?)
 
там кончилась регистрация домена. Может кто-то сюда либу выложить?
 
Конкурсные статьи ограничены тремя темами на одного человека, но есть еще одна тема, которую я рассматриваю во внеконкурсных статьях это "Разработка шаблонов через VisualStudio". Рекомендую к ознакомлению.
Спасибо дядя, две недели боролся с этими классами и методами.
 
С версией 5.29.3.0 библиотека работает? У меня почему то нет.
 
Метод
instance.ClearCacheAndCookie();
возвращает ошибку
Выполнение действия CSharp OwnCode. Метод не найден: "Void ZennoLab.CommandCenter.Instance.ClearCache(System.String)".
Может быть кто-то вкурсе как починить, подскажите пожалуйста
 
please attach a template sample
 
А где можно купить или скачать библиотеку ZennoExtensions?
 
А где можно купить или скачать библиотеку ZennoExtensions?
Тоже пытался связаться с автором, так и не получилось к сожалению. На складчике есть его авторская складчина. Спрашивал у организатора по поводу обновлений на текущий момент. Их нет и не было с момента проведения складчины. Купить можно, и вроде не дорого, но неизвестна работоспособность на текущий момент.
 
Это вроде раньше называлось "Швейцарский нож для разработчика" есть еще аналогичная SibboraHelper, но она тоже уже давно не поддерживается автором, поэтому лучше научиться писать подобные DLL самомстоятельно, главное понять принцип описанный в статье.
 
Подскажите почему в методе Click не срабатывает пауза?
C#:
Развернуть Свернуть Копировать
    public static HtmlElement Click(this HtmlElement tab)
    {
        tab.RiseEvent("onclick", "Full");
        Thread.Sleep(1500);
        return null;
    }
 
Последнее редактирование:
Подскажите почему в методе Click не срабатывает пауза?
C#:
Развернуть Свернуть Копировать
    public static HtmlElement Click(this HtmlElement tab)
    {
        tab.RiseEvent("onclick", "Full");
        Thread.Sleep(1500);
        return null;
    }
а как было определено что 1.5 секунды не сработали ?
 
а как было определено что 1.5 секунды не сработали ?
Менял тайминг на 10 секунд, кубик отрабатывал за пару секунд и поле в которое нужно вставить значение после клика, не успевает прогрузиться, а если тайминг 1.5 сек перенести в кубик после клика, тогда все ок.
 
Разобрался, оказывается метод Click уже есть в HtmlElement, переименовал в onClick все заработало!
 
  • Спасибо
Реакции: Nick

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)