Имя: Пароль:
1C
 
Небольшой Гуру-тест по случаю из жизни (рассылка отчетов)
🠗 (Волшебник 24.10.2020 09:59)
,
0 Гений 1С
 
гуру
23.10.20
12:40
В общем нужно один и тот же отчет рассылать из 20 баз практически одинаковой конфигурации.
Подключаюсь по COM, формирую MXL, обрабатываю, рассылаю прикрепленным XLS.
И тут затык - одна из баз на облаке. Облако не Fresh, более гибкое в настройках и доступах.
Вручную высылать не вариант, хотят автоматизировать всё, готовы заплатить за облако.

Ваши действия, господа Гусары. Если облако что-то не может, я буду говорить нет.
А потом узнаете, как вопрос решил я, гуру. Правда, как и все гуры, сперва бился лбом не в том направлении чутка, но потом все решилось благополучно.

Итак?
1 Волшебник
 
23.10.20
12:41
Гуру не бьются лбом не в том направлении.
Они решают задачи легко и изящно.
2 Галахад
 
гуру
23.10.20
12:42
Я не гура, но почему бы не рассылать регламентом? Зачем вообще COM?
3 Garykom
 
гуру
23.10.20
12:46
Угу внешнюю обработку даже по фреш можно в регламентное
4 ДенисЧ
 
23.10.20
12:47
(2) Это не гуровое решение.
Гуровое - это из области плац ломом подметать. Нам не лучше надо, нам надо потр......ся
5 Затейник
 
23.10.20
12:52
Кто-то до сих пор использует COM?
6 mistеr
 
23.10.20
12:56
(0) Если облако гибкое, значит можно VPN прокинуть. А через него и COM.
7 Garykom
 
гуру
23.10.20
12:58
(6) угу на linux'е
8 acht
 
23.10.20
13:17
(0) > А потом узнаете, как вопрос решил я, гуру.
Что, твой бложек никто не читает, приходится тут хвастаться? Какая печаль.
9 Конструктор1С
 
23.10.20
13:28
(0) гуру, иди читай документацию к БСП. Рассылка отчетов по почте уже сто лет как есть в БСП и во всех типовых
10 DTX 4th
 
23.10.20
13:28
Ууу, налетели. соу тупикал.

(0) Не очень ясна проблема
Тип из одной базы нужно ко всем подключиться для формирования?

Делаем обработку, которая регулярно выгружает отчеты на фтп
Из центральной базы обрабатываем

Можно больше. Центральная база закидывает файл на фтп с командой, что нужно сделать ("Сохрани отчета за текущий месяц"), потом начинает ждать, пока все базы отработают эту команду. Дальше собирает все и отправляет.

Еще можно посмотреть в сторону http-сервисов
11 Гений 1С
 
гуру
23.10.20
13:46
(2) в 20 баз будете прописывать? в каждую базу заходить и адреса менять? Не, ну бог в помосчь.
обновлять обработку по рассылке если че, тоже в каждые из 20 баз, дыа? Единое расписание рассылки тоже в каждой базе корректировать?
Ну это путь для тру-мазохистов. Клиент не из таких.

(10) ты описал то, что я описал. Нюанс в том, что одна из баз на облаке. К 10-му посту прошло отрицание реальности и произошло, наконец, принятие задачи поставщика.
12 Гений 1С
 
гуру
23.10.20
13:46
(1) Опыт - сын ошибок трудных, а Гений - парадоксов друг. Как то так
13 acht
 
23.10.20
13:49
(11) > отрицание реальности
Сереж, да просто гуру на твои загоны насрать. Ты ж просто собираешь вопли молоденьких неофитов для почесывания своего эго.
14 dmpl
 
23.10.20
13:56
(0) Собираешь идеи как это сделать?
15 Гений 1С
 
гуру
23.10.20
13:56
(13) Вам, Г-н Фрейд, виднее. Я делюсь сермяжной правдой жизни
16 Garykom
 
гуру
23.10.20
14:00
(12) Гений Гуру ответь на (7)

Что ты будешь делать со своим com на линуксе?
17 Стаканов
 
23.10.20
14:03
(16) Гуры с Линухом не работают, ведь никто в реальном бизнесе его не использует :)))))
18 Гений 1С
 
гуру
23.10.20
14:04
(16) ты спросил, я уточняю - у нас не линукс. Но для линукса я знаю решение, кстати.
19 Гений 1С
 
гуру
23.10.20
14:04
(14) уже сделал. Делюсь программистской байкой
20 Гений 1С
 
гуру
23.10.20
14:05
21 mistеr
 
23.10.20
14:13
Я бы, наверное, сделал веб сервис, но полагаю, это не путь настоящего гения.

Если идти по пути настоя... наименьшего телодвижения, то можно записывать сформированный рег. заданием отчет в справочник или регистр, и обменом передавать туда, откуда идет рассылка.
22 DTX 4th
 
23.10.20
14:34
(11) >Нюанс в том, что одна из баз на облаке
И чем это мешает в терминах (10)?
23 Garykom
 
гуру
23.10.20
14:40
Имхо делается универсальный http сервис, который на вход принимает текст запроса с параметрами, а в ответ возвращает результат в json

И хреначь что хочешь извне, одинаковый сервис во всех база, его даже обновлять не нуна
24 Garykom
 
гуру
23.10.20
14:43
(0) с тебя $ за (23)
25 Garykom
 
гуру
23.10.20
14:46
(23)+ Но на практике все чуть сложней, запрос может выполняться долго так что не дождешься.

Так что первый http запрос возвращает id задания, которое выполняется.
А затем по id можно периодически вызывая узнавать статус, как выполнено - качаем результат.
26 mistеr
 
23.10.20
14:47
(23) Aka бэкдор
27 Garykom
 
гуру
23.10.20
14:48
(26) ридонли же
в полноценном Выполнить() но такое во фреш не пустят, в отличие от текста запроса
28 Волшебник
 
23.10.20
14:48
(24) за решения типа (23) могут и закопать в лесу...
29 Garykom
 
гуру
23.10.20
14:49
(28) Чем это отличается от дефолтной OData ? Авторизация понято дело должна быть
30 DTX 4th
 
23.10.20
14:49
(24) В очередь, http-сервисы были еще в (10) :)
31 Галахад
 
гуру
23.10.20
14:49
(27) Хм. Запросом можно базу уронить.
32 Надо работать
 
23.10.20
14:50
(23) более того, можно просто передать скд + настройки, без проблем это все читается
33 Garykom
 
гуру
23.10.20
14:50
(30) согласен поделить, осталось отловить гения и заставить поделиться
34 Garykom
 
гуру
23.10.20
14:51
(32) дык суть что отказаться от COM и взять нечто более современное но настраиваемое
и отказаться от циклов
35 Надо работать
 
23.10.20
14:52
(31) а com-ом  типа нельзя )
36 Галахад
 
гуру
23.10.20
14:57
(35) Ну так-то да. :-)
37 Гений 1С
 
гуру
23.10.20
16:04
ну короче, немного истории. Сперва я думал выгружать копию базы и в ней запускать отчет.
Потом подумал на тему расширения, чтобы оно само делало всю выгрузку и на этом затупил несколько.

Но в итоге пришел все же к нужному решению. В облаке разрешен веб-сервис.

Я передаю в сервис Идентификатор отчета, Настройки в XML и структуру параметров (опционально).

В итоге сервис отдает мне закодированный в Base 64 XML.

Остальные базы так и оставил на COM, потому что там веб-сервисы не подняты, а кроме того, нужно следить за актуальность кода в веб-сервисе. Хотя в принципе, он может редко меняться, но все же. Обновлять расширение на 20 базах то еще удовольствие.

Кстати, на линухе можно было бы запускать 1С с нужным ключом, а там бы расширение делало все что нужно по ключу, если не по веб-сервису.
38 Fish
 
23.10.20
16:06
(37) В общем, развёл обезьянник, и никакой универсальности. И в чём гениальность?
39 HeKrendel
 
23.10.20
16:08
Включил Типовой функционал рассылки отчетов
40 HeKrendel
 
23.10.20
16:09
(37) хотя кому я
41 Сергиус
 
23.10.20
16:34
(37)Ну это как бы и очевидно.
42 Гений 1С
 
гуру
23.10.20
18:22
(38) Мини-Макс знаешь что такое? Оптимальная затрата усилий. Обезьянник там небольшой.
43 Гений 1С
 
гуру
23.10.20
18:22
(39) в каждой из 20 баз? Ню-ню.
44 Гений 1С
 
гуру
23.10.20
18:22
(40) ты мысль свою светлую озвучь сперва и объясни в чем профит.
45 experimentator76
 
23.10.20
19:08
одним словом - фриланс
46 Злопчинский
 
23.10.20
19:42
(37) а при чем тут рассылка в Экселе с твоими манипуляциями с иксемелем?
я не вьезжаю (не восьмерочник я)
47 Конструктор1С
 
23.10.20
19:43
Велосипедостроение никак не отпускает?
48 neomarat
 
23.10.20
19:47
Потом обновится платформа и com ляжет. Причем ложится он неожиданно и хрен знает почему(по нескольким причинам) - потом с бубном плясать вокруг каждого сервера в поисках проблемы.
49 experimentator76
 
23.10.20
19:50
(48) так в этом и профит!
50 Гений 1С
 
гуру
23.10.20
20:55
(46) MXL, пардон.
(47) Шта?
(48) С чего бы это ему лечь? Ляжет - подымут. Это головняк админов.
51 Гений 1С
 
гуру
23.10.20
20:56
Не ну единственно разумным ответом от критиков было бы написание скрипта, который бы обновлял расширения во всех 20 базах, а еще желательно и веб-сервис подымал.
Скажу сразу - в тех базах что по СОМ, веб-сервер не поднят и под большим вопросом будет ли поднят.
52 GedKo
 
23.10.20
22:20
20 баз - это уже "Центр администрирования" нужен для удобства работы с ними.
получается, что хвалишься велосипедом с квадратными колесами для формирования отчета - зато тему с обновлением и прочим регламентным обслуживанием стыдливо умалчиваешь.
53 Гений 1С
 
гуру
24.10.20
09:27
(52) ну так не я ж админю эти базы. Меня пригласили на разработку. Как их админят и обновляют, я хз
54 piter3
 
24.10.20
09:39
(53) админы свалят не тебя, забодаешься доказывать, что не ты виноват
55 Гений 1С
 
гуру
24.10.20
09:50
(54) если у тебя играет очко, не ходи в программисты 1С. Гений 1С уверен в своем гении и провернет все так, что админы зарекутся.
56 Гений 1С
 
гуру
24.10.20
09:51
(54) и потом что именно свалят, ггг... вот реально, о чем спич, даже интересно
57 piter3
 
24.10.20
09:52
(56) перестал работать твой функционал, мда
58 Гений 1С
 
гуру
24.10.20
09:53
(57) и? разберусь почему и объясню клиенту. Если админы будут не согласны, пусть предметно поспорят. Но в большом бизнесе распиздяев не держат, в т.ч. и среди админов. Там вменяемые люди.
59 Гений 1С
 
гуру
24.10.20
09:54
(57) ты случайно не на Украине работаешь? В Москве сутяжничество не особо практикуется
60 GedKo
 
24.10.20
10:31
(53) оно не только для админства. можно и обработки запускать удаленно.
а если не ты обновляешь - тогда чего говоришь

>Обновлять расширение на 20 базах то еще удовольствие
?

просто пишешь обнову - пусть специально обученные люди и мучаются.
61 Гений 1С
 
гуру
24.10.20
12:37
(60) я знаком с этими специально обученными людьми и не хочу чтобы они мучались. Вопросы?
62 Конструктор1С
 
24.10.20
17:56
(50) выше уже писал, что рассылка отчетов много лет как типовой функционал
63 dmpl
 
25.10.20
11:10
(51) :facepalm: Если ты можешь подключиться к базе по COM, то ничего не мешает поднять на этой же машине web-сервер и загнать туда все нужные базы.