1) При создание нового раздела мастером поле [ItemInGroupDatasetID] таблицы [tbl_Workspace] неправильно заполняется(ссылка на tbl сервис, а нужно на ds). Прошу подтвердить. Версия 3.4.0.141
2) При создание двух разделов, если один сошлеться на другой, то падает здесь, когда в интерфейсе создаешь ссылку в карточке:
var Filters = SelectQuery.Items(0).Filters;
var TableAlias = JOIN.LeftTableAlias;
var Parameters = SelectQuery.Parameters;
var Parameter = Parameters.ItemsByName('GroupID');
IF (!Assigned(Parameter)) {
Parameter = AddParameter(Parameters, pdtGUID, NULL);
Parameter.Name = 'GroupID';
}
var TableFileds = JOIN.LeftField.ParentFields;
Это уже после исправления ItemInGroupDatasetID. Причем, если новый раздел ссылаеться на что то уже существующее, то все хорошо.
3) Попытка создать два раздела с одинаковым началом имени ни к чему хорошему не приведет. При создание доп таблиц, индексов идет какое то отсечение букв(7 что ли) от названия, уникальность теряеться.
Нравится
Михаил, добрый день!
По первому пункту - проверил на 3.4.0. Проблема не воспроизвелась:
По второму пункту - после создания первого раздела необходимо нажать "ОК", и на ответ "Продолжить работу с мастером" ответить "Да". После чего создать второй раздел со ссылкой на первый.
По третьему пункту: ситуацию также не воспроизвел. Создал два раздела с именами TestWorkspace, TestWorkspace2 соответственно:
С индексами все в порядке:
ITestWorkspace2CreatedByID ITestWorkspaceCreatedByID
Михаил, сравните, пожалуйста, Araxis'ом Вам скрипт и скрипт во вложении. Если есть отличия - попробуйте загрузить с заменой и проверить, предварительно запросите через письмо на support@terrasoft.ru последние бинарные файлы 3.4.0.
Если после этого хотя бы один из пунктов у Вас воспроизведется - напишите, пожалуйста, когда к Вам можно будет удаленно подключиться для анализа и исправления проблем.
Заранее спасибо и хорошего вечера!
Логично -), ошибка 1 исправлена.
Все остальные на месте. Может есть свежие файлы:
scr_GenTable - Имя объекта 'FLEscalationzzRightAdminUnitID' превышает 30 знаков, а в тексте ошибки "nzz" - уже срезано, ошибка 3
scr_GenSelectQuery - просто грешу на этот модуль
scr_SelectDataWithGroupUtils - падает из-за отсуствие объекта, ошибка 2
Для меня сейчас очень критична ошибка 2. С ошибкой 1 все понятно, обойти 3 ничего не стоит.
Новая версия бинарников ничего не изменила.
проверьте текст функции, особенно if (Caption.length > MaxDBObjectSqlNameLength) {
function AddRelationToTable(Table, FieldName, RelationDatasetCode) { var Relation = Table.Relations.CreateItem(); var ChildField = Table.Fields.ItemsByName(FieldName); Relation.ChildField = ChildField; var TableSQLName = Table.SQLName; if (TableSQLName.substr(0,4) == 'tbl_') { TableSQLName = TableSQLName.substr(4); } var Caption = 'F' + TableSQLName + FieldName; if (Caption.length > MaxDBObjectSqlNameLength) { TableSQLName = TableSQLName.substr(0, 10); FieldName = FieldName.substr(0, 17); Caption = 'F' + TableSQLName + FieldName; } Relation.SQLName = Caption; var RelationDataset = GetSingleItemByCode(RelationDatasetCode, 'Wizard'); var ParentField = RelationDataset.SelectQuery.Items(0).FromTable.Fields. ItemsByName('ID'); var RelationDatasetTable = RelationDataset.SelectQuery.Items(0).FromTable; Relation.ParentField = ParentField; Table.Relations.Add(Relation); if (RelationDatasetTable.ParentTableGroup != DictionaryTableGroup) { AddIndexToTable(Table, ChildField, TableSQLName); } return Relation; }
"Андросов Дмитрий" написал:проверьте текст функции, особенно if (Caption.length > MaxDBObjectSqlNameLength) {
Есть отличая:
var ParentField = RelationTable.Fields.ItemsByName('ID'); Relation.ParentField = ParentField; Table.Relations.Add(Relation); if (IsCascade) { Relation.IsCascade = IsCascade; } if (RelationDatasetTable.ParentTableGroup != DictionaryTableGroup)
Версия моего файла: Service AppVersion="3.4.0.54" Запрос в поддержку с просьбой выслать мне последнии версии трех сервисов, включая scr_GenTable уже послал.
Можете предоставить скриншот отладчика, на какой строке система падает, и call-stack?
У себя на 3.4.0 не воспроизвел.
пс: идеальный вариант - предоставьте базу, с указанием в каком разделе по нажатию на какой лукап система падает.
Вот архив с запрошенными Вами сервисами
"Олейник Дмитрий" написал:Можете предоставить скриншот отладчика, на какой строке система падает, и call-stack?
У себя на 3.4.0 не воспроизвел.пс: идеальный вариант - предоставьте базу, с указанием в каком разделе по нажатию на какой лукап система падает.
С уважением,
Олейник Дмитрий
Эксперт 3-й линии поддержки
Это у меня:
var ParentField = RelationTable.Fields.ItemsByName('ID');
Это у Дмитрия:
var ParentField = RelationDataset.SelectQuery.Items(0).FromTable.Fields.ItemsByName('ID');
На скришоте видно, что падает на join.leftfield.ParentFields. В ParentFields оказываеться null. Просто нужен файл где исправлена ошибка, функцию менять не хочу, скорей всего все заработает, но что если там еще много чего исправленно.
"Олейник Дмитрий" написал:Вот архив с запрошенными Вами сервисами
С уважением,
Олейник Дмитрий
Эксперт 3-й линии поддержки
Спасибо!
Критическая ошибка исчезла. Ошибка с именами осталась, буду ее обходить стороной.
Михаил, не за что.
Если возникнут дополнительные вопросы/проблемы - обращайтесь.