Хочу поделиться небольшой страничкой, которая может принести немного пользы :) Для версии 5.х. Можно при желании переделать на 7.х
Суть - выполнение SQL запросов и просмотр их результата (SELECT).
Будет полезна при отладке на ondemand.
Ничего фантастического - просто выполнение custom query. Собственно, умеет всё то, что умеет CQ.
Для использования - импортировать схему и опубликовать. Если нужно видеть, сколько строк изменено запросами INSERT, UPDATE, DELETE, то можно модифицировать код следующим образом:
var resultQuery =new CustomQuery(UserConnection, sqlText); using(DBExecutor dbExecutor = UserConnection.EnsureDBConnection()) {
var dr = resultQuery.Execute(dbExecutor);
Page.HtmlOutput.InsertTextAsSource("Rows affected: "+ dr +"\n"); }
Получается HTML таблица, которую можно скопировать и вставить в Excel.
Дополнительно, результат выборки пишет в формате csv на дополнительной вкладке.
Сейчас попробовал импортировать в 7.5 - с первой попытки выдало ошибку, со второй импортировалось без проблем. Вот на всякий случай схема, экспортированная уже из 7.5:
Евгений, подскажите пожалуйста, как вызвать показ вашей страницы вне раздела "Управление конфигурацией", т.е. например из бизнес-процесса или из кода замещающей страницы по клику кнопки.
Версия 7.7.
Импортировать схему из файла не получилось - "Невозможно сохранить изменения элемента "Мой_пакет", так как он создан сторонним издателем или установлен из файлового архива".
Переписал ручками, но в процессе есть параметры HtmlRequred и HtmlEnd, которые хранят константу. Попытался провалиться, но увы - ошибка при нажатии на "ПАРАМЕТР". Подскажите как победить?
В статье Асинхронные запросы в bpm’online 5.X был приведен пример отправки Get/Post запросов со страницы с использование языка JavaScript. В этой статье хотелось бы рассказать про подводные камни, которые встретились при реализации и как их можно обойти.
Предположим, имеется некий абонент интернет провайдера, у которого есть такие поля, как баланс, MAC-адрес, IP-адрес, состояние, список последних сессий абонента, получение доступных для смены тарифов, получение текущего тарифа абонента. При открытии карточки необходимо получать обновленную информацию от WCF сервиса, отображать её на странице и сохранять в базе данных.
При наличии сложной логики на странице, а именно:
применение нескольких асинхронных запросов;
обновление значений в контроллах на странице;
обновление значений столбцов в DataSource.ActiveRow;
обновление записей в базе с помощью класса Update (для того, чтобы при получении обновленной информации от сервиса, например, баланса, сразу записывать его значение в базу, и при последующем открытии карточки, даже если пользователь закрыл страницу не сохранив запись нажав "Отмена", пользователь увидит последние обновленные сведения, полученные от биллинговой системы, до того момента, пока от сервиса не придет новая, обновленная информация о балансе, в противном случае, при отсутствии доступа к данному сервису (пропало интернет соединение), будет отображаться последняя загруженная информация о балансе).
Столь сложная логика на странице может стать причиной ошибок на странице, как, например, ошибка "Сбой при загрузке состояния отображения. Дерево элементов управления, в которое загружается это состояние отображения, должно соответствовать дереву элементов управления, использованному для сохранения состояния отображения при предыдущем запросе. Например, при динамическом добавлении элементов управления те элементы управления, которые были добавлены при обратной передаче, должны по типу и положению соответствовать элементам управления, добавленным при исходном запросе." (скриншот окна с ошибкой ниже).
Данная ошибка возникает при переходе на деталь "Активности", и другие детали, в которые загружается информация, связанная с данной записью. Причем ошибка возникает только во время выполнения асинхронных запросов к сервису, если быть точнее, при получении информации от сервиса, выполняется серверная логика, во время которой и возникает ошибка.
Чтобы избежать данной ошибки, необходимо запретить пользователю переходить на детали, которые вызывают ошибку. Сделать это можно следующим образом.
В БП страницы на событие PageLoadComplete необходимо добавить элемент "Задание сценарий", который добавляет на страницу следующий JavaScript код (данный скрипт должен выполняться перед добавлением скрипта создания самого запроса, т.е. объекта XMLHttpRequest, как было описано в статье):
// Функция, позволяющая скрыть/отобразить все детали, следующие за деталью // "Активности", включая саму эту деталь function changeVisibleOfTabs(isVisible){ for(var i =0; i PageContainer_DataTabPanel.items.items.length; i++){ if(PageContainer_DataTabPanel.items.items[i].caption=='Активности'){ for(var j = i; j PageContainer_DataTabPanel.items.items.length; j++){
PageContainer_DataTabPanel.items.items[j].tabHeader.setVisible(isVisible); } break; } } }
// скрываем детали перед выполнением запросов
changeVisibleOfTabs(false);
// создаем таймер, который каждые 500мс проверяет, завершились ли все запросы, // после того, как все запросы завершены, создаем таймер на 2000мс, // чтобы отработала вся логика на странице, после чего отображаем скрытые детали var timerCheckIsDone = setInterval(function(){ if((requestUpdateBalance != undefined && requestUpdateBalance !=null&& requestUpdateBalance.readyState==4)&& (requestUpdateMacAndSerialNumber != undefined && requestUpdateMacAndSerialNumber !=null&& requestUpdateMacAndSerialNumber.readyState==4)&& (requestUpdateAbonentState != undefined && requestUpdateAbonentState !=null&& requestUpdateAbonentState.readyState==4)&& (requestGetSessionDetalisation != undefined && requestGetSessionDetalisation !=null&& requestGetSessionDetalisation.readyState==4)&& (requestGetAvaliableTariffs != undefined && requestGetAvaliableTariffs !=null&& requestGetAvaliableTariffs.readyState==4)&& (requestGetCurrentTariff != undefined && requestGetCurrentTariff !=null&& requestGetCurrentTariff.readyState==4)){
clearInterval(timerCheckIsDone); var timerChangeVisibleOfTabs = setTimeout(function(){
changeVisibleOfTabs(true);// отображаем детали },2000); } },500);
Важно! После выполнения данного скрипта, необходимо создать объекты запросов, как было показано в статье. Причем объекты запросов должны ссылаться на глобальные переменные, которые мы объявляли в самом начале, т.е. необходимо писать вместо
var request = new XMLHttpRequest();
вот так:
requestUpdateBalance = new XMLHttpRequest();
Иначе доступ к данным переменным будет невозможен из функции, где выполняется проверка завершения запросов.
Есть ситуации, когда нужно, чтобы при открытии карточки редактирования, в поля карточки подгружалась информация, которую нужно выводить в актуальном (обновленном) состоянии. К примеру, когда клиент звонит в тех поддержку, сотрудник техподдержки открывает карточку клиента в bpm'online и должен видеть текущий баланс данного клиента. Предположим, есть WCF сервис, работающий на некотором хостинге, созданный для интеграции с биллинговой системой, с методом получения баланса абонента GetBalance, ответ от которого приходит в виде строки в формате JSON, который мы можем обработать и вывести в нужном формате на страницу редактирования.
Если выполнять запрос из бизнес процесса карточки редактирования (на PageLoadComplete, к примеру), то при выполнении запроса возникает зависание карточки редактирования, и она не отвиснет пока либо не придет ответ, либо пока запрос не будет завершен по таймауту (если сервер долго не отвечает).
Чтобы выполнить запрос асинхронно, нужно добавить на страницу редактирования JavaScript код, который будет обращаться к сервису, получать ответ от него и выводить результат в контролы страницы. Чтобы отправлять запрос сразу после загрузки страницы, нужно добавить элемент бизнес процесса «Задание-сценарий» на событие «PageLoadComplete», либо если нужно отправлять запрос по нажатию на кнопку, то на событие нажатия на неё.
При выполнении данного кода Java Script кода на странице, мы получим ошибку в консоли браузера:
XMLHttpRequest cannot load http://someserveradress/SomeWCFService.svc/GetBalance. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
Ошибка говорит о том, что запрещено обращаться к другому домену (попытка выполнить кросс-доменный запрос). Данное ограничение введено из соображений безопасности, но его можно обойти используя технологию CORS.
Подробную информацию об этой технологии можно посмотреть тут:
1) https://ru.wikipedia.org/wiki/Cross-origin_resource_sharing
2) http://enable-cors.org/
3) http://habrahabr.ru/post/120917/
Для того, чтобы разрешить кросс-доменные запросу, нужно включить поддержку на сервере, к которому приходит запрос, в моём случае это WCF служба. Для включения поддержки CORS у WCF сервиса, нужно выполнить действия, описанные тут: http://enable-cors.org/server_wcf.html.
Информацию по включению поддержки CORS для других платформ/серверов можно найти тут: http://enable-cors.org/server.html.
После этого, запрос должен выполняться асинхронно, не вызывая зависание карточки, благодаря чему можно просматривать/редактировать карточку в момент выполнения запроса.
В преддверии предстоящего вебинара: Forwarder on bpm’online – Автоматический подбор заказов, ранжирование перевозчиков и оптимизация расположения грузов в одной коробке. Хотелось бы рассказать об одной из отличных особенностей нашего продукта – ранжирование потенциальных перевозчиков.
Алгоритм ранжирования потенциальных перевозчиков, реализованный в нашем продукте, основан на расчете рейтинга перевозчиков. Расчет будет осуществляться по нескольким критериям:
1) Рейтинг добросовестности
Для расчета используются параметры: количество рекомендаций, претензий и количество предоставленных копий документов.
Предложения от еще незарегистрированных в системе организаций, будут помещаться в конец списка надежности.
Перевозчик уже занесенный в базу bpm'online и имеющий несколько успешных сделок будет помещен в самый верх списка.
2) Рейтинг срочности
Предпочтение будет отдаваться тем перевозчикам, у которых в качестве даты загрузки стоит период времени.
Также дополнительно будет учитываться загрузка и возможности автомобиля перевозчика.
3) Рейтинг стоимости
Расчет будет производиться вычислением расстояния и ставки перевозки по нужному маршруту.
Более подробную информацию об этой и других функциях нашего продукта Вы сможете узнать 18 февраля в 10-00 (МСК) на вебинаре Forwarder on bpm’online – Автоматический подбор заказов, ранжирование перевозчиков и оптимизация расположения грузов в одной коробке.
Олег, после проведения вебинара посредством обратной связи мы немного изменили ключевые функции, о которых говорилось, на вебинаре. Поэтому информация представленная тогда, является сейчас не столь актуальной. В скором времени мы планируем провести новый вебинар по продукту и выложить по нему всю доступную информацию.
приглашаем вас на вебинар по продукту PT Forwarder on bpm'online.
Задумывая этот продукт, мы ставили себе цель не просто сделать набор средств, решающий типовые задачи по обработке заявок, маршрутов итп.
Мы решили разработать и внедрить такие инструменты, которые позволят клиентам получить значительную экономию времени, точность выбора и легкость решения весьма сложных вопросов.
Отличительными особенностями нашего продукта являются:
1) возможность работы с популярными порталами перевозок непосредственно из рабочего пространства программы. Система сама создает запрос на подбор предложений перевозчиков, загружает их, ранжирует по различным критериям и их совокупности (наилучшая выгода, самый надежный перевозчик, наиболее оптимальная загрузка итп). Вам остается выбирать самые высокорейтинговые варианты и сразу же работать с ними как с продажами, звонить, договариваться и быстро закрывать сделки.
2) Возможность расчета оптимального расположения груза с учетом качества и количества груза, его объемов, расположения погрузочно-разгрузочных пунктов на маршруте и других факторов.
Коллеги, на этой неделе прошел вебинар по продукту 1C Connector. Продукт предназначен для настройки интеграции bpm'online и 1С.
Ключевые особенности продукта:
Позволяет настраивать интеграцию bpm'online и 1С без написания кода
Работает с версиями bpm'online 5.X и bpm'online 7.X
Работает с версиями bpm'online on-demand и on-site
Работает со всеми конфигурациями 1С, начиная с 8.1
Работает со доработанными конфигурациями 1С
Можно настраивать расписание (периодичность) импорта
В продукт включена референтная настройка разделов (справочники, синхронизация счетов и контрагентов уже настроена)
Поддерживается работа с табличными частями (например, продукт в счете)
Поддерживается работы с несколькими валютами, контроль оплат по курсу
Механизм агрегации (ниже подробнее)
Фильтры по полям и значениям
Логирование действий менеджеров
Автоматическая проводка в 1С
Импорт/Экспорт иерархических разделов
Выполнение скриптов в 1С
Фильтрация удаленных документов
И многое другое...
Механизм агрегации
Сегодня хочу подробнее рассказать про один из механизмов, используемый в продукте, а именно про агрегацию.
Как известно, в базовой версии bpm'online crm нет раздела для хранения оплат, но зато есть поле "Сумма оплаты" в счете. С другой стороны в 1С наоборот есть несколько типов документов, по которым приходит оплата по счету (платежное поручение, приходный кассовый ордер). Суть механизма заключается в том, чтобы пройти по каждому связанному со счетом документу в 1С и просуммировать все, что нам оплатили. Итоговое значение и заносится в поле "Сумма оплаты" в счете bpm'online. Схематично это выглядит так:
С точки зрения настройки достаточно выполнить следующие шаги:
В интеграции счета добавить агрегирующую колонку:
Выбрать поле счета в bpm'online, в которое мы будем класть итоговые данные. Указать, будем ли мы суммировать только по проведенным документам или по всем:
Выбрать документы, по которым мы будем проводить суммирование (для каждого документа указывается поле связи со счетом и поле, по которому будет происходить агрегация):
Запустить синхронизацию:
Вуаля, достаточно сложная задача решается в несколько кликов мыши без необходимости вносить изменения в конфигурацию 1С, пакеты bpm'online, создавать дополнительные разделы и тем более писать код.
FAQ
Также на вебинаре по 1C Connector было рассмотрено много интересных вопросов, в том числе:
Вопросы по 1С и версиям:
Проблем не возникнет, потому что мы работаем через веб-сервисы
Проблем нет, потому что мы не работаем с БД напрямую, только через веб-сервисы
Нет, работаем с любыми доработанными конфигурациями
Никак, мы работаем через веб-сервисы, поэтому этого не нужно делать
Для этого нет необходимости, мы работем с любыми доработанными версиями 1С
Есть список интеграций, в каждом из них список разделов
Сборки нужно заказывать отдельно, платить естественно 1 раз
Предоставление новое сборки бесплатно, если нужны наши работы на сервере, то оплачиваются по стандартной ставке часа.
Если 1С на сервере клиента, а bpm on demand, не возникнет ли проблем?
С 1С на базе SQL/PostgreeSQL нет проблем при обмене данными?
Работа только с базовой версией 1С?
Как указывается путь к файловой базе 1с?
Версия для Казахстана есть?
Какие данные передаются в 1С и обратно где нить список посмотреть можно?
Если система уже в продакшине, будет ли работать коннектор под разными сборками для версий 7.2 и 7.3 (т.е. для каждой сборки заказывать отдельно)?
Если у клиента обновили сборку, устраняя что-то, коннектор также необходимо обновить - это к вам, в рамках купленного пакета часов поддержки?
Вопросы по продукту:
Сейчас можно сделать вручную, выбором полей будет доступно в версии 1.6 (октябрь 2014)
Есть, но эта функция не вынесена в интерфейс для пользователя
Нет, но если большой данных, то можно уменьшить его с помощью фильтров
Да, конечно! Продукт поставляется, как стандартный пакет bpm’online с открытым исходным кодом
Скажите, пожалуйста, можно настроить синхронизацию записей у которых дата изменения старше в направлении 1С-БПМ и БПМ-1С?
Есть возможность экспорта настроек для переноса с системы на систему?
Процесс синхронизации ресурсоёмкий?
Можно ли самому дорабатывать ваш продукт?
Вопросы по стоимости и прочее:
Да, 700 евро – это конечная стоимость для клиента
Для ТП мы предлагаем предоплаченные пакеты по 25, 50 и 100 часов работ по ставке 2 040 рублей/час.
Бесплатной версии не будет:)
Можем работать как полностью удаленно (есть опыт внедрения в Казахстане, Калининграде, Якутске, Иркутске, Новосибирске и т.д.), так и очно.
По продукту договор такой же, как на любые лицензии bpm’online. По блиц-проекту любые варианты
На блиц-проект не составляем, делаем только соотношение полей
Нет
Внедрение 700 евро - это конечная стоимость для клиента?
Техподдержка? Сколько стоят пакеты ТП?
Будет ли бесплатная версия? С какими ни будь ограничениями например по количеству операций( 10 продаж или т.п)
Внедрение по Казахстану как делаете? Удаленно?
Договор с конечным клиентом заключаете напрямую или через партнера?
ТЗ составляете и подписываете с клиентом?
Для партнера есть nfr (для личного пользования партнера)?
Небольшое уточнение по вопросу 5 раздела "Вопросы по стоимости и прочее".
Приобретайте коннектор там где вам удобно приобретать лицензии bpm'online:
у Terrasoft,
у партнера, с которым вы работаете,
у нас.
Как уже отметил Александр, договор на передачу неисключительных прав совершенно стандартный.
Блиц-проект заказываете непосредственно у нас либо просто ваш партнер, который делает вам внедрение или доработки, вставит наши часы в свою спецификацию, как вам удобно.
Добрый день! Хочу поделиться опытом работы с JS в проектах на bpm’online 5. Статья будет полезна тем, кто не знает с какой стороны подойти к этому вопросу и с чего начать. Умение работать с JS применительно к bpm’online открывает богатые возможности настройки функциональности. В статье будет рассмотрено:
как добавлять js-скрипты на страницы bpm’online
как подписываться на события "onclick", "onkeydown" и пр.
как генерировать сигналы для страницы
показан пример использования jQuery
использование js-библиотек
Основы
Добавление JS скрипта на страницу выполняется с помощью метода:
Page.AddScript(string script)
Добавим на «страницу карточки задачи» кнопку и напишем код обработки:
Page.AddScript("alert('Hello!')");
В результате нажатия на кнопку произойдёт следующее:
Чтобы упростить себе жизнь и не мучиться с экранированием символов, текст JS-скрипта в исходном виде можно записать в параметр бизнес-процесса.
А затем добавить скрипт, передавая в качестве текста скрипта параметр JS_FirstScript:
Page.AddScript(JS_FirstScript);
Немного модифицируем этот способ: в параметр JS_FirstScript запишем:
alert('%message%');
Добавим в Usings пространство имен System.Text.RegularExpressions
В коде пишем:
После нажатия на нашу красную кнопку, на страницу добавятся обработчики нажатия кнопок «Стрелка влево» и «Стрелка вправо». Нажимая на стрелки, получаем:
Само собой, если добавить этот скрипт в "Init", то обработчики появятся уже после открытия страницы.
Пример №2
Добавим обработку клика по изображению. Дизайнер bpm'online не позволяет добавить обработчик события «click» на элемент «Область изображения», но мы можем сделать это с помощью JS. Добавим картинку на страницу:
Мы будем искать html-элемент этой картинки по id, поэтому посмотрим на него:
Для того, чтобы не изобретать велосипеды, у нас есть возможность использовать JQuery в своем коде. Причём, JQuery уже добавлен в ресурсы страницы. На момент написания статьи, обычно это jQuery v1.7.1
Приведу пример анимации с помощью jQuery.
Добавим в процесс параметр «scriptAnimation». Пишем его значение:
В результате, при нажатии на изображение, оно будет сдвигаться влево на 100 пикселей и постепенно исчезать. После чего начнётся обратная анимация.
Изменив id элемента в параметре «scriptAnimation», можно подвигать, например, поле ввода автора активности:
Добавление библиотек JS на страницу
Что делать, если нам нужно подключить какой-то js-код, который просто неприлично в нормальном обществе засовывать в параметр процесса? Рассмотрим на примере добавления маски ввода к текстовому полю.
Добавим на страницу текстовое поле, назовём его MaskedTextEdit
Все круто, только не понял, почему для обращения к TextEdit'у с клиента Вы используете свойтсво "ClientID", а для картинки смотрите ее Id в HTML-коде.
Думаю, что оптимальнее везде использовать ClientID.
Добрый день, Андрей!
На то это и примеры, чтобы показать все способы получения идентификатора. Например, понадобилось вдруг нам подвигать какое-нибудь поле, то тут ClientID нам не поможет:
Получив ClientID = PageContainer_HouseCategoryEdit мы будем двигать только текст контрола, в то время как "прямоугольник" контрола будет стоять на месте. Чтобы двигать прямоугольник, нам нужно посмотреть его Id в html:
т.е. нам нужен id div'а, а именно "ext-gen1052", или вообще "ext-gen1070", чтобы подвигать поле вместе с меткой.
Евгений, в таком случае это будет довольно небезопасно, так как после внесения изменений в дизайн страницы автогенерируемый Id уже может быть не тот_) Думаю, если нужно двигать весь контрол, то его можно поместить в контейнер и двигать контейнер. Хотя, я не пробовал, могу ошибаться.
Привет всем неспящим по выходным и читающим в понедельник. Недавно был пост про ESN, который ознаменовал собой начало блога CSM. Делиться реальным опытом - вещь очень хорошая и нужная. А делиться интересным опытом еще и весело
Поэтому выкладываю такую фотографию bpm'online, которую вы еще точно не видели - это bpm'online, который работает в автомобиле марки Jaguar.
Но самое главное, что это реальный кейс, который использует один из наших клиентов, говорит что очень удобно использовать встроенные бизнес-контакты.
Цитата клиента: "На авто ягуара с паррота разговариваю. Голосовой вызов командой с нажатия кнопок на руле контрагента если только он в телефонной книге есть. Работает круто. Доволен."
Примечание 1: "ягуар" - марка автомобиля (который Jaguar)
Примечание 2: "паррот" - марка навигатора
круто. скоро доживем когда люди будут разговаривать с холодильниками :) и всем будет управлять BPMOnline. А в целом идея отличная. Я думаю многие Директора и Манагеры ее оценят.
"Власов Михаил Викторович" написал:всем будет управлять BPMOnline
Всем будут управлять люди, которые строят процессы в bpm'online, мвахаха:lol:
P.R.: Кстати, bpm'online теперь официально пишется именно так:wink: С ходу не нашел линк.
В пятницу, 29 августа, прошла IT-конференция «Центра разработки и внедрения Terrasoft Поволжье» в формате «коллеги для коллег». Событие подобного формата проходило впервые, но собрало много положительных отзывов среди участников, и стало отличной площадкой для обмена опытом и детального разбора профессиональных процессов.
УТРО.
8:30, просека, «Олимп». Чудесная погода, на небе ни облачка. Немного сонное, но хорошее настроение. Ребята потихоньку приезжают в назначенное место, регистрируются и берут фирменные майки и бейджи. Кстати, о бейджах: идейным вдохновителем конференции стал Александр Свистунов, и в дополнение к свободному и лёгкому формату мероприятия, он предложил сделать самые нетипичные надписи, олицетворяющие участников. То было удивительно и странно, но в дальнейшем на каждом из ребят красовались тексты вроде «Адепт javaScript», «Выполняю бесконечные циклы за 5 секунд», «Троечник», «Хорошо делаю кофе» и т.д.
Вдохновитель конференции явился и ее первооткрывателем, начав программу докладов. Александр представил всем план текущего мероприятия, рассказал об истории и перспективах роста «Программных Технологий». Невозможно было не обратить внимание на частые Сашины заметки о том, что главной гордостью и богатством компании являются ее кадры.
Сразу после вводной части, началась основная часть конференции с доклада «Методология. Путь к удобству». «Методология – есть основа процесса ведения проекта. Именно с переходом на новую методологию связано разделение труда по ролям и соблюдения регламентов взаимодействия как внутри команд, так и с заказчиком» - Александр вводил слушателей в курс дела.
Перед тем, как разойтись на 3 параллельные сессии, был устроен кофе-брейк на свежем воздухе. И тут из толпы послышался звонкий возглас: «Белочка!!!» Действительно, маленькая красавица бегала по дереву, метрах в 5 от людей, не боялась и позировала как настоящая модель.
Кофе был весьма кстати, поскольку после него начался настоящий интеллектуальный штурм, участники разделились на 3 группы и разошлись по нескольким тематическим площадкам: Маргарита Шаркова на собственных примерах доходчиво рассказала о сборе требований и документации, а Александр Свистунов и Марина Шальнева – об «архитектуре» Terrasoft 3.X.
В докладах Тимофея Яблокова «JS/ExtJS или как сломать мозг программисту», «Отчеты. От простого к ужасу», Дмитрия Толмачева «Принципы совместной работы», Александра Семенова и Антона Мочальникова «Интеграции с внешними системами», непосвященному слушателю были понятны лишь предлоги. Ребята раскрывали темы, используя профессиональный технический слэнг, и легко отвечали на заданные вопросы, демонстрируя высокий уровень владения предметом.
Марина Шальнева представила доклад «Типичные задачи в Террасофт 3.Х», коснувшись разделов «инструменты разработчика», «запросы и отчеты» и «создание полей реестров и деталей».
ОБЕД.
Что может быть прекраснее этого слова? Конечно же, «bpm’online», но сейчас мы не об этом.
Построившись парами в одну большую шеренгу, голося кричалки: «Кто шагает дружно в ряд…?», отряд направился в столовую. Салат, первое блюдо, второе, 2 вида выпечки напомнили о детстве. Но даже во время обеда за столами не угасало общение в продолжение дискуссий по докладам. Всё непонятое – пояснялось, всё несказанное – озвучивалось. Проголодавшиеся сотрудники продемонстрировали равный интерес как к пище духовной, так и ко вкусной солянке, котлеткам и булочкам.
После сытного обеда, с целью борьбы со сном, Дмитрий Толмачев поведал об основах построения процессов в bpm’online и работе с базой данных, подробно рассмотрев высокоуровневый класс ESQ – EntitySchemaQuery, приложение SQL Server Profiler, позволяющее перехватывать события SQL Server и язык интегрированных запросов - Linq. В этот момент Александр Свистунов на соседней площадке развлекал слушателей освещением тем интеграции bpm’online с сайтами, 1С и импорта данных в систему.
ВЕЧЕР.
Во время того, как ребята представляли последние доклады, стремились к вершинам IT-мастерства, и штурмовали баррикады неизвестности, в беседке, около мангала, разворачивалась кампания по подготовке вечернего досуга и трапезы. Мангал зазывал всех отведать сочных сосисок, ножи плясали в умелых руках наших «гуру высокой кухни», ароматы глинтвейна разносились далеко за пределы беседки.
К тому моменту, когда ребята, слегка уставшие, но довольные вышли из «аудиторий», всё уже было готово, и началась последняя часть конференции.
Обмен впечатлениями, поздравления и тосты были наполнены позитивом, а зажигательные конкурсы, чудо-фокусы, песни и разговоры у огня и танцы помогли расслабиться и окунуться в атмосферу беззаботного веселья.
Так прошла наша первая образовательная конференция в формате «коллеги для коллег».
Александр Свистунов, руководитель отдела исследований и разработки: «Идея проведения конференции родилась из потребности обучения персонала. Пробежавшись по темам, мы поняли, что парой докладов тут не обойтись. В итоге все это вылилось в полноценную «One Day Конференцию». Самое интересное в подготовке - было распределение тем по докладчикам (ребята проявляли инициативность, и мы с трудом уместили все темы в 3 сессии).
При чтении докладов возникало очень много интересных смежных тем, поэтому пришлось даже продлить время конференции в счет части обеда.
Ну и, конечно же, на уровне была вся организация мероприятия – начиная от качества докладов и заканчивая вечерней культурной программой на свежем воздухе! Каждый остался доволен!»
К сожалению видео в хорошем качестве записать не удалось, а запись звука и экрана мы сделать не догадались:sad:. Для примера выложил 2 видео докладов.
P.S.: На следующей конференции мы будем уже опытными и все будет в HD:smile:
"Владимир Соколов" написал:Интересно было бы посмотреть и другие доклады
Владимир, к сожалению другие доклады худшего качества, для примера выложил по JS.
Еще раз приношу извинения - сами расстроились качеству. Зато получили опыт и в следующий раз исправимся:smile: Кстати скоро партнерская конференция и запись докладов там можно оформить, как идею здесь:wink:
В 2014м году мы (Центр Разработки и Внедрения Террасофт Поволжье) наконец то доросли до того, что проводим внутреннюю конференцию по продуктам Terrasoft 3.X и bpm'online.
Цель проста и понятна: в связи с ростом штата организовать мероприятие по передачи знаний и навыков от более опытных коллег.
Задумка родилась в формате "пара докладов вечером в пятницу в переговорке", но в итоге вылилась в полноценную однодневную конференцию на свежем воздухе, в которой будет 3 параллельные сессии, 14 докладов в общей сложности на 12,5 часов и настоящий кофе-брейк
Программа конференции
Сессии разбиты по ролям (по аналогии с партнерской конференцией Террасофт), чтобы никому не было скучно.
Ожидания
В первую очередь ждем интересного мероприятия, сплочения коллектива. Ну и конечно повышения уровня профессионализма сотрудников.
ВАЖНО!!! Все презентации докладов обязательно выложим после конференции. Также постараемся снять видео всех докладов.
Вопросы к сообществу:
Какие бы доклады лично Вас заинтересовали?
Какие темы мы упустили и их было бы интересно рассмотреть дополнительно (в статьях, докладах, тренингах, конференциях)?
P.S.: Надеемся, что конференция станет периодической и возможно уже в следующем году сможем даже пригласить всех желающих к нам, в Самару!