Хабрахабр:
Хабы: Программирование,.NET,Блог компании DevExpress В прошлом году мы участвовали в выставке TechEd Russia и, конечно, много общались с посетителями. Тогда выяснилось, что российские разработчики хорошо знают нашу компанию как производителя .NET контролов, но мало кто слышал о том, что у DevExpress есть фреймворк ? eXpressApp Framework (XAF) ? объединяющий большинство наших WinForms и ASP.NET продуктов. Тогда и родилась идея рассказать русскоязычному сообществу o XAF, которая воплощается в жизнь сейчас. Итак, что же такое XAF и зачем вам предлагается запомнить еще одну трехбуквенную аббревиатуру? Проще говоря, XAF ? это фреймворк для быстрой разработки других трехбуквенных вещей, таких как CRM, ERP, EAM, WMS и т.д. (любых приложений для бизнеса). XAF может быть полезен не только опытным .NET-разработчикам. ?Порог вхождения? невысок ? можно смело сказать, что приступить к разработке ХАF-приложений можно вообще не имея опыта в .NET. Так что сисадминам-мастерам-на-все-руки XAF может помочь создать серьезное корпоративное приложение и избавиться от вороха расшаренных экселевских таблиц или Access-базы в которые пользователи что-то заносят и пытаются анализировать. В то же время, продвинутые разработчики могут создавать сколь угодно сложные решения (пример ? Галактика EAM). Читать дальше →
Хабы: Human Resources,GTD Каждый мой рабочий день на протяжении нескольких месяцев начинается с того, что я открываю интеллект-карту с многообещающим названием ?Задачи?. Карта постоянно развивается, обрастает новыми веточками и идеями. Несколько месяцев назад этот способ систематизации всего на свете пришёлся мне по вкусу, показался очень естественным и окончательно въелся в сознание. Интеллект-карты пригодятся, чем бы вы ни занимались. Особенно, если ваша деятельность связана планированием, проект-менеджментом, организацией мероприятий, копирайтингом, проектированием сайтов и т.п. В чём фишка mindmaps, что стоит описывать с помощью интеллект-карт, как они помогают в работе, и чем хороша свободная программа FreeMind ? читайте под катом. Читать дальше →
Хабы: Блог компании Cognitive Technologies На базе нашей роботизированной системы ?Е1 Евфрат? можно реализовывать совершенно разные как по сложности, так и по сфере применения, IT-проекты. Не так давно мы получили очень необычный и интересный заказ: автоматизировать контроль документации промышленного процесса упаковки лекарственных препаратов. Готовых программных продуктов для поставленной задачи нет на всем российском рынке! Но для нас нет ничего невозможного, мы приступили к реализации данного проекта. Все, что связано с фармакологическим производством, требует повышенного контроля над человеческими и автоматизированными ошибками. Мы предусмотрели множество контрольных и отчетных точек в данном бизнес-процессе, учли все влияющие факторы, чтобы снизить вероятность ошибки. В рамках разработанного нами проекта автоматизированный контроль процесса упаковки лекарственных препаратов включает в себя: ? Создание в системе регистрационно-контрольной карточки (далее РКК) процесса очистки оборудования ? Создание РКК процедуры перед началом упаковки готового продукта ? Этапы упаковки. Досье продукта ? Выполнения процесса упаковки и маркировки ? Нерегламентированные события при процессе упаковки фармацевтических препаратов Остановимся подробнее на каждом из этапов. Любой процесс упаковки препарата начинается с очистки оборудования. Сменный мастер заполняет соответствующую данной процедуре страницу РКК, устанавливает время и дату очистки, подписывает ЭЦП. Контроллер ОКК заверяет своей подписью чистоту линии производства. На этом этапе можно сформировать ?Протокол контроля уборки линии перед производством?. Упаковка, как известно, проводится ручным и автоматическим способом. Для каждого из этих процессов предусмотрены разные формы протокола и разные отчетные документы. Мы разделили каждый из процессов на 11-15 ?подэтапов? для наиболее эффективного контроля над каждым из них. По результатам завершения ?подэтапа? производится подписание ЭЦП сотрудником, выполняющим процедуру, и формирование листа протокола упаковки в досье продукта. К досье упаковки присоединяются такие важные файлы, как химико-фармацевтический, микробиологический контроль качества, контроль на бактериальные эндотоксины и паспорт продукта. В качестве своеобразного ?бонуса? к досье на различных этапах так же присоединяются требования (на получение ?in bulk? и материалов), накладная на сдачу готового продукта, накладная на возврат остатков. Все документы логически связаны между собой и контроллер качества не тратит время на поиск необходимых материалов. Кроме того, вывод сводной отчетности по процессу упаковки тоже не займет много времени: нажатием одной кнопки произойдет вывод отчета на печать. За счет этого исключаются потери времени и документов, при перемещении из отдела в отдел, сокращается число ошибок. Перед началом упаковки готового продукта в системе заводится регистрационно-контрольная карточка (РКК) процедуры. В карточку вносятся и контролируются, на протяжении всего производства, данные о конечном продукте: наименование готового продукта, серия, дата производства, срок годности. Кроме того, часто появляется необходимость в дополнительной информации, в качестве которой вводятся сведения о производителе (если предприятие производит препарат по франшизе), данные о спецификации. Таким образом, на титульный лист протокола упаковки мы вывели базовые этапы, которые заполняются автоматически при помощи ?чек-боксов?, при заполнении соответствующей вкладки сменным мастером, либо контроллером ОКК. Это позволяет отслеживать, на каком, на текущий момент, этапе находится процесс упаковки продукта: получение исходного сырья и материалов, упаковка в пачку, упаковка флаконов в транспортную тару, сдача готового продукта на склад, расчет баланса. Заполнив вкладку о получении исходного сырья, можно переходить непосредственно к самому процессу. Начало выполнения процесса упаковки и маркировки на этикетировочной машине, картонажной машине и полуавтомате для упаковки в короб удостоверяется на соответствующих вкладках уже заведенного нами досье на упаковку продукта. Контрольные точки производства установлены достаточно часто: через каждые 15 ? 30 минут, кроме того, есть возможность выборочного контроля через каждые 3 часа. Вся контрольная информация с упаковочного оборудования передается и учитывается в системе ?Е1 Евфрат?. Мастером производится настройка оборудования, выставляются данные, которыми будут маркироваться пачки с упаковываемым продуктом. Чтобы минимизировать влияние антропогенного фактора (в виде мастера) на пропуск необходимых процедур, на все его действия заведены фиксированные маршруты. В установленных для контроллера ОКК контрольных точках производится визуальная проверка складываемых инструкций и уже промаркированных пачек и флаконов (либо блистеров ? в зависимости от упаковываемого продукта). Образцы, по требованию, прикладываются к формируемым листам протокола упаковки. В процессе мастером и контроллером заполняются таблицы учета флаконов, самоклеющихся этикеток, подводится статистика по выданным, использованным и отбракованным расходным материалам. Операторами же заполняется ?Протокол материального баланса? в процессе выполнения упаковки и маркировки, который подписывается контроллером ОКК. Далее продукт упаковывается по контурным ячейковым упаковкам, заполняются нужные вкладки протокола, подписываются ЭЦП сотрудниками, производящими данные действия, отмечаются контрольные точки. По мере прохождения процесса контроллер ОКК заполняет вкладки, связанные с контролем работы оборудования, контроль правильности и полноты вложений в пачку, формирует промежуточные листы протокола. При упаковке фармацевтических препаратов могут происходить нерегламентированные события, например, несоответствие нормативной документации при выполнении производственной процедуры. В этом случае сменным мастером производится описание несоответствия нормативной документации, и система формирует ?Отчет о происшествиях при упаковке?, который подписывают мастер и начальник участка упаковки. Впоследствии данный отчет заверяется контроллером ОКК. Данные процедуры предусмотрены маршрутами по обработке нерегламентированных событий. Оба эти документа попадают в досье производимого продукта, заведенного в ?Е1 Евфрат?. После всех этих процедур, которые на словах выглядят очень сложно и непонятно (хотя при помощи ?Е1 Евфрат? процесс упрощается и ускоряется в несколько раз, чем при традиционном методе), упакованные лекарственные препараты фасуются в производственную тару и отправляются в карантинную зону на склад. И на этом наша задача считается выполненной. Для нас нет ничего невыполнимого! Главное ? грамотное техническое задание!:)
Хабы: Разработка,Visual Studio,C++ В Visual C++ нет нормального стандартного способа отображения произвольных изображений на форме. Конечно, можно воспользоваться Picture Control, но изображение в нем можно установить только из ресурсов (насколько я помню), отсутствует возможность масштабирования, и нет поддержки скролбаров, если изображение выходит за границы контрола. Эти задачи и были реализованы в Image Control (часть кода была заимствована из другого контрола, но к сожалению источник уже затерялся, так как делал я это давно). Называется класс CImageViewer, и наследуется он от CWnd. Изображение, отображаемое в контроле, хранится в члене класса m_image с типом CImage. Это позволит нам отображать изображения большинства популярных форматов. Основные методы класса: ? Установка изображения: void SetImage(CImage *image); ? Увеличить: void ZoomIn(); ? Уменьшить: void ZoomOut(); Остальные методы и члена класса являются служебными. Читать дальше →
Хабы: Веб-разработка,HTML,CSS Введение: Доброго дня, Хабр! Работая в успешной веб-студии, ориентированной на западный рынок, практически не существует проекта, в ТЗ к которому нет строки ?корректное отображение на мобильных устройствах?. Под мобильными устройствами в данном случае подразумеваются смартфоны и планшеты под управлением Android и iOS. Таким образом, современному веб-разработчику (дизайнеру / программисту / верстальщику) никак нельзя не учитывать особенности отображения конечного продукта на вышеупомянутых девайсах. Нельзя сказать, что валидный, кроссбраузерный код, который корректно отображается на старших настольных братьях даст совершенно иную картину при запуске на мобильной платформе ? сейчас уже ситуация обстоит куда лучше, нежели раньше. Однако, как показывает практика, все еще остались некоторые нюансы, которые необходимо учитывать. О тех, с которыми мне пришлось столкнуться в процессе тестирования в Safari под iOS я хочу сегодня рассказать. Читать дальше →

Отписаться от этой рассылки