|
Отчет с данными из другой базы | ☑ | ||
---|---|---|---|---|
0
Буковка
04.12.23
✎
10:17
|
Помогите, пожалуйста, с правильностью действий (код напишу сама). Мне нужно сформировать отчет в базе 1, используя данные базы 2(в базе 1 нет данных объектов).
Нужно использовать http соединение Могу ли я создать отчет в базе 2, написать http-метод в базе 2 и получить это всё в базе 1? я могу в базе 1 использовать внешний отчет? |
|||
1
Доминошник
04.12.23
✎
10:21
|
В общем случае ответ на оба вопроса - да.
|
|||
2
Обработка
04.12.23
✎
10:23
|
Либо СОМ либо http.
Но надо работать с предсавлениями а не самими объектами в отчетах. Так будте и правильне. |
|||
3
Буковка
04.12.23
✎
10:24
|
(1) а как лучше сделать? формировать отчет в базе 1, используя внешний источник данных? или получать данные, сформированные в базе 2 в отчете?
|
|||
4
Обработка
04.12.23
✎
10:45
|
(3) А гугл тебе что сказал?
|
|||
5
Shur1cIT
04.12.23
✎
10:50
|
(0) делалп одобное, отчет сверял остатки в ERP и УПП, В УПП был поднят сервис HTTP в ERP сам отчет, те ерп формировал запрос в УПП за остатками далее после того как остатки получены соединял их с остатками в текущей базе.
|
|||
6
Буковка
04.12.23
✎
11:14
|
(5) спасибо, буду пробовать
|
|||
7
lEvGl
гуру
04.12.23
✎
11:41
|
(0) если надо просто в одной базе показать результат отчета из другой базы, то формируем отчет в базе2, возвращаем в базу1 просто ТабДок, показываем(). Он сериализуется.
+ способы передачи текста есть разные, от сервисов до тупо файлов |
|||
8
Буковка
04.12.23
✎
11:45
|
(7) а как этот табдок показать в базе 1? сделать обработку? или в базе 1 сделать отчет на скд? мне это момент не совсем понятен
|
|||
9
lEvGl
гуру
04.12.23
✎
11:56
|
(8) в базе1 кнопка(где хотите, без разницы), она вызывает сервис (например, но можно и СОМ ипользовать. + и - одного и другого много раз обсуждались) базы2, в сервисе функция, которая программно формирует нужный отчет, на выходе этого формирования получаем ТабДок, который сериализуем и строкой возвращаем в качестве ответа на вызов сервиса базы2 в базу1. И пишем Показать(), все. А, ну из xml строки надо конечно ТабДок тут, в базе1, создать. Это делает через СериализоторXDTO, строчка кода в база2, строчка кода в база1, и имеем табДок в база1.
|
|||
10
Буковка
04.12.23
✎
11:57
|
(9) спасибо большое
|
|||
11
nodrama
04.12.23
✎
13:40
|
(0) У нас много таких отчетов.
Мы в "нужной базе". собираем нужные данные из другой базы и формируем отчет. хттп, ком и т.д. не суть важно. Но у нас видимо проще. мы в "базе2" ни чего не формируем. Мы забираем только нужные данные (цифры там, даты, фио, ну и т.д.) и уже в нужной базе строим отчет. |
|||
12
p-soft
04.12.23
✎
13:47
|
(6) да, это самое удобное:
- делаем хттп сервис на источнике - на стороне хттп сервиса сняли данные с регистров, засунули их в массив структур, это все в json и вернули как двоичные данные тела ответа. - на стороне инициатора запроса из тела ответа получаем json, преобразовываем в тз и тз пихаем как набор данных в отчет. на днях тоже делал сверку из ут11 со складом. если данные паковать в deflate - вообще все летает. |
|||
13
p-soft
04.12.23
✎
13:48
|
(12) у меня на сайте есть конфа и обработка с примером как делать, кстати
|
|||
14
lEvGl
гуру
04.12.23
✎
15:16
|
как то сомнения на счет связывания данных и так далее из за этого
Мне нужно сформировать отчет в базе 1, используя данные базы 2(в базе 1 нет данных объектов) не говоря про синхронизацию ссылок и остального |
|||
15
Donkey_hot
04.12.23
✎
15:22
|
(0) Вариант с пересылкой готового ТабДока кажется не очень гибким с точки зрения отборов, группировок и прочего. Но если возможности настройки не предусматривается, то можно и ТабДок.
|
|||
16
Буковка
04.12.23
✎
16:34
|
(14) мне не нужно связывать данные. Мне нужно вывести отчет из базы 2 в базе 1 (не используя данные базы 1)
|
|||
17
Буковка
04.12.23
✎
16:37
|
пока я пришла к такому варианту:
Результат = HTTPОтвет.ПолучитьТелоКакДвоичныеДанные(); ПотокФайла = Новый ПотокВПамяти(); Результат.Записать(ПотокФайла); ДвоичныеДанныеФайла = ПотокФайла.ЗакрытьИПолучитьДвоичныеДанные(); Поток = ДвоичныеДанныеФайла.ОткрытьПотокДляЧтения(); ТабличныйДокумент.Прочитать(Поток); Поток.Закрыть(); HTTPСоединение = Неопределено; Возврат ТабличныйДокумент; |
|||
18
lEvGl
гуру
04.12.23
✎
16:54
|
(16) это и не вам было
(17) и как, работает? |
|||
19
Буковка
05.12.23
✎
15:04
|
(18) нет, переделала иначе:
1) сделала скд в базе 1 с внешним набором данных, в модуле объекта передала параметры и вызвала метод из базы 2 и получила ТЗ 2) в базе 2 написала метод и запрос для получения ТЗ. примерно всё так, как Вы подсказали в (9) Спасибо! |
|||
20
lEvGl
гуру
05.12.23
✎
16:47
|
(19) замечательно же! и какие возможности теперь есть у пользователя этого отчета на скд, все счастливы? у них же скд, а не просто таб док.
и еще интересно, что там в этой ТЗ, наименования вместо ссылок или ОбъектНеНайден? |
|||
21
Буковка
06.12.23
✎
11:18
|
(20) Представление вместо ссылок. Это плохо?
|
|||
22
lEvGl
гуру
06.12.23
✎
11:29
|
(21) что для кого то хорошо, а что плохо сказать не могу. но свертка/группировка по одинаковым значениям поля в скд происходит, факт
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |