|
Автоматические формирования отчетов и обработок за пользователя - у кого какие идеи есть? | ☑ | ||
---|---|---|---|---|
0
pavlo
29.08.17
✎
13:36
|
Никто не реализовывал такое дело в 8.3?
Идея такая, есть некий РС задач, в нем исключительно внутренние обработки и отчеты, который пользователи формируют руками, но некоторые они хотят с определенными настройками запускать на сервере, чтобы этот отчет отработал и сохранил ночью скажем (как и сейчас руками) куда либо на диск результат (возможно на почту, не суть). Так вот проблем несколько: 1. Сохранение формы 2. С другой стороны сохранение всей формы вроде как смысла не имеет так как на сервере вся эта форма не доступна. Нужно как то реализовать прозрачно, а не пилить каждый отчет под это глобально (частично конечно можно что то установить на будущее и в старых как аксиому, но не перелопачивать). В 77 не было как такого сервера 1с там крутился полноценный сеанс и потому там формексом универсально собиралась вся форма и сохранялась в Справочник заданий, потом по времени там установленном просто запускалась обработка/отчет и в нее подтягивалось все это сохраненное пользователем и за него срабатывало сформировать и все. Тут такое не прокатит. |
|||
1
Лефмихалыч
29.08.17
✎
13:38
|
БСП, выполнение дополнительных отчетов и обработок по расписанию
|
|||
2
Beduin
29.08.17
✎
13:38
|
(0) Так ты можешь табличныйдокумент в тучу разных форматов сохранить. Зачем форму сохранять?
|
|||
3
Garykom
гуру
29.08.17
✎
13:40
|
(1) Он допиливать готовые не хочет, хочет ими "внешне управлять"
|
|||
4
pavlo
29.08.17
✎
13:42
|
(1) БСП нет, да и там часто сильно все увязано к конфе своей.
(2) Табличный то причем, тут нужно за пользователя, но с указанными им настройками запустить скажем ночью и сформировав сохранить ему в папку ;) (3) ну да, как я это делал в 77, понятно что немного допилить можно и нужно будет скорее всего, но без массового перепиливания хочется обойти их вагон. |
|||
5
h-sp
29.08.17
✎
13:46
|
(4) ну то есть форма как бы нахрен не нужна здесь. В модули отчета пишешь процедурку, которая формирует табдокумент и выбрасывает его файл на диске. И эту процедурку вызываешь регламентным заданием по расписанию.
|
|||
6
Garykom
гуру
29.08.17
✎
13:48
|
(5) Причем вот этот "процесс допиливания с добавлением процедурки" можно вполне автоматизировать
|
|||
7
ptiz
29.08.17
✎
13:50
|
(0) "не пилить каждый отчет под это глобально" - для этого отчеты должны быть сделаны одинаково и допускать возможность формирования "извне".
|
|||
8
pavlo
29.08.17
✎
14:01
|
(7) в той или иной степени они одинаковы форма универсально формируется - меняется только СКД запрос, почти везде так удалось сделать.
(5) сейчас все отчеты уходят в фон с котиками блин. И потом процедура формирования то на сервере, вопрос настроек которые может любые задавать пользователь на форме :( Всех их в каждом отчете описывать не хотелось бы. |
|||
9
pavlo
29.08.17
✎
14:02
|
(6) поясни плизз по конкретнее о чем речь ;)
|
|||
10
pavlo
29.08.17
✎
14:11
|
Вообще вариантов не мало, именно интересно если идея как более универсально и с меньшими затратами сделать идею.
Если нет, конечно всегда есть варианты перепилить отчеты, или фикс. элементы которые храним или все вместе. А тут не только как задача, но и как академ. интерес реализовать. Думал, но как в 77 (уже писал) это не проканает на клиент-серверном и тут мозг пока шевелить нужно сильнее и придумать какую то более красивую и удобную схему как для разработки в будущем так и для пользователя. |
|||
11
DrShad
29.08.17
✎
14:13
|
есть еще такая вещь как вариант настройки отчета - сохраняй в них нужные отборы и параметры, потом рег заданием исполняй и все
|
|||
12
DrShad
29.08.17
✎
14:14
|
у нас в УТ именно так и пашет сервант всю ночь - несколько отчетов рассылает и кучу регламентных обработок делает
|
|||
13
pavlo
29.08.17
✎
14:15
|
(11) идея очень не плохая, но:
1. Что то не очень пока процесс понятен с ним 2. В большинстве штатно это используется, а еще один отдельный вариант для таких заданий же фиг сделаешь чтобы не мешать с пользовательскими которые нафиг регламенту не нужны? |
|||
14
Garykom
гуру
29.08.17
✎
14:17
|
(9) Разбираешь конфу или внешние обработки на файлы, модифицируешь, собираешь.
Что и как модифицировать можно для каждой обработки описать программным кодом. |
|||
15
pavlo
29.08.17
✎
14:17
|
(11) и варианты разве есть в обработках? :)
|
|||
16
pavlo
29.08.17
✎
14:18
|
(9) есть для 8.3 что то такое как gcomp?
|
|||
17
Garykom
гуру
29.08.17
✎
14:22
|
(14)+ Можно даже сделать некий конструктор модификации для юзеров, чтобы указывали какие параметры из формы обработки/отчета в модификациях процедур/функций использовать.
(16) http://v8.1c.ru/o7/201507xml/index.htm |
|||
18
pavlo
29.08.17
✎
14:24
|
(17) для сборки нужно почитать, вероятно удобно спасибо.
Но точно не для пользователей что-либо собирать :) |
|||
19
Garykom
гуру
29.08.17
✎
14:32
|
(18) Дык для юзеров напиши "конструктор" добавления произвольного отчета "в задания".
Открыли твой конструктор, выбрали файл внешнего отчета/обработки - показалась форма со списком полей и кнопками типа "Сформировать". Выбирают значения полей и указывают какая кнопка отвечает за выполнение - твой конструктор делает нужную функцию/процедуру и вставляет ее. Все отчет модифицирован для автозапуска. |
|||
20
Garykom
гуру
29.08.17
✎
14:35
|
(19)+ По сути функция создается программно с набором входных параметров, затем копируется существующий код "Сформировать", только подмена "ТабДок.Показать();" на "Возврат ТабДок;"
Это если "простые отчеты" без лишних извратов. |
|||
21
pavlo
29.08.17
✎
14:42
|
(19) да все равно формы нет на сервере :(
|
|||
22
Garykom
гуру
29.08.17
✎
14:44
|
(21) Тебе не нужна "форма", тебе же только данные из полей формы, которые юзер навыбирал в форме отчета нуна
|
|||
23
Garykom
гуру
29.08.17
✎
14:46
|
(22)+ чтобы отчет сформировать с входными параметрами-данными
|
|||
24
pavlo
29.08.17
✎
14:48
|
(23) чую я не очень понял ссылку твою тогда :( Как вяжется выгрузка конфы (структуры отчета) в XML и данные выбора пользователем :(
|
|||
25
Garykom
гуру
29.08.17
✎
14:52
|
(24) У тебя есть внешний отчет и ты хочешь его допилить до автозапуска.
Вручную нужен программист, чтобы взять отчет, перепилить код добавив функцию автозапуска, которая на вход принимает параметры (выбираемые юзерами на форме) а на выход дает ТабДок готовый. Ты попробуй эту модификацию провести вручную - а затем банально автоматизируй делание этих модификаций! Выгружаешь внешний отчет в XML, файлы и используя тексты модулей и описания форм производишь модификацию кодом. |
|||
26
Garykom
гуру
29.08.17
✎
14:54
|
пример функции автозапуска
|
|||
27
Garykom
гуру
29.08.17
✎
14:56
|
(26)+ Вот набор параметров (ПериодС, ПериодПО, Организация, Склад) берется из "формы" (указывается пользователем) и сохраняется в значения "система автозапуска" чтобы подставить их перед выполнением по расписанию.
|
|||
28
pavlo
29.08.17
✎
15:15
|
ну тоесть все равно нужно знать все реквизиты которые я хочу сохранить. Пользователь не выберет, есть и часть которые неявно формируются без него, но по результатам его действий на форме.
Потом как то программно выгрузить все в XML, найти функцию и подменить на новую с нужными параметрами? Если так то как то сложно для пользователя. Они должны выбрать на форме то, как бы сейчас нажали сформировать и получили результат. Давать решить пользователям что сохранять и что нет, да еще заранее знать все это, иначе вопросов будет больше чем работать отчет что там и как заполнить и что за реквизиты все эти :) |
|||
29
Garykom
гуру
29.08.17
✎
15:21
|
(28) Знаешь как это звучит?
"У меня кривой код в кривых отчетах, но переписывать их я не буду." ЗЫ Возьми https://ru.wikipedia.org/wiki/AutoIt |
|||
30
Вафель
29.08.17
✎
15:24
|
Проще внедрить подсистему из БСП
|
|||
31
arishkaKlimova
29.08.17
✎
15:31
|
(0) Отчеты можно просто регламентным заданием высылать на почту
|
|||
32
Garykom
гуру
29.08.17
✎
15:32
|
(30) от переписывания отчетов "под БСП" это не спасет
|
|||
33
Вафель
29.08.17
✎
15:33
|
В любом случае их нужно переписывать. Так уж переписывать в нужном ключе
|
|||
34
Garykom
гуру
29.08.17
✎
15:34
|
(33) Угадай что я предложил в (6)?
|
|||
35
ildary
29.08.17
✎
15:35
|
(28) настало время отойти от семерочной привычки постоянного изобретения велосипеда и осваивать типовые механизмы по максимуму.
|
|||
36
pavlo
29.08.17
✎
15:36
|
(29) ну жаль что так это звучит.
Потому как я говорю о универсальности, а не перепись параметров. На форме есть куча параметров для статистики работы отчета (не нужных пользователю), опять же для хранения адреса хранилища, из которого потом на клиенте получаем и показываем - это по сути логика типовой отчасти запускать отчеты в фоне с котиками :) И эти параметры все точно не нужны пользователю и он о них не знает. Не описывать, значит показать все и сказать заполни. Для передачи всех параметров явно (я уже понял не вариантов) придется переписывать не слабо отчеты так, чтобы все через параметры передавалось на сервер, отчасти и так делается, но не все. Но вот параметры собрать хотелось как то умнее и проще. XML что даст, мне же не только при сохранении его нужно будет распарсить и добавить все значения параметров, так еще потом его считать в части параметров на сервере. Но чем оно лучше тогда тем, чтобы просто написать общий модуль с передачей формы, который прошерстит все и сохранит в хранилище какое-либо значений? |
|||
37
pavlo
29.08.17
✎
15:36
|
(28) не заметил типовых удобных механизмов, и уж в 77 это не было велосипедом :)
|
|||
38
pavlo
29.08.17
✎
15:37
|
(31) это понятно
|
|||
39
pavlo
29.08.17
✎
15:38
|
(34) я так понял в тот момент что это как раз разложил отчет дописал что то и собрал в новый как было в 77 в gcomp я так понял :)
|
|||
40
Вафель
29.08.17
✎
15:38
|
ну раз так, то: пилите Шура, пилите... свой механизм
|
|||
41
pavlo
29.08.17
✎
15:39
|
(32) выдергивать всю подсистему БСП и внедрять это просто ад и имхо не вариант. Овчинка выделки не стоит имхо.
|
|||
42
pavlo
29.08.17
✎
15:40
|
(40) А зачем крестить бульдога с носорогом, только потому что в одном есть что то большое, чего нет в другом? :)
|
|||
43
pavlo
29.08.17
✎
15:40
|
(40) просто это не тривиальная задача такого скрещивания.
|
|||
44
ildary
29.08.17
✎
15:44
|
(37) в 7.7 нет никакого механизма удобного руления всеми настройками отчета снаружи и выгрузки результатов куда хошь и во сколько хошь и с любой регулярностью. Я сам в свое время навертел подобные механизмы, но после знакомства с платформенными механизмами восьмерки я смотреть на собственные колхозы не могу.
(43) значит задействовать готовые механизмы и наработанные практики отказываемся? И где тут экономия сил и удобство? |
|||
45
Мыш
29.08.17
✎
15:44
|
(41) Обычно такое слышишь от пользователей: "Мы так привыкли"
|
|||
46
pavlo
29.08.17
✎
15:48
|
(44) ну какие колхозы, у меня универсально на 77 вся форма сохраняется и восстанавливается у задания и все формируется, очень удобно. Но дело не в этом, да в 8 уже не получится так мыслить ибо полноценный клиент-сервер и нет формы на сервере, а само собой держать сеанс 1с это бред.
Не вижу пока каких-то крутых штатных механизмов, чтобы сказать вот колхоз был :) Ну не ради флейма, а реально не вижу именно удобного. Наработанные практики займут времени просто огромное чтобы перенести в эту конфу уж поверьте, было бы это скопировал, малость подвинтил и вуаля, а так какая тут экономия сил то? |
|||
47
Garykom
гуру
29.08.17
✎
15:49
|
(36) А вот как это реализовать на практике уже твое дело, смотря сколько там отчетов надо переписывать и какие они.
Теоретически можно и с формами в клиенте работать (да будет изврат с запуском клиента на сервере). Изучи http://catalog.mista.ru/public/304736/ - можно обойтись только простым автоматическим добавлением одинакового кода в каждую форму внешнего отчета/обработки "при открытии". А далее как в 1С неким роботом открывать формы и юзать, как ловить ТабДок уже сам. И еще http://catalog.mista.ru/public/625467/ тоже для общего развития. |
|||
48
Garykom
гуру
29.08.17
✎
15:49
|
(47) *А далее как в 1С77 с формексом...
|
|||
49
pavlo
29.08.17
✎
15:50
|
(45) вообще ни к чему это сказали. Я не говорил что привыкли и ниграмм нигде не писал, что хочу как в 77 :)
Моя задача сделать чтобы было удобно остальным потом отчеты добавлять и главное пользователям, а не как там задумано фирмой 1с к примеру. Главное у нас пользователи и важно удобство. Такая работа. ;) |
|||
50
pavlo
29.08.17
✎
15:52
|
(47) добавлять ок, а как ты роботом формы открывать собрался на сервере? :)
|
|||
51
Garykom
гуру
29.08.17
✎
15:52
|
(50) в данном случае "сервер" подразумеваю windows/linux а не 1С
|
|||
52
pavlo
29.08.17
✎
15:54
|
(48) я не говорил что сложно что то доработать, я сразу писал что немного доработать все 15 отчетов придется и это понятно.
Другое дело когда их кардинально нужно перепилить :) В части того, чтобы все выполнить в модули объекта к примеру скорее всего сделаю везде и буду вызывать с сервака. Но осталось как то удобно пользователю и прозрачно мне и остальным после меня доабвлять возможность передать и сохранить настройки ;) |
|||
53
pavlo
29.08.17
✎
15:55
|
(51) ну и как ты на сервере ОС хочешь запускать? отдельным экземпляром предприятия? если так то это вообще изврат :)
или сори я не понял тебя |
|||
54
Garykom
гуру
29.08.17
✎
15:56
|
(52) 15 отчетов это пару дней слегка допилить их, даже смешно ))
Короче перепили один отчет с переносом всего кода "формирования отчета" на "&НаСервере" и сделай под него автозапуск. Далее потихоньку остальные отчеты перепилишь. |
|||
55
Garykom
гуру
29.08.17
✎
15:56
|
(53) А как ты 1С77 запускал, разве не отдельным экземпляром?
|
|||
56
pavlo
29.08.17
✎
15:59
|
(54) да не вопрос, конечно немного допилить не вопрос вообще. Я не говорил что сложно ;)
Формирование там и так на сервере, просто в модуле формы. Вопрос параметров ;) |
|||
57
pavlo
29.08.17
✎
16:01
|
(55) отдельным, но нафига мне юзать в клиент-серверном приложении то, что было в приложении которое это не умеет.
p.s. Более того никто не даст такого делать в компании и БСП не поставишь безопасники добро не дадут, ни скачать (у нас все запрещено) ни установить без дикого согласования чего либо из вне :) Так что все только своими руками :) |
|||
58
pavlo
29.08.17
✎
16:04
|
Ладно, спасибо, я понял что просто не сохранить все параметры без изобретения велосипеда. Я думал что то типа Форма.СохранитьВПараметры() хотя сам понимал что врядли слишком сложная структура.
Вероятно придется выдумывать с нуля как и во что собирать все возможные реквизиты на форме и в объекте, чтобы потом это использовать на сервере. |
|||
59
Мыш
29.08.17
✎
16:41
|
(58) Изобретателям велосипедов поём мы славу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |