• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Внедренное представление - никак

Ficoos

Lotus Team
15.03.2016
136
2
BIT
114
Доброго времени суток!
Есть такая проблема: В форму нужно внедрить представление из другой базы, но этой базы нет в списке или есть она же, но с другого сервера, которого теперь нет. Как сей список обновить или очистить? Где-нибудь хранятся эти списки баз, что бы можно было откорректировать список или вообще очистить?
Мучаюсь с этим уже не первый месяц...
 

Вложения

  • intake_View.png
    intake_View.png
    15,5 КБ · Просмотры: 179

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
я по другому делаю:

1) создаю подформу и в неё вставляю вид, но
2) в той базе где вид создаю форму и внедряю в неё нужный мне вид
3) копирую этот внедренный вид в мою подформу
4) созданную форму не сохраняю
5) подформу с правильным видом из правильной базы вставляю в нужную мне форму
 
  • Нравится
Реакции: Ficoos

Ficoos

Lotus Team
15.03.2016
136
2
BIT
114
я по другому делаю:

1) создаю подформу и в неё вставляю вид, но
2) в той базе где вид создаю форму и внедряю в неё нужный мне вид
3) копирую этот внедренный вид в мою подформу
4) созданную форму не сохраняю
5) подформу с правильным видом из правильной базы вставляю в нужную мне форму

Получалось все, до того момента, пока не вставил скопированное внедренное представление. Система выдала "Удаленная система не отвечает" и все зависло. Хотя база, откуда хочу взять представление для внедрения - на том же сервере, куда хочу его внедрить. где-то косяк в настройках клиента?!
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
Доброго времени суток!
Есть такая проблема: В форму нужно внедрить представление из другой базы, но этой базы нет в списке или есть она же, но с другого сервера, которого теперь нет. Как сей список обновить или очистить? Где-нибудь хранятся эти списки баз, что бы можно было откорректировать список или вообще очистить?
Мучаюсь с этим уже не первый месяц...
А в этом точно есть насущная необходимость? Встроенный вид берется по "репликаАйди" базы и он хардкодится при дизайне формы. Обязательно наступит время, когда он сломается.
По уму, его надо вычислять, а механизмы дизайнера этого не предполагают. Такшта останется только менять через дэхээль, предварительно найдя актуальный айди. Если автоматом. Или, всякий раз, править ручками. Нехорошо это.
 

Ficoos

Lotus Team
15.03.2016
136
2
BIT
114
А в этом точно есть насущная необходимость? Встроенный вид берется по "репликаАйди" базы и он хардкодится при дизайне формы. Обязательно наступит время, когда он сломается.
По уму, его надо вычислять, а механизмы дизайнера этого не предполагают. Такшта останется только менять через дэхээль, предварительно найдя актуальный айди. Если автоматом. Или, всякий раз, править ручками. Нехорошо это.
Необходимость, конечно, есть. Нужно пользователям показать документы, которые проходят по открытому документу договора. Здается мне, что нужно сносить клиента и зАново его установить... :(
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Получалось все, до того момента, пока не вставил скопированное внедренное представление. Система выдала "Удаленная система не отвечает" и все зависло. Хотя база, откуда хочу взять представление для внедрения - на том же сервере, куда хочу его внедрить. где-то косяк в настройках клиента?!
проверте конекшен на клиенте к серверу - возможно стоит приоритет - Low
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
А в этом точно есть насущная необходимость? Встроенный вид берется по "репликаАйди" базы и он хардкодится при дизайне формы. Обязательно наступит время, когда он сломается.
По уму, его надо вычислять, а механизмы дизайнера этого не предполагают. Такшта останется только менять через дэхээль, предварительно найдя актуальный айди. Если автоматом. Или, всякий раз, править ручками. Нехорошо это.
это всё легко лечится - DXML и пересобрали подформу под новую базу - но это уже когда очень хардкорим ;)
 

Ficoos

Lotus Team
15.03.2016
136
2
BIT
114
это всё легко лечится - DXML и пересобрали подформу под новую базу - но это уже когда очень хардкорим ;)
СПасибо. Пока работает по первому варианту. Каким-то чудесным образом с пятой попытки встала на место. Пока работает. Клиент, конечно, очень засорен и либо чистить, либо переустановить.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
80
Я делал по другому.
В базе, в которой вид, делаю фреймсет, в который вставляю вид или форму с внедрённым видом.
В базе, в которой наш документ, делаю также фреймсет, и в свойствах формы устанавливаю "открывать в таком-то фреймсете", при открытии дока он открывается в верхней части фреймсета, а в нижней открывается что угодно из другой базы - фреймсет или форма с внедрённым видом, или просто вид.
Детали не помню, надо поднимать старые проекты. Главное, что так мы никак не завязаны на ReplicaID, - во фреймсете можно указывать формулу для базы данных.
 

Ficoos

Lotus Team
15.03.2016
136
2
BIT
114
Я делал по другому.
В базе, в которой вид, делаю фреймсет, в который вставляю вид или форму с внедрённым видом.
В базе, в которой наш документ, делаю также фреймсет, и в свойствах формы устанавливаю "открывать в таком-то фреймсете", при открытии дока он открывается в верхней части фреймсета, а в нижней открывается что угодно из другой базы - фреймсет или форма с внедрённым видом, или просто вид.
Детали не помню, надо поднимать старые проекты. Главное, что так мы никак не завязаны на ReplicaID, - во фреймсете можно указывать формулу для базы данных.
Спасибо! Може это тоже поможет!
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
это всё легко лечится - DXML и пересобрали подформу под новую базу - но это уже когда очень хардкорим ;)
Я не говорю, что не лечится, я о целесообразности такого подхода к дизайну вообще. К примеру, размещение обычной вьюшки в фрейме, с нормальным, не урезанным, как у эмбедднутой в форму, функционалом, таких проблем не имеет - она просто вычисляется собаками...
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
Необходимость, конечно, есть. Нужно пользователям показать документы, которые проходят по открытому документу договора. Здается мне, что нужно сносить клиента и зАново его установить... :(
Не надо спросить клиента, это не решит проблему. Стоит подумать об изменении дизайна в этом месте - показать нужную инфу можно и другими, безпроблемными, способами.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
СПасибо. Пока работает по первому варианту. Каким-то чудесным образом с пятой попытки встала на место. Пока работает. Клиент, конечно, очень засорен и либо чистить, либо переустановить.
ещё может вид хитрый и отображается только для конкретной роли? ;)
 

garrick

Lotus Team
26.10.2009
1 352
151
BIT
202
Если вам только "показать" вьюху, то рекомендую использовать HTML/RTF таблицу, которую заполнить нужными данными при открытии формы программно. Данные из другой базы можно получить агентом или через web-сервис, или даже через HTML/GET запрос к вьюхе. Внедрённая вьюха из другой базы связывается по ReplicaID базы и UNID самой вьюхи. Если вы разрабатываете в тестовом окружении на тестовых базах, то вы не сможете это перенести на боевые, ваша внедрённая вьюха всегда будет только из тестовой базы, если вы не будете переписывать её UNID в вашей форме через DXL, как рекомендует @alexas1
 
  • Нравится
Реакции: alexas1

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Если вам только "показать" вьюху, то рекомендую использовать HTML/RTF таблицу, которую заполнить нужными данными при открытии формы программно. Данные из другой базы можно получить агентом или через web-сервис, или даже через HTML/GET запрос к вьюхе. Внедрённая вьюха из другой базы связывается по ReplicaID базы и UNID самой вьюхи. Если вы разрабатываете в тестовом окружении на тестовых базах, то вы не сможете это перенести на боевые, ваша внедрённая вьюха всегда будет только из тестовой базы, если вы не будете переписывать её UNID в вашей форме через DXL, как рекомендует @alexas1
я выше описывал - через DXML сможет - пересоберёт подформу с видом с новым UNID и всё

и подход с внедренным видом очень правильный - так разнотипные доки хранятся в разных базах по принципу "мухи отдельно, котлеты отдельно" - меньше нагрузка на базу, правильное срабатывание агентов по событиям

да и в итоге мы имеем под каждую базу свой тип доков - это очень оптимизированный и правильный подход
 

Ficoos

Lotus Team
15.03.2016
136
2
BIT
114
Спасибо всем! Разобрался. Там в свойствах представления были заданы наборы рамок, в которых должно открываться представление. Первый вариант ToxaRat помог.
 

savl

Lotus Team
28.10.2011
2 599
311
BIT
193
Мы просто html строими по notesentry, потом в поле(saveToDisk=false) и pass-thru.
Вот жаль для обновления надо переоткрывать, но пока не жаловались.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
37
Мы просто html строими по notesentry, потом в поле(saveToDisk=false) и pass-thru.
Вот жаль для обновления надо переоткрывать, но пока не жаловались.
Если пасстру показывать в отдельной формочке в имбедедэдиторе строго в Рид моде, получицца и динамика кошерная и скролл таблички нормальный.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!