Имя: Пароль:
1C
1С v8
Адаптация отчета "Продажи" под анализ данных из нескольких инфобаз.
0 Афедрон
 
07.08.19
13:59
Существует отчет "Продажи". Необходимо адаптировать этот отчет под анализ данных так, чтобы в оперативном режиме была возможность получать и агрегировать данные из нескольких информационных баз, расположенных в различных субъектах РФ. Отчет должен иметь возможность работать в "толстом", "тонком" и "веб" клиентах. Вариант решения достаточно предоставить в формате внешнего отчета *.erf. Предусмотреть вариант реализации для низкоскоростных соединений между информационными базами.
Платформа 8.3 УТ 11
Подскажите как это можно сделать?
1 ДенисЧ
 
07.08.19
14:03
От 300 тысяч
2 piter3
 
07.08.19
14:06
Заплатить кто сможет сделать.
3 Oftan_Idy
 
07.08.19
14:06
(0) От 200 тыщ.
Демпингую!
4 dka80
 
07.08.19
14:07
Берешь типовой отчет Продажи, смотришь запрос СКД, исполняешь этот запрос на других базах (http-сервис,com и т.п.), объединяешь результат в один набор данных, пишешь отчет на СКД с внешним источником данных
5 Oftan_Idy
 
07.08.19
14:08
(4) Да как два пальца об асфальт. Чего там, херак херак и в продакшн
6 gSha
 
07.08.19
14:14
Красиво сформулировано.
7 Афедрон
 
07.08.19
14:32
(5) Ага, эт точна. Как два пальца, только не об асфальт, а обос...ть, Фуле, легко.
8 Афедрон
 
07.08.19
14:33
(4) В том-то и дело, что как это сделать?
9 shuhard
 
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 и т.п.)" КАК это сделать?
13 nicxxx
 
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) я сто лет здесь не был. )))))) и не коннектился - не было задач под это дело.
23 shuhard
 
07.08.19
14:59
(19) не флюди
24 Афедрон
 
07.08.19
14:59
(21) Да ничего в общем-то. Вопрос тока в том - ЧТО уточнять? В общем смысл задачи понятен, просто не сталкивался с этим никогда.
25 Rovan
 
гуру
07.08.19
15:03
(0) делал такое год назад для клиента,
а недавно позвонили - мы переходим на Линукс-сервер,
пришлось переделать отчет на СОМ на клиенте
26 Афедрон
 
07.08.19
15:18
Ладно, ребята, всем спасибо, что уделили времени. Сам буду разбираться.
27 dka80
 
07.08.19
15:34
что тебе непонятно из (4) конкретно?
1. Как подключиться к другой базе через COM?
2. Как получить результат запроса?
3. Как результат засунуть в таблицу значений?
4. Как создать отчет на СКД с внешним источником данных?
28 Oftan_Idy
 
07.08.19
15:36
(0) По нормальному, в полпинка, это не сделать. Только как академическую задачу, действительно для собеседования.
Но вообще такая тестовая задача не адекватна.

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

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

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

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

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

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

"К тому же кто запретил VPN?"

Те же админы. В больших конторах ой как не любят левые коннекты внутри сетей.
А если ларек, то нужно на узлах настраивать, админы нужны местные везде
32 dka80
 
07.08.19
15:43
(31) ой всё (даже не поленился и вместо "е" "ё" поставил)
33 Афедрон
 
07.08.19
15:44
(28) Спасибо, разъяснил. это и напишу. Вообще, я с работодателей валяюсь. Писать такие задачи для того, чтобы узнать уровень кандидата, это надо быть, в натуре, самому не слишком компетентным в области своей деятельности, так что стоит подумать - устраиваться или нет к такому работодателю, у которого начальник IT отдела вот такой. )))) Ладно, ребята, еще раз всем спасибо, что потратили на меня время.
34 Oftan_Idy
 
07.08.19
15:45
(30) Кури "Менеджер COM-соединений (COM connector)"
35 dka80
 
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
37 d4rkmesa
 
07.08.19
15:48
(28) Не знаю, как он вытянет миллион записей в таблицу значений(для Продаж - вполне типично), у нас к примеру текущая 8.3.12 просто падает при попытке завести столько во внешний источник. Как то нужно, чтобы отборы ходили в другую базу, сериализовывались-десериализовались. Без отборов только на маленьких базах работать будет.
38 d4rkmesa
 
07.08.19
15:50
(33) Если это действительно тестовое задание, посылай нахер. Тут по-хорошему OLAP какой-нибудь нужен. Я писал отчеты, которые тянут из нескольких баз данные, но лучше такой ерундой лишний раз не заниматься.
39 dka80
 
07.08.19
15:51
(36) только учти одну мааааленькую, но очень важную деталь. Скорее всего при подключении к внешнему серверу у тебя ничего не получится. Дело в том, что 1С осуществляет двойное подключение (как-то это по умному называется, может кто подскажет). Поэтому, зацепившись например по IP адресу внешнего сервера, необходимо будет еще в твоем файле hosts прописать локальный IP того сервера по его имени
40 Oftan_Idy
 
07.08.19
15:51
(37) "Не знаю, как он вытянет миллион записей в таблицу значений"

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