Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Адаптация отчета "Продажи" под анализ данных из нескольких инфобаз.

Адаптация  отчета "Продажи" под анализ данных из нескольких инфобаз.
Я
   Афедрон
 
07.08.19 - 13:59
Существует отчет "Продажи". Необходимо адаптировать этот отчет под анализ данных так, чтобы в оперативном режиме была возможность получать и агрегировать данные из нескольких информационных баз, расположенных в различных субъектах РФ. Отчет должен иметь возможность работать в "толстом", "тонком" и "веб" клиентах. Вариант решения достаточно предоставить в формате внешнего отчета *.erf. Предусмотреть вариант реализации для низкоскоростных соединений между информационными базами.
Платформа 8.3 УТ 11
Подскажите как это можно сделать?
 
 
   ДенисЧ
 
1 - 07.08.19 - 14:03
От 300 тысяч
   piter3
 
2 - 07.08.19 - 14:06
Заплатить кто сможет сделать.
   Oftan_Idy
 
3 - 07.08.19 - 14:06
(0) От 200 тыщ.
Демпингую!
   dka80
 
4 - 07.08.19 - 14:07
Берешь типовой отчет Продажи, смотришь запрос СКД, исполняешь этот запрос на других базах (http-сервис,com и т.п.), объединяешь результат в один набор данных, пишешь отчет на СКД с внешним источником данных
   Oftan_Idy
 
5 - 07.08.19 - 14:08
(4) Да как два пальца об асфальт. Чего там, херак херак и в продакшн
   gSha
 
6 - 07.08.19 - 14:14
Красиво сформулировано.
   Афедрон
 
7 - 07.08.19 - 14:32
(5) Ага, эт точна. Как два пальца, только не об асфальт, а обос...ть, Фуле, легко.
   Афедрон
 
8 - 07.08.19 - 14:33
(4) В том-то и дело, что как это сделать?
   shuhard
 
9 - 07.08.19 - 14:39
(8) найти на ТЗ исполнителя
   Афедрон
 
10 - 07.08.19 - 14:47
(9) Да это самому надо сделать ))))). Мне хотя бы направление деятельности, КАК сделать.
   МимохожийОднако
 
11 - 07.08.19 - 14:48
(0) Доступ к базам есть? В каких режимах? ИМХО, неполное техзадание.
   Афедрон
 
12 - 07.08.19 - 14:48
(4) Мне вот это непонятно: "исполняешь этот запрос на других базах (http-сервис,com и т.п.)" КАК это сделать?
   nicxxx
 
13 - 07.08.19 - 14:49
(10) В региональных данных сделай Http-сервисы, которые будут формировать отчет и отдавать данные, например, в json.
Из центральной базы дергай эти сервисы, складывай информацию, предположим, в регистр сведений, оттуда - отчетом СКД
Все. Неужели сложно?
   ГдеСобакаЗарыта
 
14 - 07.08.19 - 14:50
(11) Это тестовое задание при приеме на работу. Автор явно непригоден, но очень уж хочется ему во фране поработать
   МимохожийОднако
 
15 - 07.08.19 - 14:51
Например. https://its.1c.ru/db/repfactorydoc
фабрика отчетов
   ГдеСобакаЗарыта
 
16 - 07.08.19 - 14:52
С http-сервисом проверяющий не поймет. В задание ясно указано что нужен файл внешнего отчета, а значит тут нужен com.
   Афедрон
 
17 - 07.08.19 - 14:52
(14) Это не фран, а с другой стороны, задание действительно безмозглое.
   МимохожийОднако
 
18 - 07.08.19 - 14:53
(17) Кто мешает уточнить ТЗ?
   Афедрон
 
19 - 07.08.19 - 14:55
(13) "Неужели сложно?", ага, особенно, когда никогда этим не занимался.
   ГдеСобакаЗарыта
 
20 - 07.08.19 - 14:56
11 лет стажа на мисте и ни разу к другой базе не коннектился? Стыдно должно быть
   МимохожийОднако
 
21 - 07.08.19 - 14:57
(19) Не паникуй. Когда-нибудь надо начинать. Так что мешает уточнить ТЗ?
   Афедрон
 
22 - 07.08.19 - 14:58
(20) я сто лет здесь не был. )))))) и не коннектился - не было задач под это дело.
   shuhard
 
23 - 07.08.19 - 14:59
(19) не флюди
   Афедрон
 
24 - 07.08.19 - 14:59
(21) Да ничего в общем-то. Вопрос тока в том - ЧТО уточнять? В общем смысл задачи понятен, просто не сталкивался с этим никогда.
   Rovan
 
25 - 07.08.19 - 15:03
(0) делал такое год назад для клиента,
а недавно позвонили - мы переходим на Линукс-сервер,
пришлось переделать отчет на СОМ на клиенте
   Афедрон
 
26 - 07.08.19 - 15:18
Ладно, ребята, всем спасибо, что уделили времени. Сам буду разбираться.
   dka80
 
27 - 07.08.19 - 15:34
что тебе непонятно из (4) конкретно?
1. Как подключиться к другой базе через COM?
2. Как получить результат запроса?
3. Как результат засунуть в таблицу значений?
4. Как создать отчет на СКД с внешним источником данных?
   Oftan_Idy
 
28 - 07.08.19 - 15:36
(0) По нормальному, в полпинка, это не сделать. Только как академическую задачу, действительно для собеседования.
Но вообще такая тестовая задача не адекватна.

В реальной жизни:
- базы большие (вытянуть json'ом таблица на 100 гб? Ну удачи вам)
- версия платформ в распределенных базах разные. (Это про - подцепись по com)
- Опубликовать DCOM через инет к 1С ни один вменяемый админ не позволит. Это снова про - подцепится по com.
- Скинуть промежуточные результаты чтобы их собрать, тоже куда-то нужно. Если данных много это тоже проблема. Это про - пиши в регистр сведений. Ага...

Сделать то можно и можно сделать правильно и хорошо, но долго и сложно.

А если просто так, что пользоватся этим не будут, как сферическим конем в вакуме, то можно так.
- Делаешь ComCnnector к N-базе, выполняешь там запрос, через коннектор, получаешь результат, выгребаешь в таблицу значений в памяти.
- Делаешь N-итерацию.
- Собираешь эти таблицы в одну, в памяти.
- делаешь запрос с временной таблицой, в качестве источника передаешь агрегатную таблицу как параметр, получаешь результат, пихаешь в СКД, где уже можно красиво отборы всякие сделать с блекджеком и куртизанками.

при условии, что есть доступ com-коннекта, базы маленькие, данных мало.
Работать это будет долго по времени
   dka80
 
29 - 07.08.19 - 15:38
(28) я не настаиваю на COM. Это один из вариантов, тем более в (0) сказано результат надо сдать в виде внешней обработки. К тому же кто запретил VPN?
   Афедрон
 
30 - 07.08.19 - 15:40
(27) первый вопрос. остальные понятны и знаю как делать. с ком соединениями просто незнаком. не приходилось сталкиваться
 
 Рекламное место пустует
   Oftan_Idy
 
31 - 07.08.19 - 15:42
(29) "я не настаиваю на COM"

Все остальные варианты связаны с внесением изменений в базы-источники данных.

"сказано результат надо сдать в виде внешней обработки."
Во-первых не "надо", а "можно". 
А во вторых - какая разница? Это не важно.
"К тому же кто запретил VPN?"

Те же админы. В больших конторах ой как не любят левые коннекты внутри сетей.
А если ларек, то нужно на узлах настраивать, админы нужны местные везде
   dka80
 
32 - 07.08.19 - 15:43
(31) ой всё (даже не поленился и вместо "е" "ё" поставил)
   Афедрон
 
33 - 07.08.19 - 15:44
(28) Спасибо, разъяснил. это и напишу. Вообще, я с работодателей валяюсь. Писать такие задачи для того, чтобы узнать уровень кандидата, это надо быть, в натуре, самому не слишком компетентным в области своей деятельности, так что стоит подумать - устраиваться или нет к такому работодателю, у которого начальник IT отдела вот такой. )))) Ладно, ребята, еще раз всем спасибо, что потратили на меня время.
   Oftan_Idy
 
34 - 07.08.19 - 15:45
(30) Кури "Менеджер COM-соединений (COM connector)"
   dka80
 
35 - 07.08.19 - 15:45
ИмяБазы = Параметры.Ключ;
    ВерсияБазы = Параметры.Значение;
    СтрокаПодключения = "Srvr=""сервер"";Ref=""" + ИмяБазы + """;Usr=""Пользователь"";Pwd=""Пароль"";";
    
    V82COMConnector = Новый COMОбъект("V83.COMConnector"); 
    Попытка
        Base1С = V82COMConnector.Connect(СтрокаПодключения);
    Исключение
        Сообщить("Ошибка подключения к базе: " + ИмяБазы);
    КонецПопытки;
    Запрос = Base1С.NewObject("Запрос");
    Запрос.УстановитьПараметр("Период", КонецДня(ЭтотОбъект.Период));
    Запрос.Текст = "текст запроса";
    КонецЕсли;
    ТЗ = Запрос.Выполнить().Выгрузить();
   Афедрон
 
36 - 07.08.19 - 15:47
(35) Спасибо. Я с этим просто не сталкивался никогда, не было потребности работать с этим COM
   d4rkmesa
 
37 - 07.08.19 - 15:48
(28) Не знаю, как он вытянет миллион записей в таблицу значений(для Продаж - вполне типично), у нас к примеру текущая 8.3.12 просто падает при попытке завести столько во внешний источник. Как то нужно, чтобы отборы ходили в другую базу, сериализовывались-десериализовались. Без отборов только на маленьких базах работать будет.
   d4rkmesa
 
38 - 07.08.19 - 15:50
(33) Если это действительно тестовое задание, посылай нахер. Тут по-хорошему OLAP какой-нибудь нужен. Я писал отчеты, которые тянут из нескольких баз данные, но лучше такой ерундой лишний раз не заниматься.
   dka80
 
39 - 07.08.19 - 15:51
(36) только учти одну мааааленькую, но очень важную деталь. Скорее всего при подключении к внешнему серверу у тебя ничего не получится. Дело в том, что 1С осуществляет двойное подключение (как-то это по умному называется, может кто подскажет). Поэтому, зацепившись например по IP адресу внешнего сервера, необходимо будет еще в твоем файле hosts прописать локальный IP того сервера по его имени
   Oftan_Idy
 
40 - 07.08.19 - 15:51
(37) "Не знаю, как он вытянет миллион записей в таблицу значений"

Да никак! Я про это выше и написал.
Что в реальной жизни такие задачи с полпинка не решаются
   Афедрон
 
41 - 07.08.19 - 15:54
(38) Угу, я тоже так чувствую. И, наверное, пошлю. Да, это тестовое задание, типа крутая контора и хочут проверить или забесплатно получить для себя навороченный отчет, шоб самим не е...ся.
   Афедрон
 
42 - 07.08.19 - 15:56
Все, ребята, всем спасибо. Инфу, которую вы все дали вполне хватит, чтобы решить проблему. Не тратьте на меня больше время. Итак у нас, одинэсников, его вечно не хватает
   Garykom
 
43 - 07.08.19 - 16:15
(1) Имхо от 300 тыщ мало, зависит от какие ИБ в разных регионах и сколько их.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.