В версии 4.7 в базе данных (БД) идентификаторы всех сущностей преобразованы к типу bigint. По умолчанию при обновлении системы во всех таблицах БД тип меняется на bigint для сущностей прикладного уровня и уровня платформы, а также для их свойств-ссылок.
Тип не меняется только в SQL-запросах модулей и сущностей, которые создают временные таблицы, запрашивают данные из БД или создают хранимые процедуры. Такие запросы необходимо доработать вручную:
1.Откройте прикладной SQL-запрос:
2.Проверьте, использовался ли тип int в запросе для хранения или передачи идентификаторов сущностей: в SQL-переменных, аргументах хранимых процедур, колонках временных таблиц.
Чтобы быстро найти все места кода с идентификаторами сущностей, откройте текстовый редактор с поддержкой разных видов кодировок. Если вы работаете с Notepad++, то запустите поиск по исходным файлам решения с помощью горячих клавиш Ctrl+Shift+F и в открывшемся окне заполните поля:
•Найти. Укажите значение «int»;
•Фильтры. Укажите значение «*Queries.xml»;
•Папка. Укажите папку с исходными кодами решения.
Установите флажок Только целые слова и нажмите на кнопку Найти все.
В результатах поиска отобразятся места, которые могут содержать ИД сущностей с типом int:
3.В среде разработки в SQL-запросе замените тип int на bigint в найденных участках кода.
4.Повторите все действия для остальных SQL-запросов.
В модуле Docflow содержится SQL-скрипт, который получает очередные регистрационные номера документов. Скрипт создает хранимые процедуры (ХП). Аргументы некоторых ХП хранят ИД сущностей: @docregid – ИД журнала регистрации, @leaddoc – ИД ведущего документа, @newdep – ИД подразделения, @newbisunessunit – ИД нашей организации. Чтобы хранимые процедуры создавались корректно, для них тип int заменен на bigint: |
В модуле Docflow есть скрипт, который назначает права доступа на документы указанного вида. Скрипт содержит переменные, в которых хранятся ИД сущностей. Тип таких переменных также надо поменять с int на bigint: @documentKindId – ИД вида документа, @recipientId – ИД субъекта назначения прав (пользовать, группа, роль), @secureObjectId – ИД объекта, на который назначаются права, и другие: |
Скрипт CreateAcquaintanceReportTable создает временную таблицу, в которую записываются участники ознакомления с документом. В этой таблице есть колонка TaskId, содержащая ИД задач на ознакомление. Чтобы скрипт корректно получал данные об идентификаторах задач из базы данных, тип колонки изменен с int на bigint: |
© Компания Directum, 2024 |