Добрый день!
Столкнулся с проблемой, когда представление в BPM наследует таблицу, выводит в интерфейсе мою добавленную колонку, но в SQL таблицу эта колонка не добавляется. Вот как это выглядит:
Добавил колонку "Специальная цена" в таблицу, которую наследует представление:
В представлении эта колонка отображается как унаследованная. Все верно:
Но в БД ее нет:
а следовательно и при выводе колонки в интерфейсе из-под пользователя я получаю ошибку, что колонки нет, что логично.
Вот и вопрос: как добавить эту же колонку в представление?
Нравится
Виталий,
Во View базы данных колонка добавляется ручками путем правки этого самого View.
Через конфигурацию по сути только настраивается соответствие сущности в системе и представления в БД.
Допустим так... Тогда как этими ручками добавить во View колонку? В контекстном меню ничего нет. В схеме тоже никаких команд. В дизайнере тем более. На MSDN тоже нет ни слова о добавлении во View колонки.
И еще: если доступа к базе у меня нет, а только интерфейс, получается, что я не смогу выполнить свою задачу?
Подскажите, если не трудно. Заранее спасибо!
"Виталий Марушко" написал:Допустим так... Тогда как этими ручками добавить во View колонку? В контекстном меню ничего нет. В схеме тоже никаких команд. В дизайнере тем более. На MSDN тоже нет ни слова о добавлении во View колонки.
Это получилось выполнить через контекстное меню представления и команды ALTER, дописав туда свою колонку. Немного странно, что нету похожей команды, как у таблицы.
Но вопрос о том, как мне это сделать, если у меня нет доступа к БД остается открытым...
Да. Все верно. Можно сделать через ALTER например.
При работе с представлением вам в любом случае придется создавать его самостоятельно в БД.
Если у вас нет прямого доступа к БД, значит нужно искать варианты выполнения SQL-скрипта по модификации/созданию представления из приложения.
Виталий
Если у вас версия 7.x сделать это можно с помощью sql-сценария в пакете
Если у вас версия 5.x то думаю стоит посмотреть в сторону класса CustomQuery.
Дмитрий, спасибо за помощь! Версия у меня 5.х (потому и тему на форуме создал соответственно). А на счет CustomQuery - да, вариант похоже единственный. Думал, что возможно существует способ это выполнить без написания такого сценария... Видимо, нет.
Ессть готовая страница для выполнения произвольных SQL-запросов, её нужно загрузить в конфигурацию.
Во View действительно добавлять колонки только руками.
"Толмачев Дмитрий Юрьевич" написал:Через конфигурацию по сути только настраивается соответствие сущности в системе и представления в БД.
это тоже потом только ручками?
1. Добавляете во View колонку через БД
2. В конфигурации в объект добавляете колонку с тем же именем и типом, публикуете
Объект в конфигурации и View в БД связываются благодаря одинковому названию и наличию галки «Представление».
"Зверев Александр" написал:В конфигурации в объект добавляете колонку с тем же именем и типом, публикуете
bpm мог бы научиться сам считывать колонки View, конечно...
Иногда View вместо таблицы используют в особых случаях, со сложными union и join, триггерами. Там нельзя просто так взять и добавить колонку, нужно думать.