Рассылка статей | Все записи admin
Leadersoft.ru

Рассылка статей

Программирование и готовые решения

В этом разделе сайта дается информация от https://leadersoft.ru о статьях по программированию, ответах на вопросы и др. Статьи рассылаются подписчикам и публикуются на разных сервисах. Возможно некоторая информация устарела и ссылки не работают, но эти сведения могут быть полезны, если Вы серьезно занимаетесь разработкой баз данных

Выпуск 102. Функции группировки в SQL запросах

Введение
Сильной стороной Microsoft Access является использование функций в запросах SQL. Вы можете ссылаться на поля в формах приложения, можете создать свою функцию на VBA или использовать встроенные функции в Access. Пример.
SELECT [КАССА примеры].Дата FROM [КАССА примеры] WHERE ((([КАССА примеры].Дата)>Date()+10));

 

Встроенные функции

Самыми распространенными функциями в запросах на группировку являются функции, которые возвращают некоторый итоговый результат для нескольких записей. Вот примеры.

  • Функция Sum возвращает сумму значений содержащихся в заданном поле запроса.
  • Функция Count вычисляет количество записей, возвращенных запросом.
  • Функции Min, Max возвращают минимальное или максимальное из значений, содержащихся в заданном поле запроса.
  • Функции First и Last возвращают значение поля из первой или последней записи в результирующем наборе, который возвращается запросом.

Примеры использования простейшей функции суммирования и  подсчета записей в операциях по кассе показаны ниже

  • SELECT [КАССА примеры].дбСчет AS Приход, Sum([КАССА примеры].Сумма) AS SumСумма FROM [КАССА примеры] GROUP BY [КАССА примеры].дбСчет;
  • SELECT Count(*) AS [ЧислоБольшихОпераций] FROM [КАССА примеры] WHERE [Сумма] > 10000

Ещё...

Выпуск 101. Классы Excel, Web, FTP

Введение
В этой рассылке дается информация о новых программах, т.е. vba классах для разработчика. Они специально разработаны для создания коммерческих программ, и поэтому отличаются от бесплатных примеров улучшенными характеристиками.
  • Класс работы с Microsoft Excel из Access
  • Класс работы с Microsoft Web из Access
  • Класс работы с FTP сервером из Access

P.S. Класс - это группировка программ и свойств функций VBA (Visual Basic For Application) для повторного применения. Иногда применяют выражение - что это тип данных пользователя, например, как число, текст, дата и т.п.

 

Класс работы с Microsoft Excel из Access

Класс используется для вывода на печать из Access отчетов типа Microsoft Excel в виде таблиц. Главное в этом решение - это скорость. Вывод таблицы - практически мгновенный, т.к. используется специальный алгоритм экспорта. Если экспортировать данные по ячейкам, то такое решение будет очень медленным 

Ещё...

Выпуск 100. Разработка классов на VBA

Введение

Для тех, кто занимается базами данных на  Microsoft Access, использует отчеты. Самой простой способ отобразить отчет - это использовать встроенный интерфейс этого приложения.

У него есть преимущества - он выводится быстро и не требует внешних программ, но и у него есть недостаток. Его нельзя редактировать после предварительного п��осмотра. Например, Вы отобразили договор, но в него надо добавить новый пункт, и если интерфейсом программы это не предусмотрено, то проблему уже ничем не решить, надо переделывать весь отчет. А это займет много времени.

Выход есть - это надо использовать внешнюю программу. Самый лучший способ - отчет вывести в Word, т.к. редактор текстов от Microsoft, доступен большинству пользователей и не потребуется закупать лицензии.

Примечание. Функции экcпорта отчетов в Word от Microsoft имеют ошибки и не выводят линии.

 

Как это решить

Выход тут только один, придется писать программу на VBA, что для начинающего специалиста может оказаться довольно трудным.

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

Цель разработки такого класса – это создание простого интерфейса, который будет выводить на печать документы Word, используя информацию запросов. При этом обращение к кодированию информации отчета путем VBA (visual basic for application) будет минимальным. 

Ещё...

Выпуск 99. Microsoft Access 2010 и adp проекты

 

Microsoft Office Professional Plus 2010
Тестирование Microsoft Access на базе adp проектов
Скоро на рынке должен активно продаваться новый программный продукт Microsoft Office 2010 с базой данных Access. Загрузить эту программу можно с сайта Microsoft уже сейчас. Офис 2010 рекламируется, его можно купить или обменять бесплатно на 2007 версию.

В целом - это мощный программный продукт по обработке различной информации, который можно сравнить с крутым и навороченным автомобилем (хотя есть некоторые проблемы с двигателем). Попробуем взглянуть на приложение Microsoft Access с профессиональной точки зрения, а не с  маркетинговой стороны, что у него появилось нового. И так все по порядку.

Подготовка операционной системы. Установку офиса логично сделать с использованием Virtual PC, например, 2007 версии. Это позволит Вам не только быстро установить офис, но и сохранить реестр Windows. Вообще рекомендуется использовать Virtual PC и для тестирования других программ, чтобы не подцепить вирусы из интернета. 

Загрузка офиса. Когда приходится загружать новый офис, то перед этим необходимо установить плагин в браузер. Непонятно зачем это сделано, но судя по плагину - это программист-любитель написал систему загрузки. Бросается в глаза примитивный табличный интерфейс (не видно имена файлов) со старыми значками, а в добавок уже после загрузки при нажатии кнопки "Закрыть" система задает вопрос "Прервать загрузку?". Будем считать, что это 1 замечание не в пользу нового офиса.

Обновление Windows. Если установить программу на Windows XP Sp2, то система предупредит Вас, что нужно установить MSXML версии 6 и обновить систему Windows пакета SP3. Это неплохо, конечно, но приходится потратить некоторое время на то, чтобы найти и скачать эти программы из интернета, т.к. прямые ссылки на web архив в сообщении не указываются. Вообще файл mshml - небольшой, вполне возможно его добавить в программу установки. Это 2 замечание.

Инсталляция. Установка офиса в Windows проходит без проблем, но если вы попробуете самостоятельно выбрать разделы для установки, то возникнет некоторая заминка. Есть раздел по поддержке программирования NET, но он не выбирается. В бета версии можно было выбрать NET, но найти содержание раздела в интерфейсе Access не удалось. Таким образом, будем считать, что эта хорошая идея в новой версии офиса отсутствует. 3 замечание.

Запуск программы. Когда вы открываете файл Access, то система вас предупреждает о вирусах. Это кажется разумным способом только в начале работы с вашей программой, но потом это надоедает и раздражает пользователей. Администраторы отключают эту функцию сразу, но для рядового пользователя это сложно сделать. Думаю, что это замечание можно отнести к существенным, надо уже перестать бояться вирусов.

Программисты, разрабатывающие свое приложение могут это сделать через реестр, если они разработают программу инсталлятор. Ниже указан пример для бесплатного установщика InnoSetup, где эта функция введена для офисов 2003 (11), 2007 (12), 2010 (14)

[Registry]
Root: HKCU; Subkey: Software\Microsoft\Office\11.0\Access\security; ValueType: dword; ValueName: Level; ValueData: 1; Check: IsInstallAccess(11); Flags: createvalueifdoesntexist
Root: HKCU; Subkey: Software\Microsoft\Office\12.0\Access\security; ValueType: dword; ValueName: VBAWarnings; ValueData: 1; Check: IsInstallAccess(12); Flags: createvalueifdoesntexist
Root: HKCU; Subkey: Software\Microsoft\Office\14.0\Access\security; ValueType: dword; ValueName: VBAWarnings; ValueData: 1; Check: IsInstallAccess(14); Flags: createvalueifdoesntexist

Магия и офис. Вообще специалисты в компании Microsoft люди суеверные и боятся не только вирусов, но и всего неясного, магического. Если вы посмотрите на верхний пример, то по логике вещей внутренний номер офиса в реестре должен быть 13 (2000-9, 2002-10, 2003-11, 2007-12, ?-13, 2010-14 ...), а его нет. Думаю, что число 13 (чёртова дюжина) специально пропустили, чтобы оно не навредило новой программе.

С другой стороны, число 13 для американцев - счастливое. Страна в начале развития имела 13 штатов, да и сейчас на гербе США можно найти оливковую ветвь с 13 листьями и 13 оливками, пучок из 13 стрел, щит с 13 красными и белыми полосами. Действительно загадка, почему пропустили номер 13 - непонятно. Хотя это не такое уж серьезное замечание к новому офису, но часть времени было потеряно при разработке новой программы инсталляции, т.к. сразу не было понятно, что порядковый номер офиса может измениться сразу на 2 цифры.

Аdp проекты. Возможность работы с adp проектами в новом офисе сохраняется и это важный момент, т.к. производительность таких проектов на порядок выше, чем у локальных mdb или accdb файлов. Многие сталкиваются с проблемами в сети с Access, когда записей в таблице становиться более 200 тысяч. Администраторы пытаются изменить mdb файлы или настроить локальную сеть. Все это правильно только частично, но кардинально проблему этим не решить. По умолчанию, adp проект возвращает с SQL сервера 10 тыс. записей для любой таблицы, а не всю таблицу при работе с mdb файлами. К сожалению ограничить SQL запросами эти действия нельзя. Компьютер пользователя должен скачать все записи сразу, и только потом их анализировать ядром Jet. Выход из такой ситуации только один - пока не поздно надо переходить на adp проект или искать решение в виде привязки таблиц к SQL серверу из mdb проекта.

Тестирование аdp проектов. От версии к версии в офисе библиотека VBA практически не меняется, но проблемы все равно возникают на уровне ссылок в формате закрытых файлов ade и mde. Например, возьмем проект Access 2003 и разделим его на части: основную и вспомогательную. Назовем их Моя_программа.adp и Библиотека.adp. Установим ссылку через VBA - References из файла Моя_программа.adp на Библиотека.adp. Все может работать, т.к. adp открыты для изменений и при компиляции эти файлы могут быть изменен��.

С другой стороны, если вы создадите из adp - ade файлы в другом 2003 офисе и попытаетесь их запустить в новом, то с первой попытки это не получится. Это говорит о том, что внесены какие-то изменения в программу создания файлов ade или Windows блокирует ссылки.

Проблема работы с ссылками VBA уже "болтается" уже не один год (с момента прихода Vista) и никто ей не занимается. От этих ссылок зависит подключение ActiveX элементов, Excel и других приложений. Пока как обойти эту проблему неясно, т.к. совместимость офисов 2000,2002,2003 с приходом 2007 и 2010 изменилась. Все это говорит о том, что офис 2007-2010 хотя и получил новый внешний вид, но улучшения языка программирования VBA не произошло.

Это существенное замечание, т.к. хорошую программу в офисе создать без языка программирования невозможно.  Но не будем обвинять тех, кто придумал язык VBA, их можно назвать гениальными и "снять перед ними шляпу", если взглянуть на это по другому. В этом году исполняется 10 лет (юбилей), когда этот язык появился впервые  в 2000 офисе. Можно сказать, что их идеи продолжают "кормить" не только специалистов в США, но и в других странах тоже.

• Microsoft Access 15. Работа с 14 офисом закончена. Уже скоро начнутся активные продажи его во всем мире и "начнется война" за наши компьютеры. Команда разработчиков не разбежалась, и готова "принять на себя" весь шквал проблем от Офиса. Центр обновления возьмет на себя первые атаки клиентов, а потом уже и подойдет тяжелая артиллерия в виде новых сервис паков. После этого можно сказать, что битва будет выиграна, и Офис займет почетное место на наших компьютерах. Это, конечно, шутка, но попробуем проанализировать, чтобы мы хотели увидеть в следующей 15 версии Access:

  • Добавить единое меню сразу ко всем функциям интерфейса
  • Создать полную совместимость форматов mde, ade, accde, включая разные офисы и Windows
  • Сделать диагностику ошибок Access и SQL Server более детальной
  • Добавить TreeView к таблицам, формам, отчетам и модулям
  • Добавить экспорт из mdb, accdb объектов и VBA программ в отдельные файлы, совместимых с форматом VB.NET Visual Studio
  • Улучшить работу с ссылками и внешними объектами из VBA, включая UserControls из NET
  • Объединить возможности редакторов Access, SQL Management Studio и Query Analyzer
  • Графики Access и Excel должны иметь одинаковые свойства и настройки
  • Улучшить intelisense в VBA

Фантастические предложения

  • Добавить конвертор mdb, adb, accdb в Exe формат.
  • Разрешить программистам писать программы на NET и LinkQ в самом Access
  • Dlookup, IIF, Nz, InStr, Mid, Format и VBA функции добавить к запросам T-SQL
  • Разрешить покупать Word, Excel, Access, Outlook отдельно и по доступным ценам.

• Общие выводы. В целом мы имеем небольшие улучшения в самом офисе (10-15%). Практически все силы брошены на создание новой оболочки интерфейса. Это видно из версий 2007 и 2010. На самом деле новых изменений в ядре системы нет (VBA). Все остается на уровне 2000 года. Возможно это и правильно, т.к. к офису подключаются много новых пользователей, которые вообще не умеют работать с базой данных. Тратить деньги на улучшения для профессионалов, у которых уже есть Visual Studio на этом этапе будет неразумно, да и они быстрее адаптируются к новым проблемам.

 

Новинки баз данных
Информация для начинающих
Для тех, кто осваивает разработку баз данных на  Microsoft Access, нужны примеры решений с использованием этой базы данных. Это небольшие микро-решения. Ранее эти примеры можно было скачать в виде разных файлов. Теперь все они записаны в один большой файл zip файл. Весь архив удачно разбит на 17 разделов:
  • Автоматизация, Графика, Защита, Интерфейс, Конверторы, Массивы, Меню, Отчеты, Ошибки, Поиск, Справка, Статьи, Таблицы, Файлы, Формы, Модули, Разное.
  • Архив файлов на Microsoft Access

 

Лицензия на источник информации
    Все права на статью принадлежат Leadersoft.ru. Статья предназначена только для публикации среди подписчиков subscribe.ru. Никто без письменного разрешения leadersoft.ru не может продавать, перепечатывать, сдавать в аренду или другим образом извлекать выгоду, используя информацию из этой и других статьях данной рассылки.

Выпуск 99. Что нужно знать заказчику о проектировании

Новинки баз данных
Информация для начинающих

Для тех, кто осваивает разработку баз данных на  Microsoft Access, нужны примеры решений с использованием этой базы данных. Это небольшие микро-решения. Ранее эти примеры можно было скачать в виде разных файлов. Теперь все они записаны в один большой файл zip файл. Весь архив удачно разбит на 17 разделов:

  • Автоматизация, Графика, Защита, Интерфейс, Конверторы, Массивы, Меню, Отчеты, Ошибки, Поиск, Справка, Статьи, Таблицы, Файлы, Формы, Модули, Разное.
  • Архив файлов на Microsoft Access

 

Медицинские представители 2010
Программа для продвижения лекарственных средств регионах
Если вы занимаетесь разработкой программ
Медицинский представитель занимается продвижением лекарственных препаратов компаний-производителей в больницах, поликлиниках, медицинских центрах и аптеках. Чтобы стать профессионалом своего дела, медпредставителю необходимо овладеть секретами успешных продаж. Данная программа не только поможет представителям правильно собирать информацию, но и отлично проанализирует их деятельность в разных регионах России для центрального офиса
.

Для запуска программы вам потребуется Access + SQL Server Express. Подробные инструкции даны в zip архиве.

Глоссарий. Таким образом, чтобы окончательно закрыть нашу схему управления холдингом нужно дополнить ее разделом о назначении слов: должность, директор, подразделение и т.п.

 

ВЫВОДЫ
Цены и сроки
 

Необходимо сразу уяснить, что НЕ каждая база данных может быть выполнена в определенный срок, с высоким качеством и за определенную сумму. Подобно тому, как человек способен проехать определенное расстояние, затратив на это необходимое количество времени и топлива. Вы вряд ли поверите, если вас пообещают доставить из Москвы во Владивосток на машине за пару часов, израсходовав при этом 10 литров бензина? Не стоит верить и тому, если вам скажут, что капитальный ремонт вашей трехкомнатной квартиры займет три недели и обойдется вам в $5000, с учетом всех материалов. Как бы вам не х��телось в это поверить, это попросту невозможно.

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

Одна из наиболее распространенных ошибок заказчика баз данных - заключение сделки на заведомо невыполнимых условиях. В конечном итоге это приводит к перерасходу средств и срыву сроков, порой весьма значительному.

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

Варианты оценки стоимости ремонта "по часам" мы всерьез рассматривать не будем и задерживаться на обсуждении данной формы представления "проектно-сметной документации" не станем. Грамотный специалист не приступит к составлению сметы, не произведя точных обмеров будущего объекта, не изучив проект и не выслушав ваших пожеланий. Если цена называется вам по телефону, после десятиминутного разговора — это должно насторожить вас. Компетентный специалист не станет говорить о цене, не осмотрев фронта работ и не потратив нескольких дней на разработку и тщательную выверку сметной документации.

Вторым важным моментом является форма представления вам сметной документации. Настоящая калькуляция базы данных должна включать в себя перечень всех выполняемых задач (желательно — отдельно для каждого этапа разработки) и аналогичный перечень материалов, требующихся для выполнения данных работ. Каждая позиция оценивается отдельно, с указанием объема выполнения этой операции и конкретной ее стоимости. Это не только позволит точно оценить, все ли необходимое вошло в смету, но и поможет в решении любых спорных вопросов. Сразу видно: что и в каких объемах сделано, что предстоит сделать и сколько это стоит. Если в качестве сметы вам пишут по email это будет стоить 500$ Лучше не ориентироваться на итоговую сумму как на что-то достаточно достоверное. Представленную вам смету следует изучить предельно внимательно.

Вообще следует учитывать, что для потенциального подрядчика выгодно изначально занизить стоимость разработки программы или сайта, чтобы добиться преимущества перед конкурентами и склонить вас к заключению сделки. Каждый сайт или база данных стоит своих денег, и если вам предлагают сделать его подозрительно дешево, то скорее всего вас просто обманывают, рассчитывая "выжать" из вас дополнительные средства уже в ходе работ. Или вы не получите ожидаемого уровня качества, потому что каждый специалист тоже стоит своих денег и не станет выполнять работу по цене ниже ее реальной стоимости. А вероятнее всего — и то, и другое. Поэтому не пожалейте времени, чтобы убедиться в том, что в калькуляцию работ действительно вошли все необходимые работы и материалы.

Если фиксированную сметную стоимость выполнения каждой операции оспорить практически невозможно и подрядчик обязан выполнить ее за указанную сумму, то заставить бесплатно сделать "забытые" в техническом задании работы вы никого не сможете. В результате, в процессе ремонта начальная цена может "непредвиденно" вырасти в несколько раз. Даже если вы откажетесь от работы с недобросовестным подрядчиком и наймете для завершения работ другого — вы все равно потеряете время и деньги. Строители весьма неохотно берутся за доделывание чужой работы и запрашивают за это дороже, чем за ремонт "с нуля".

Возвращаясь к утверждению, можно сказать, что какой бы тщательной не была подготовка технического задания, всегда нужно быть готовым к некоторому увеличению стоимости разработки базы данных и сроков ее выполнения. В научных работах иногда возникают различные, вполне объективные непредвиденные обстоятельства и трудности, устранение которых требует и времени, и денег. Особенно это относится к переделке программ, построенных по устаревшим технологиям и начинающими специалистами. Здесь часто можно столкнуться со скрытыми ошибками в коде или логике программы, определить наличие которых возможно только в процессе работ.

 

Лицензия на источник информации
    Все права на статью принадлежат Leadersoft.ru. Статья предназначена только для публикации среди подписчиков subscribe.ru. Никто без письменного разрешения leadersoft.ru не может продавать, перепечатывать, сдавать в аренду или другим образом извлекать выгоду, используя информацию из этой и других статьях данной рассылки.

Выпуск 98. Архив файлов и бизнес логика

Архив mdb файлов
Информация для начинающих
Для тех, кто осваивает разработку баз данных на  Microsoft Access, нужны примеры решений с использованием этой базы данных. Это небольшие микро-решения. Ранее эти примеры можно было скачать в виде разных файлов. Теперь все они записаны в один большой файл zip файл. Весь архив удачно разбит на 17 разделов:
  • Автоматизация, Графика, Защита, Интерфейс, Конверторы, Массивы, Меню, Отчеты, Ошибки, Поиск, Справка, Статьи, Таблицы, Файлы, Формы, Модули, Разное.
  • Архив файлов на Microsoft Access

 

Управление холдингом 2010
Построение бизнес логики
Эта информация будет интересна в первую очередь тем, кто занимается автоматизацией предприятий. Во первых, Microsoft Access удачно подходит для автоматизации складов, заказов и других видов материального и нематериального учета отдельных предприятий. С другой стороны, решений по автоматизации управления сразу нескольких предприятий - немного. Задачи такого плана сами по себе интересные и содержат много нюансов. Одно из таких решений - это программа Управление холдингом 2010. Холдинг - это управляющая компания группы предприятий.  Для запуска программы вам потребуется Access + SQL Server Express. Подробные инструкции даны в zip архиве.

С чего начать?

Начиная разработку сложной базы данных желательно еще ДО РАЗРАБОТКИ технического задания разобраться с бизнес логикой будущей программы. Это гарантирует в дальнейшем сокращение сроков разработки, иначе придется постоянно дорабатывать программу и можно не уложиться в бюджет проекта. Логику программы можно нарисовать в виде блок схемы на бумаге, а можно просто написать в виде тезисов. Возьмем второй вариант разработки.

1. Назначение программы

И так, что же должна делать программа. Она должна отслеживать работу холдинга в современных условиях. Ее пользователь должен ставить цели и функции различным подразделениям и компаниям, осуществлять за ними контроль, используя различные показатели, а также хранить нормативную документацию и обмениваться данными через интернет. Все это должно позволить ему принять правильные решения для достижения успеха в тех сферах бизнеса, где работает холдинг.

2. Разделы программы

Для решения поставленной задачи мы должны всю программу разбить на части и каждому разделу присвоить некоторые свойства. Формой учета свойств разделов программы будут вкладки. Вот основные разделы.

Учет компаний. Этот раздел программы нужен для учета компаний находящихся на обслуживании холдинга. Учитываются следующие параметры: название, контактная информация, подчинение вышестоящей организации, подразделения компании. Вот примеры: Инжиниринговый центр, Строительный филиал, Спецкабельстрой

Учет подразделений. В этом разделе мы будем вести учет подразделений, входящих в конкретную  компанию. На вкладках формы конкретного подразделения определим Должности, Функции и Цели, которые соответствуют подразделению. Примеры:

  1. Департамент инвестиций
  2. Отдел моделирования
  3. Отдел по связям с общественностью
  4. Департамент внешних коммуникаций
  5. Аппарат управления
  6. Департамент организационного моделирования и развития
  7. Департамент управления закупками

Учет должностей. Для того, чтобы не было путаницы в должностях различных предприятий в программе нужен учет должностей сразу для ВСЕХ организаций холдинга. У каждой должности определим на вкладках Функции, Цели и Свойства. Примеры должностей:

  1. Генеральный директор
  2. Маркетолог по закупкам
  3. Менеждер по моделированию
  4. Консультант
  5. Начальник отдела
  6. Бухгалтер
  7. Аналитик

Учет сотрудников. Всех сотрудников холдинга НЕ БУДЕМ учитывать, т.к. это усложнит саму задачу управления базой данных. Возьмем на учет только тех работников, кто принимает важные решения и ведет информацию по базе данных

Учет функций.  Этот раздел программы нужен для учета функций, закрепленных за подразделением или за должностью. Например, Учет документов, Бухгалтерский учет

Учет целей. У каждого подразделения или должности есть цели, которые они выполняют в составе предприятия. Поэтому нужен раздел учета этих целей. Вот примеры:

  1. Соответствие процесса прохождения налоговых проверок
  2. Повысить информированность УК о предстоящих проверках
  3. Закупки ТМЦ, оборудования, услуг и работ

Учет показателей. На этом этапе разработки программы нужно создать раздел учета показателей. Без показателей невозможно двигаться дальше. Их нужно измерять по времени, например, ежедневно, ежемесячно, ежегодно и т.п. и присваивать им единицы измерения: проценты, килограммы, метры и т.п. Вот их примеры:

  1. Снижение негативных налоговых проверок
  2. Выбор из нескольких Поставщиков по каждому виду МТРиО
  3. Рост цен на строительные материалы
  4. Повышение информированности о налоговых проверках

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

  1. Процесс: Управление налогами.
  2. Вышестоящий процесс: Управление активами
  3. Описание: Повысить информированность УК о предстоящих, проводимых и завершенных налоговых проверках
  4. Цель: Соответствие процесса прохождения налоговых проверок
  5. Владелец. Маркова Ольга Владимировна, зам. главного бухгалтера

На самом деле это только описание процесса. В него могут входить и таблицы. Их лучше задавать в виде вкладок формы с таблицами. Вот примеры таблиц, связанных с процессом.

  1. Компании,
  2. Показатели,
  3. Участники,
  4. Источники информации
  5. Контроли.
Учет контролей. Это важный раздел программы, который позволяет вам описать действия предприятия и его риски в результате выполняемого процесса. Вот пример
  1. Контроль. Действие предприятия в ходе налоговой проверки
  2. Процесс. Управление налогами
  3. Процедура регламента. 3.2.1
  4. Доказательство выполнения: нет
  5. Риски: Производится проверка периода, который уже однажды подвергался проверке. Это затягивает проверку и создает сложности предприятию
  6. Действия.
    В день прихода в организацию налогового инспектора сотрудник, ответственный за взаимодействие с должностными лицами налогового органа, проверяет решение о проведении выездной проверки:
    • наличие подписи руководителя (или его заместителя) налоговой инспекции;
    • наличии печати на решении о проведении выездной проверки;
    • осуществляет сверку периодов проверки, указанных в решении с периодами, выездная проверка правильности исчисления и уплаты налога по которым осуществлялась ИФНС ранее (для избегания повторной проверки тех же периодов);
    • сравнивает список должностных лиц налоговой инспекции, которые указаны в решении налоговой инспекции со служебными удостоверениями прибывших на проверку инспекторов

Справочники нормативной документации. В процессе управления холдингом, у него будут накапливаться различные документы. Желетельно разработать раздел, который будет вести их учет. Вот их примеры

  1. Взаимодействие служб ИТ
  2. Политика обеспечения информационной безопасности в области ИТ
  3. Политика в области PR
  4. Положение о внутреннем трудовом распорядке в УК
  5. Положение о социальной политике в УК
  6. Типовое положение о социальной политике
  7. Положение о премировании в УК
  8. Типовое положение о премировании
  9. Положение о заработной плате в УК
  10. Типовое положение о заработной плате

Глоссарий. Таким образом, чтобы окончательно закрыть нашу схему управления холдингом нужно дополнить ее разделом о назначении слов: должность, директор, подразделение и т.п.

 

ВЫВОДЫ
Таким образом, на базе данной логики можно уже строить описание технического задания и даже провести некоторую оценку бюджета и сроков разработки проекта. 

 

Лицензия на источник информации
    Все права на статью принадлежат Leadersoft.ru. Статья предназначена только для публикации среди подписчиков subscribe.ru. Никто без письменного разрешения leadersoft.ru не может продавать, перепечатывать, сдавать в аренду или другим образом извлекать выгоду, используя информацию из этой и других статьях данной рассылки.

Выпуск 97. Методы репликации баз данных

Поздравление

  Поздравляю всех с наступающим Новым Годом. Пусть у Вас сбудутся все мечты и желания, и чтобы как можно меньше времени вы тратили на поиск нужных решений. К сожалению, они скрыты под надежным и толстым слоем информации от Microsoft. Но надо стараться, и вы найдете то, что вам нужно.


Введение. Что такое репликация баз данных?
Возьмем набор человеческих реплик: синхронизация, слияние, база данных, объекты и т.п. Если из них сложить обдуманную фразу, то получим такое выражение. Репликация – это синхронизация объектов баз данных. Теперь мы уже понимаем о чем идет речь. Таким образом, задачи репликации – это объедение разрозненной информации в некоторое решение для дальнейшего анализа.

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

 

Репликация Microsoft Access
 Если Вы создаете решение в новой версии файлов офиса 2007, то репликации там нет. Это идеи новых дизайнеров офиса. Они создали меню на пол экрана, и отправили в корзину репликацию базы. К сожалению ей не хватило места в меню. Правда, чтобы никто не возмущался, все же оставили некоторую совместимость со старым офисом. И так, для этого в новой версии офиса надо использовать файлы, совместимые с предыдущими версиями офиса.   

Она решается так. Создается главная реплика из файла mdb путем преобразования нужных таблиц. В них добавляются 4 дополнительных поля, отвечающих за синхронизацию.  Далее из нее вы создаете дополнительные реплики, и рассылаете их разным пользователям. С этими файлами они работают. В нужный момент они присылают их вам по email, и все это опять синхронизируется в один файл. Такой процесс может повторяться несколько раз.

Вывод. Репликация в Access 2000 - 2007 - возможна, но возникают трудности с доставкой информации. Она организуется по email или через ftp сервер. Это не дает возможности работать в реальном времени, а также с анонимными пользователями из-за проблем с защитой информации.

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

 

Репликация Microsoft SQL Server
http://msdn.microsoft.com/ru-ru/library/ms151198.aspx
В этой программе процесс репликации более сложный и называется он - публикация, а объекты синхронизации - статьями. Преимущество его в том, что можно задать расписание синхронизации и данные будут синхронизироваться в реальном времени. Для этого, используется программа - агент сервера, которая и позволяет обрабатывать файлы через определенные интервалы времени.

При создании репликации будут созданы дополнительная база данных, отвечающая за распространение, системные таблицы в вашей базе и если необходимо в каждую таблицу будет добавлено уникальное поле guid

Вывод. В пределах серверов локальной сети, организовать репликацию не сложно, можно использовать мастер из Microsoft SQL Server Management Studio.  Достаточно указать реальное имя сервера: Computer\ServerName.  Но есть и проблемы. В мастере вы не сможете указать IP адрес или aliac сервера, хотя подключиться к серверам можно. Почему нельзя выполнить удаленную синхронизацию разных серверов - непонятно. Microsoft советует создавать VPN, видно это проблема с защитой данных.

Проверка. FTP репликация реально и работает и тестировалась на программах Microsoft Web Server + Microsoft FTP Server 7.5 + SQL Server 2005 + SP. Все это неплохо работает, только нужно все аккуратно настроить, т.к. мастера не всегда помогают с подсказками при установке этих программ. Инструкции есть, но нет реальных примеров.

 

Программные средства репликации
http://msdn.microsoft.com/ru-ru/library/bb902854.aspx
В любом случае, для управления репликацией, вам потребуются программные средства для разработки. В Microsoft Access это можно сделать на VBA, пример можно посмотреть в программе Международный туризм. Для синхронизации в SQL Server надо использовать Microsoft Visual Studio, а также генератор скриптов из менеджера баз данных. Используя пространство имен Framework NET для различных методов репликации, можно разработать собственный интерфейс.

Что неясно. Можно ли создать репликацию между серверами, которые не имеют связи через VPN.

Есть еще и альтернативная среда синхронизации Sync Framework 2.0 от Microsoft. Эта библиотека гарантирует синхронизацию данных между разными серверами и даже файлами. Недостаток ее – это нужно при установке своей программы установить и эти файлы. Они не входят Framework NET. 

 

Собственные решения
Никто не мешает нам немного подумать и придумать собственный процесс репликации отличный от Microsoft. Например, так.  Если каждый офис отвечает за свои данные, то ему можно присвоить свой индификационный номер. Объекты синхронизации записываются в таблицу LA_AdmExpImpTables. Далее все просто. Нажав на кнопку Экспорт - Импорт (главная форма), данные выгружаются в файл mdb формата "Office dd.mm.yyyy email@mysite.ru.mdb". Пример "25 04.11.2009 email@mysite.ru.mdb". Все это автоматически архивируется и отправляется по почте минуя канал Outlook. Таким образом, программа электронной почты не нужна.

Когда данные по почте пришли в офис, запускается программа Outlook. Используя название файла, можно раcсчитать индекс каждой записи и точно понять откуда пришли данные. Чтобы индексы не мешали нам создавать новые записи они принимают отрицательное значение. Например, 1 офис ввел фирму со счетчиком 1, и  третий офис с индексом 1. При загрузке в базу данных мы им присваем счетчики  -1*1000000-1 и -3*1000000-1. Это гарантирует уникальные индексы для нашего офиса и для других в пределах 1 миллиона записей. Все прекрасно работает.

 

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

 

Выпуск 96. Кризис и Маркетинг

Введение

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


Сначала анализ

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

 1. Microsoft. Доходы компании за время кризиса упали на 18%. Для борьбы с ним, они пытаются идти по пути снижения расценок на некоторые продукты, предлагая различные скидки. Например, самый лучший программный продукт для разработчика - это Visual Studio 2008. Они предложили 3500 версий на русском языке со скидкой 80%. Одна коробка продавалась по цене всего 6700 рублей. Продукт достаточно достаточно серьезный. Можно разрабатывать web сайты, windows программы, приложения для офиса и т.п. Программа была запечатана в коробку, в августе, но уже требует скачать SP1 для Visual Studio 2008 и SP3 для SQL Server 2005. Все это весит около 0,5 ГБ

Ещё...

Выпуск 95. Обработка и хранение данных

Введение.

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

  • 1. Авторизация на сайтах и серверах
  • 2. Работа и исходными кодами

1. Авторизация на сайтах и серверах
   В среднем, если Вы активно работаете с интернетом не менее 5 дней в неделю и регистрируетесь на сайтах, то вам необходимо запомнить не менее 100(!) параметров доступа к сайтам и серверам. Эту информацию надо где-то хранить, при необходимости быстро вспомнить и использовать. Вот ваши действия, которые вы повторяете очень часто, но просто на это не обращали внимание:
  • выбираете нужный сайт;
  • ищете на нем поля авторизации;
  • ввспоминаете логин и пароль;
  • вводите в поля свои данные;
  • заходите в кабинет (Account);
  • заполняете формы, задаете вопросы, скачиваете, загружаете файлы и т.п.;
  • эти действия выполняете на другом сайте

   Можно угадать, что вам это не очень нравиться, и вы постоянно боретесь с этими рутинными операциями:

  • сохраняете ссылки в избранном браузера
  • записываете логины в записную книжку
  • создаете единый пароль на множество сайтов
  • заводите таблицу Excel для параметров авторизации
  • пытаетесь "пролесть в калитку" через OpenID
  • и если, ничего не помогает, то восстанавливаете пароль

  Таким образом, ваши действия носят вынужденный характер, вам приходится тратить массу времени на то, что называется авторизацией на сайте. Но если подойти к этой проблеме с математической точки зрения, то можно сформулировать задачу на разработку программы, которая будет решать эту проблему на уровне одного (!) клика. Аксиома состоит из 3 пунктов и звучит так:

  • все, что вы видите на экране, находится на вашем компьютере
  • страницы сайта имеют типовой язык разметки html
  • управляете элементами входа на сайт вы, а не удаленный сервер

  Таким образом, для решения задачи не надо обращаться к провайдеру, у вас все есть для ее решения. Для этого надо взять хорошую базу данных, типа Microsoft Access, а не Excel, почитать немного об html (надо знать, что такое теги input), выбрать ActiveX типа Internet Explorer и можно решать задачу. Вот минимум требований, которые должна решать ваша программа:

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

 

2. Работа и исходными кодами
   При работе с исходными кодами, действий приходится делать никак не меньше. Здесь тоже очень много проблем, т.к. сайтов и конференций много.  Все они забиты рекламой и нужные сведения приходится добывать, сортировать и сохранять практически по крупицам, как при добыче золота. Вот некоторые ваши действия:
  • поиск в google по ключевым словам;
  • работа с с microsoft msdn
  • работа с конференциями на русском и английских языках
  • перевод текста с английского на русский
  • конвертация кода с C# на VB.net и наоборот
  • изучение и тестирование кода
  • определение логики или алгоритма  программы
  • сохранение нужного решения на диске
  • публикация решения в интернете

 

Выводы
   Работать в современных условия без программного обеспечения, которое могло бы сохранять для вас нужную информацию достаточно сложно. Потери времени могут составлять не несколько минут, а десятки часов в месяц. Поэтому Вам предлагается изучить и  использовать новую программу Хранитель исходников. Это реальная помощь разработчикам программного обеспечения. Программа распространяется бесплатно (!), содержит 2 базы: исходники по Microsoft Access и базу данных по авторизации на сайтах (сайты протестированы, надо только ввести свои пароли и логины для авторизации). 

Выпуск 94. Разработка adp проектов на Ms Access (1 часть)

  Поздравление
Поздравляю всех с наступающим Новым Годом 2009. Желаю успехов в программировании и освоении баз данных. 

 

Часть 1. Введение.

  В этой рассылке и других (в новом 2009 году) по Microsoft Access, я попытаюсь простейшим образом начинать решать сложнейшие вопросы по проектированию клиент серверных баз данных на Microsoft Access. Чтобы не усложнять тему начнем с обычных вопросов, которые волнуют начинающих разработчиков.

Вопрос 1. Что такое adp проект в Miсrosoft Access?

Ответ. Когда проектировался формат mdb для Access, в первую очередь он проектировался как альтернатива dbf файлам, которые в это время занимали достаточно сильную позицию на рынке настольных баз данных. Придумав этот формат данных, разработчики понимали, что он не может полностью решить все сетевые задачи работы удаленных компьютеров. Возникла идея создать другой формат данных. Таким образом, получился adp формат, свободный от данных (таблиц и запросов), с одним только интерфейсом (формы, отчеты и vba-программы). Возникает вопрос, куда пропали данные, без них интерфейс не будет работать. Теперь они хранятся на отдельном компьютере-сервере. Программа, которая обрабатывается запросы от интерфейса Access называется - Microsoft SQL Server.  

Вопрос 2. Чем лучше такой вариант построения базы данных в Access?

Ответ. Во первых, теперь запросы от разных компьютеров будет обрабатывать всего 1 программа, а не несколько (в случае использования присоединенных таблиц в mdb файлах). Так как эта программа проектировалась специально для управления данными, то Вы сможете решить много разных задач. Например,
улучшить скорость работы всего приложения (автоматически без каких-то усилий)
• повысить надежность хранения данных (в mdb проектах приходится часто восстанавливать базу данных),
подключиться к базе через интернет (задача управления филиалами практически решена),
• лучше защитить данные (в
Access можно скопировать mdb файл на другой компьютер)
хранить много данных в одном файле (благодаря специальным процедурам сервера сможете получать данные из файлов размером в сотни гигабайт информации).
• сможете быстро включить полнотекстовый поиск (например, как в
google.ru или yandex.ru с мгновенной скоростью доступа)

Вопрос 3. А у меня есть Access, но нет программы Microsoft SQL Server. Я не смогу работать с adp проектами?

Ответ. Конечно, сможете. Для этого Microsoft придумала много бесплатных версий  SQL Server. Например, MSDE, Microsoft SQL Express и другие. У этих серверов есть ограничения по объему информации и числу подключений, но все свойства этой программы доступны, в том числе и полнотекстовый поиск. Подробно об установке MSDE написано здесь

Вопрос 4. Где можно посмотреть реальный проект на Microsoft Access + SQL Server?

Ответ. Вот по этой ссылке Вы сможете изучить программу Управление бизнесом 2009. Ниже перечислены свойства этой базы данных. Эти свойства могут быть изменены. В дальнейшем на базе открытых кодов будет рассказано, как решить эти задачи в новых проектах. Коротко о них:
• Подключение к серверу и создание базы
Учет компаний, частных лиц, платежей и т.п.
• Вывод на печать счетов, накладных и т.п.
• Учет договоров, заказов, доверенностей в формате Word.
• Разные формы импорта и экспорта данных

Вопрос 5. Где можно найти исходный код для adp проекта?

Ответ. После установки программы в папке programs Вы сможете исходный код для управления сотрудниками. Программа называется "01 пример - Сотрудники.adp". Это простейший пример для работы в adp проектах. Подробно о структуре этой программы будет рассказано в следующем выпуске.