Вопрос

Не открывается вторая страница на Заказе

Доброго времени суток!
Версии 7.10.1
Работаю в своей базе. Создал мастером на заказе вторую страницу. Сгенерированное
мастером название переименовал на OrderPageRequestV2. Все работает.
Залился в хранилище. После восстановления из хранилища в другой базе выбираю по кнопке "Добавить" вторую страницу. Она открывается. После заполнения и сохранения закрываю. Вновь открываю заказ, но открывается почему-то первая страница OrderPageV2. Если в адресной строке поменять OrderPageV2 на OrderPageRequestV2, то откроется OrderPageRequestV2. Зашел в мастер, а там почему-то в настройках "Использовать одну страницу для всех записей". Пробовал перегенерировать коды, скомпилироваться еще раз, обновить структуру бд, установить данные. Не помогло. Начал сравнивать таблицы двух бд.
Обнаружил:
1)В таблице SysModule(база, где имеется проблема) в записи Заказы в поле Attribute
отсутствует значение. Скопировал, добавил
2)В таблице SysModuleEdit запись, где в поле CardSchemaUId должно содержать Uid второй страницы,
отсутствовало. Добавил.
Не помогло.
Может еще в каких-то таблицах нужно проверить?

Заранее благодарен
 

Нравится

2 комментария

Кирилл, здравствуйте!

Если мы правильно понимаем, то у Вас слетела типизация страниц. Вам необходимо в SysModuleEntityId для нужного раздела прописать TypeColumnUId. Примерный скрипт ниже: 

DECLARE @TableName SYSNAME = 'Contact'; -- название объекта

DECLARE @ColumnName SYSNAME = 'TypeId'; --- название колонки по которой происходит типизация

DECLARE @EntitySchemaColumnUId UNIQUEIDENTIFIER;

SELECT

@EntitySchemaColumnUId = CAST(value AS UNIQUEIDENTIFIER)

FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', @TableName, 'column', @ColumnName)

WHERE name = 'TS.EntitySchemaColumn.UId';

 

UPDATE sme

SET sme.TypeColumnUId = @EntitySchemaColumnUId

FROM SysModuleEntity sme

JOIN SysModule sm ON sme.Id = sm.SysModuleEntityId

WHERE sm.Code = @TableName;

спасибо

Показать все комментарии