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

shtift

Client
Регистрация
29.07.2015
Сообщения
148
Благодарностей
290
Баллы
63

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 443
Благодарностей
8 672
Баллы
113

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43
@shtift
можешь проект для постера выложить, для использования Google-таблиц ?
Cкорее всего не дождемся))
Я так и не понял зачем выкладывать проект в студии, если конкурс на зеннолаб))
Ну а таким дуракам как я помощи не дождаться))
 

molotok

Client
Регистрация
17.04.2015
Сообщения
733
Благодарностей
358
Баллы
63
Подскажите, пожалуйста, как использовать гугл таблицы через API в Зеннопостере? В начале статьи о гугл табицап упоминалось использование в Зеннопостере, в конце статьи используется Визуал Студия.
 
Последнее редактирование:

semen26

Client
Регистрация
30.09.2016
Сообщения
44
Благодарностей
27
Баллы
18
Спасибо очень позновательно
 

ramzes8

Client
Регистрация
27.05.2016
Сообщения
43
Благодарностей
45
Баллы
18
Я работаю немного проще с гугл таблицей (надеюсь будет полезно) - смысл синхронизация идет через приложение Google Диск, создал аккаунт гугл, на ПК установил гугл диск для пк (ввел логин и пароль от гугла), создаю таблицу в гугл диск - автоматически она появляется у меня на ПК, и теперь в настройках ProjectMaker добавляю таблицу и указываю путь к таблице которая лежит у нас на компе (как правило в мои документы в папке Google Диск - справка как работать с гугл диском). Теперь любые изменения в таблице через гугл диска будут сохранены в аккаунте Google Диск. Теперь давая ссылку на таблицу нашим клиентам они могут читать или вносить изменения в таблицу (зависит от выставленных вами прав в настройках таблицы в гугл аккаунте), и изменения сразу появятся в таблице на нашем ПК а соответственно и в зенке :-)
 
  • Спасибо
Реакции: energylove3 и Platon

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 367
Благодарностей
3 292
Баллы
113
и изменения сразу появятся в таблице на нашем ПК а соответственно и в зенке
Списки в зенке не расчитаны, на то что бы файл лочился + подменялся со стороны.

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

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

ramzes8

Client
Регистрация
27.05.2016
Сообщения
43
Благодарностей
45
Баллы
18
Списки в зенке не расчитаны, на то что бы файл лочился + подменялся со стороны.

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

Тем более, в данном способе, отсутствует какая-либо блокировка.
Ну речь идет не о списках а о таблице :-)
Я делаю так:
Бот работает в цикле каждую 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

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43
Отличное решение! Но есть одно НО! Зенка работает лишь с одним листом таблицы, а если нужно работать с несколькими листами?
 

ramzes8

Client
Регистрация
27.05.2016
Сообщения
43
Благодарностей
45
Баллы
18
Отличное решение! Но есть одно НО! Зенка работает лишь с одним листом таблицы, а если нужно работать с несколькими листами?
Согласен с листами таблицы проблема, но нет проблем с количеством таблиц привязных к зенке :D думаю редкий случай - если невозможно заменить листы таблицы - просто таблицей. Ну если очень хочется работать с вкладками можно прикрутить библиотеку (если порыть инет можно найти).
 
  • Спасибо
Реакции: energylove3

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43
Согласен с листами таблицы проблема, но нет проблем с количеством таблиц привязных к зенке :D думаю редкий случай - если невозможно заменить листы таблицы - просто таблицей. Ну если очень хочется работать с вкладками можно прикрутить библиотеку (если порыть инет можно найти).
Библиотека это опять огород))) Я нашел решение проще, через гугл формы, 50-60 таблиц не очень удобно листать)))
 

romasa464

Client
Регистрация
18.06.2017
Сообщения
69
Благодарностей
12
Баллы
8
Отличная статья, автору спасибо большое! Но вот вопрос. Как при создании библиотеки методов в VS собирать её без пространств имён зенки?
При сборке появляются следующие ошибки:

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

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 367
Благодарностей
3 292
Баллы
113
  • Спасибо
Реакции: romasa464

romasa464

Client
Регистрация
18.06.2017
Сообщения
69
Благодарностей
12
Баллы
8
  • Спасибо
Реакции: PROforum

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 367
Благодарностей
3 292
Баллы
113
  • Спасибо
Реакции: romasa464

Zarkiy

Client
Регистрация
06.11.2016
Сообщения
10
Благодарностей
0
Баллы
1
Доброго времени суток, способ использования гугл таблиц через визуал студио вроде работает, но после выполнения консольное приложение не закрывается, всю голову уже сломал как это исправить, не подскажете, сталкивались ли с подобным?
 

Viking01

Client
Регистрация
19.08.2017
Сообщения
228
Благодарностей
151
Баллы
43
1. материал интересный :-)
2. не смог подключить этот облачный сервис логирования, выдает ошибку: Ожидался идентификатор, не пойму какой
3. Где можно взять ZennoExtensions?) я так понимаю, она в продаже?)
 

linkod

Пользователь
Регистрация
11.10.2018
Сообщения
118
Благодарностей
1
Баллы
16
там кончилась регистрация домена. Может кто-то сюда либу выложить?
 

смм24

Client
Регистрация
05.07.2017
Сообщения
76
Благодарностей
10
Баллы
8
Конкурсные статьи ограничены тремя темами на одного человека, но есть еще одна тема, которую я рассматриваю во внеконкурсных статьях это "Разработка шаблонов через VisualStudio". Рекомендую к ознакомлению.
Спасибо дядя, две недели боролся с этими классами и методами.
 
Регистрация
27.05.2015
Сообщения
129
Благодарностей
45
Баллы
28
С версией 5.29.3.0 библиотека работает? У меня почему то нет.
 

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28
Метод
instance.ClearCacheAndCookie();
возвращает ошибку
Выполнение действия CSharp OwnCode. Метод не найден: "Void ZennoLab.CommandCenter.Instance.ClearCache(System.String)".
Может быть кто-то вкурсе как починить, подскажите пожалуйста
 

rezbba

Client
Регистрация
04.08.2011
Сообщения
3
Благодарностей
1
Баллы
3
please attach a template sample
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
537
Благодарностей
283
Баллы
63
А где можно купить или скачать библиотеку ZennoExtensions?
 

gexweb

Client
Регистрация
04.12.2016
Сообщения
144
Благодарностей
23
Баллы
18
А где можно купить или скачать библиотеку ZennoExtensions?
Тоже пытался связаться с автором, так и не получилось к сожалению. На складчике есть его авторская складчина. Спрашивал у организатора по поводу обновлений на текущий момент. Их нет и не было с момента проведения складчины. Купить можно, и вроде не дорого, но неизвестна работоспособность на текущий момент.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 670
Благодарностей
1 855
Баллы
113
Это вроде раньше называлось "Швейцарский нож для разработчика" есть еще аналогичная SibboraHelper, но она тоже уже давно не поддерживается автором, поэтому лучше научиться писать подобные DLL самомстоятельно, главное понять принцип описанный в статье.
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
537
Благодарностей
283
Баллы
63
Подскажите почему в методе Click не срабатывает пауза?
C#:
    public static HtmlElement Click(this HtmlElement tab)
    {
        tab.RiseEvent("onclick", "Full");
        Thread.Sleep(1500);
        return null;
    }
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113
Подскажите почему в методе Click не срабатывает пауза?
C#:
    public static HtmlElement Click(this HtmlElement tab)
    {
        tab.RiseEvent("onclick", "Full");
        Thread.Sleep(1500);
        return null;
    }
а как было определено что 1.5 секунды не сработали ?
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
537
Благодарностей
283
Баллы
63
а как было определено что 1.5 секунды не сработали ?
Менял тайминг на 10 секунд, кубик отрабатывал за пару секунд и поле в которое нужно вставить значение после клика, не успевает прогрузиться, а если тайминг 1.5 сек перенести в кубик после клика, тогда все ок.
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
537
Благодарностей
283
Баллы
63
Разобрался, оказывается метод Click уже есть в HtmlElement, переименовал в onClick все заработало!
 
  • Спасибо
Реакции: Nick

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