Информация о файле обновления Галактика MT_DRV_DLL_54410.txt


Описание файла обновления:
ФайлMT_DRV_DLL_54410.txt
ОбновлениеMT_DRV_DLL_54410
НазначениеОбщее
ПродуктAtlantis 5.4
Релиз:
КомпонентMT_DRV
ТипDLL
Версия5.4.41.0
Дата2012-11-26 12:52:21
Проблема ПИРПервое решениеОписаниеПроектДетализация
Что изменено:Как изменено:
101.50814NEWОшибка модификации данных при расчете ЗПИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При определённой последовательности действий с таблицей в памяти вида вставка-обновление-удаление всех-вставка-обновление можно получить ошибку 5 (дублирующееся значение уникального ключа) в том случае, когда для неё нет соответствующих предпосылок.Исправлено.
102.1172575.4.40.0В 3Х невозможно загрузить данные МТИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- В 3х уровневой версии программы не подгружается содержимое таблиц в памяти с диска.Исправлено.
102.1037955.4.39.0Runtime после выполнения ПиР 102.103794Инструментарий прикладного программистаТаблицы в памяти
Vip исполнение ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Падение приложения при повторной загрузке кешированного интерфейса а транзакции.Исправлено. Добавлена функция (метод логической таблицы) procedure ExcludeTableFromTransaction (нолер узла, boolean); исключить/добавить обратно узел из транзакции работает только с таблицами в памяти
102.1058095.4.37.0Сломана сортировка в интерфейсахИнструментарий прикладного программистаФункции в Атлантисе
Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Не работает создание индекса по порядку совместно с не индексным фильтром.Исправлено.
102.1075055.4.37.0Некрасивая визуализация в окне группировка отчетаУправление недвижимостьюИспользование комнат
Драйвер таблиц в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Ошибка позиционирования в GetNext после изменения индексного поля.Исправлено.
101.442035.4.36.0Ошибка при кэшировании таблицыИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти Кеширование обычных таблиц в память ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Если включить автоматическое кеширование некоторых таблиц и настроить очистку кеша через небесконечное время, то через это время могут проявляться рантаймы, а также ошибочные результаты поиска (запись в таблице есть, а кеш возвращает "не найдено")Исправлено.
102.1044595.4.36.0Runtime error 216 in MT_DRV.DLL at 00008A3BИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- В последних релизах Atlantis при открытии словарной таблицы как ТП поле суррогатного ключа не добавляется в ТП автоматически, если не было добавлено явно. При вставке записи в эту ТП рантайм при попытке вести суррогатный ключ.Исправлено.
180.54755.4.36.0Internal error 1 в mt_drv.dllИнструментарий прикладного программистаФункции в Атлантисе
Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Падение, если размер одной записи в ТП превышает 32КбИсправлено.
101.444025.4.35.0Оптимзиация работы в большой ЛТ (часть 2)Инструментарий прикладного программистаVip - исполнение, интерпретация
Логические таблицы Таблицы в памяти MSSQL Oracle ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- 1) Минимизировать время, которое тратится на сохранение позиции перед попыткой навигации (во всех драйверах) 2) Не пересчитывать входные данные для MarkRequired (список мягкоподцепленных таблиц, которые действительно нужны в данном броузе) 3) Закешировать результаты внутренних методов ЛТ, вызываемых неоднократно при обходе ЛТДоработано # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Если использовать старые драйвера MSSQL/Oracle с новым экзешником или наоборот, то ошибок не будет, но будет потеря быстродействия, будьте внимательны!
101.453815.4.35.0Не срабатывает кэширование функцийИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Предлагается переделать навигацию по таблицам в памяти, чтобы после изменений в связи с реализацией работы "Оптимизация вставки данных в таблицы в памяти", текущая позиция в таблице не изменялась до завершения навигации, иначе не проходит проверка индексных фильтров, если в них участвуют поля из этой же таблицы. Как следствие, не срабатывает кэширование функций.Доработано.
101.444045.4.34.0Оптимизация вставки данных в таблицы в памятиИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Требуется оптимизировать процесс вставки большого количества данных в таблицы в памяти.Доработано.
102.1012785.4.34.0Типовые отчеты. Не верные данные в справках по ШРИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Подбирается не тот индекс для getFirst where.Исправлено.
101.445045.4.33.0Динамическое создание индексов в ТП при необходимостиИнструментарий прикладного программистаТаблицы в памяти
Вип исполнение ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Автоматически создавать индексы по не индексным фильтрам для таблиц в памяти.Индексы будут создаваться, если количество не индексных фильтров в ограничении больше трети. Для управления этим процессом добавлена функция (метод логической таблицы) function MTEnableAutoCreateIndex (iTable : integer;aEnable : boolean) : boolean; iTable - номер узла aEnable - разрешить/запретить возвращает предыдущее состояние.
102.976365.4.33.0перед групповым insert (insert select) для таблиц в памяти надо отключ..индексыИнструментарий прикладного программистаVip - исполнение, интерпретация
Данные формата FLD.Сделано.
102.977255.4.33.0mtDropIndex для всех индексов сразуИнструментарий прикладного программистаТаблицы в памяти
Вип исполнение ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Дать возможность удалить все индексы для таблицы в памяти сразу.В MTDropIndex передать -1 в качестве номера индекса.
101.443135.4.32.0Ошибка, а не исключениеИнструментарий прикладного программистаТаблицы в памяти
Таблицы в памяти ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Оптимизировать работу таблиц в памятиДоработано
101.438225.4.31.0Runtime при использовании функции AbortTransactionПроблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
Драйвер таблиц в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- При попытке отката транзакции, в рамках которой выполнялись операции с таблицей в памяти, в частности вставка записей и полная очистка, приложение падает c Runtime error 216 в atlantis.rtl.Исправлено.
102.976005.4.31.0Ускорить операцию удаление для таблиц в памятиИнструментарий прикладного программистаVip - исполнение, интерпретация
Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Групповое удаление менее 2/3 записей из таблицы в памяти в среднем происходит существенно медленнее, чем удаление бОльшего количества записей.Исправлено. Задержки при групповом удалении записей связаны с поддержкой индексов таблицы в памяти. Теперь индексы отключаются при попытке удаления не менее 5% записей.
180.45835.4.28.0Поиск по номеру в интерфейсе GETTEKSALDOPARTY2Проблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
Быстрый поиск Таблицы в памяти ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- В некоторых случах некорректно работает быстрый поиск: курсор переходит на запись, не содержащую вводимых символов.Исправлено.
102.864965.4.20.0Непонятно почему проиходит вызов хп в mssql при определнных условияхПроблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
Разработка Интерфейсы Работа с БД ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- В некоторых случаях проходят лишние запросы к БД.Обнаруженные ненужные запросы к БД убраны, за исключением запроса к БД при загрузке видимой части интерфейса в обработчике cmInit. Для оптимизации работы с БД желательно накладывать ограничения на корень сабселекта (если они не наложены в лог таблице по умолчанию) как можно раньше. Лучше всего в конструкторе интерфейса, ну или в начале обработчика cmInit, до любых действий с видимыми элементами (установка свойств, использования API конфигуратора и т.п.).
101.414955.4.17.0Неточный код воврата Update current при дублировании уникального ключаИнструментарий прикладного программистаVip - исполнение, интерпретация
Неточный код воврата Update current при дублировании уникального ключа в таблицах в памяти.исправлено
101.389945.4.14.0Доработка проектного решения по ручному выставлению atl_branchПроблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
Доработка проектного решения по ручному выставлению atl_branchПоддержан setbranch при работе с таблицами, открытыми в памяти. Работает в режиме WriteThru (сразу в бд пишется указанное значение) или при MTGetNextNRec(<table>, true) (указанное значение пишется в ТП, а в БД попадает на этапе Flush, ручном или автоматическом). - объектный драйвер При установке setbranch объектной таблице выставляет этот флажок всем узлам главной логической таблицы на период выполнения оператора модификации - insert from select работает Дополнительные ограничения: Если флажок setbranch выставлен, а поле atl_branch не изменяется компилятор выдает предупреждение и флажок setbranch снимается.
102.746345.4.14.0Для выпуска Атлантиса 5314Предложение по новой функциональности Галактики ERP (по системе в целом)?
Для совместимости с Атлантисом 5.3.14 необходима персборка на этом атлантисе 6 dll: - G_FA 8.10.1.0 - G_Fin 8.10.3.0 - G_Nalog 8.10.2.0 - G_OPer 8.10.3.0 - G_Txo 8.10.8.0 - Galnet 8.10.53.0Указанные DLL пересобраны на 5.3.14.
102.760145.4.14.0Требуется возможность программно менять поле Atl_branchИнструментарий прикладного программистаФункции в Атлантисе
Требуется возможность программно менять поле Atl_branchДоработаны операторы insert & update. Для указания atl_branch следует использовать следующий синтаксис: ( "insert" | "update" ) "setbranch" ["("<boolean_expr>")"] ... setbranch - ключевое слово, разрешающее прикладное определение atl_branch <boolean_expr> - опциональный параметр setbranch, включающий этот режим при истинности выражения. Может использоваться для написания общего кода, когда заранее неизвестно, надо вручную выставлять atl_branch или нет. ... - обычное продолжение оператора (т.е. например current katorg и т.д.) Помимо указания ключевого слова setbranch необходимо так же обычным способом задать значение atl_branch. Например: t.atl_branch := xxxh; update setbranch current t; Если значение atl_branch не задано (фактически, если поле не изменено), то несмотря на setbranch значение atl_branch будет стандартным. Исключение: конструкция insert setbranch <table> set ..., где в ... отсутствует atl_branch. В этом случае значение atl_branch будет равно 0. Эту особенность впоследствии планируется изменить на стандартное поведение. В настоящее время существуют ограничения: - не работает с объектными таблицами - не работает с узлами, открытыми в памяти - не работает в insert from select Вышеперечисленное планируется реализовать в следующих обновлениях.
102.768935.4.14.0Непонятное сообщение: BlockModifier.Run+GroupDelete. Не определен текущий филиалПроблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
Запрет на редактирование филиальных таблиц в многофилиальном режиме приводит при работе (сопровождающейся ненамеренной модификацией) к непонятным сообщениям и, возможно, рассинхронизации БД (в нефилиальных таблицах модификации проходят, а связанные модификации в филиальных - нет)Этот запрет снят. Изменение и удаление записей происходит обычным образом. При вставке запрашивается филиал, к которому будет приписываться вставляемые данные. Для успешности операции настройки прав выбранных филиалов должны разрешать соответствующие операции редактирования по соответствующим таблицам. В противном случае будет выдано стандартное сообщение о нехватке прав. В случае вставки записи система будет продолжать запрашивать филиал до тех пор, пока не будет выбран филиал, на который есть права. Таким образом обеспечивается эргономичная работа с отчётностью в мультифилальном режиме, предотвращается случайная порча данных, и тем не менее затрудняется несанкционированная разработчиком работа по вводу данных в этом режиме. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: !!!!!!!! ОТНОСИТСЯ КО ВСЕМУ ПАКЕТУ ОБНОВЛЕНИЙ !!!!!!! При выборочной установке проблем на SQL платформах, если данная проблема не отмечена, следует проверить, не устанавливается ли драйвер БД. Если устанавливается, то надо проследить, что устанавливается и support.exe для Support atlexec.exe для 2хуровневой Галактики atlcore_.dll для 3хуровневой Галактики
102.831015.4.14.0Атлантис 5.4.14Проблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано