|
СКД внешний отчет + расширение | ☑ | ||
---|---|---|---|---|
0
johnbay
08.02.23
✎
16:38
|
Добрый день.
Было: старый релиз платформы, 8.3.18. В расширении к типовому объекту добавлен реквизит. Сделан внешний отчет на СКД с участием этого реквизита в тексте запроса. При открытии этой СКД в конфигураторе присутствовала проблема с "поле не найдено". Она обходилась путем редактирования СКД в режиме Предприятия в КонсолиСКД. Далее СКД сохранялась в xml, в конфигураторе грузилась обратно в СКД отчета. Все работало. Стало: Теперь имею релиз 8.3.21.1624 и на последнем шаге, при загрузке из XML срубаются поля ресурсов отчета - удаляются вместе с формулами. Как то этот пересчет ресурсов в СКД после загрузки XML обойти возможно? |
|||
1
Donkey_hot
08.02.23
✎
17:10
|
(0) А встроить отчет в расширение не вариант?
|
|||
2
kittystark
08.02.23
✎
17:10
|
добавь в наборы данных еще один "левый" с запросом эмулирующем слетающие поля, типа "выбрать 0 как МоеПоле"
в приКомпоновкеРезультата - удаляй это набор, чтоб не ругалось на несвязанные поля |
|||
3
Donkey_hot
08.02.23
✎
17:10
|
(0) Либо в текст запроса заглушку какую-нибудь, а потом в коде переопределить
|
|||
4
johnbay
08.02.23
✎
17:24
|
(1) Таких отчетов не один. В расширение придется тащить целую кучу типовых реквизитов, что не нужно от слова совсем.
(2, 3) Отчет полностью "не программный". СКД вшита. Используется механизм внешних отчетов типовых конф типа УТ11, КА2 и т.п. |
|||
5
unenu
08.02.23
✎
17:31
|
(2) можно и не удалять, а создать второй набор с слеюдущими полями
Выбрать ПолеТакоето КАК 0, .... _ПолеСвязи КАК Истина ГДЕ ЛОЖЬ В основном наборе добавить _ПолеСвязи КАК Истина затем настроить фейковую связь по _ПолеСвязи, чтобы на типы полей связи не "ругалось" слева основной набор, справа пустой набор-затычка эта связь никак не повлияет на выборку и может быть ресурсы не перекосит, вроде) |
|||
6
unenu
08.02.23
✎
17:32
|
+(5) в примере поля и значения наооборот, ес-но
|
|||
7
unenu
08.02.23
✎
17:34
|
хотя удалять логичнее, да. типы полей станут составными и это может создать неприятности.
|
|||
8
johnbay
08.02.23
✎
17:54
|
(5) Сработало. Но есть куча НО:
1. Чтобы создать эту связь надо убрать проблемное поле. Добавить связь. Вернуть "проблему" на место. Ругатся продолжает на него. Но поля отображает, дает настроить Ресурсы. 2. После закрытия СКД и открытия заново - все начинать с начала. Т.е. проблема в полный рост как и была - удалены ресурсы, доступные поля и т.п. 3. В сохраненных в Предприятии вариантах этого отчета отвалились настройки структуры отчета. Их надо пересоздавать заново. |
|||
9
johnbay
08.02.23
✎
18:05
|
(7) проблема не в типах данных, а в том что компилятор запроса не находит поле. После этого он останавливает работу и доступные поля СКД не создаются, а ресурсы удаляются.
|
|||
10
johnbay
08.02.23
✎
18:52
|
Решил вопрос в процедуре ПриКомпоновкеРезультата заменой текста запроса по проблемным полям.
Засада в том, что теперь в старых отчетах не посмотреть что находится в ресурсах, вычисляемых выражениях, ... Нужно откатывать релиз чтобы это увидеть. Ужас. |
|||
11
johnbay
08.02.23
✎
19:08
|
И не обязательно связываться с расширением.
Провел тест: 0. создал пустую конфигурацию 1. Документ1 с реквизитом Сумма (Число) 2. Отчет1 с запросом Ссылки и Сумма. В Ресурсах для Сумма = Минимум(Сумма). 3. Обновляем конфу. Отчет работает 4. Переименовываем реквизит Документ1.Сумма в Сумма1. Обновляем конфу. 5. Заходим в СКД Отчет1 - ошибка, все стерто. Ресурсов нет. |
|||
12
johnbay
08.02.23
✎
19:28
|
(11)
6. при выгрузке СКД в XML информация по ресурсам так же отсутствует. |
|||
13
Donkey_hot
08.02.23
✎
20:17
|
(10) Если так много телодвижений с этими отчетами, может имеет смысл создать тестовую базу именно для отчетов, в которой все собственные объекты расширений перенести в основную конфу?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |