|   |   | 
| 
 | Отчет с данными из другой базы | ☑ | ||
|---|---|---|---|---|
| 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) что для кого то хорошо, а что плохо сказать не могу. но свертка/группировка по одинаковым значениям поля в скд происходит, факт     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |