Обработана информация за 2009 г. по использованию программного обеспечения на предприятиях, подчиняющихся Министерству сельского хозяйства и продовольствия:
По сравнению с 2008 г. использование Нивы (Гедымина) увеличилось, а 1С — сократилось. Стоит заметить, что опросный лист содержал графу Нива, но не содержал отдельной графы для решений на Гедымине. Например, все наши мясокомбинаты дружно отметили используемое ПО в графе Другое. Но, мы-то знаем на чем они работают :) Таким образом, реальные цифры должны выглядеть еще более оптимистично.
PS: 42 предприятия до сих пор используют Анжелику!
27 мая 2010 г.
26 мая 2010 г.
Как избежать циклических кольцевых ссылок в реляционной базе данных?
Системная таблица RDB$DEPENDENCIES хранит связи между метаданными в базе. Попытка вытянуть все зависимости для заданного объекта с помощью WITH RECURSIVE в общем случае разбивается о бесконечные циклы. Можно ли решить задачу одним запросом исходя из существующей структуры RDB$DEPENDENCIES? Ничего лучше, чем контролировать уровень вложенности и прерывать поиск при достижении заданной глубины, пока не приходит в голову:
Глубину прекращения поиска мы задаем вручную (в примере -- это константа 5). Если задать слишком много, то запрос будет выполняться слишком долго. Задать мало -- и мы рискуем потерять объекты при большой глубине вложенности связей.
WITH RECURSIVE dep_tree AS ( SELECT 0 as lvl, rdb$dependent_name, rdb$dependent_type, rdb$depended_on_name FROM rdb$dependencies WHERE rdb$depended_on_name = :depname UNION ALL SELECT (t.lvl + 1) as lvl, d.rdb$dependent_name, d.rdb$dependent_type, d.rdb$depended_on_name FROM rdb$dependencies d JOIN dep_tree t ON t.rdb$dependent_name = d.rdb$depended_on_name AND t.lvl < 5 ) SELECT DISTINCT rdb$dependent_name, rdb$dependent_type, rdb$depended_on_name FROM dep_tree
Глубину прекращения поиска мы задаем вручную (в примере -- это константа 5). Если задать слишком много, то запрос будет выполняться слишком долго. Задать мало -- и мы рискуем потерять объекты при большой глубине вложенности связей.
25 мая 2010 г.
Тестирование объектов для работы с метаданными
Как выяснилось, Гедымин прекрасно переносит переподключение к БД прямо из кода программы:
IBLogin.LogOff; IBLogin.Login(False, True); // параметры метода Login управляют считыванием // информации о базе данных из реестра // и отображением окна ввода пароляЧто позволяет легко создать тесты для TgdcMetaData объектов. Начало уже положено. Тестируем создание и корректное удаление интервального дерева.
Labels:
тестирование
22 мая 2010 г.
Код в SubVersion
В ветке Stable все последние изменения и СТАРЫЕ отчеты, с копированием данных через поток. В Trunk все последние изменения и НОВЫЕ отчеты.
Labels:
SubVersion
2 мая 2010 г.
Ниве 2.0 быть
Вроде бы согласован вопрос о финансировании НИВЫ 2.0. Если все будет Ок, то через годик выйдет в свет единый комплекс объединяющий в себе бухгалтерский и производственный учет, бизнес планирование, специфические задачи вроде расчетов рационов кормления скота. Конкурирующих продуктов такого рода просто нет.
Labels:
нива
Восьмая группа
Та, что планировалась в январе, но состоялась только в апреле из-за потопа в учебном центре.
Labels:
курсы
Подписаться на:
Сообщения (Atom)