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

Просмотр отчетов по обработке данных онлайн

Просмотр отчетов по обработке данных онлайн
Я
   lxs
 
23.04.19 - 22:55
Коллеги, приветствую.

Возникла идея получать отчеты о выполнении длительных операций через web. Суть в следующем.
Есть куча обработок, которые грузят данные из внешних источников. В процедуру загрузки встраиваем код записи информации по загрузке в какой-нибудь файл html. А файл этот кидаем в каталог публикации базы.
Соответственно потом читаем его в браузере по адресу публикации базы, например server.ru/db/reports/dataupload.html

Вопрос в том, как правильно настроить на IIS каталог отчетов на просмотр.
Пока получаю HTTP: Not found Ошибка при выполнении запроса GET к ресурсу /reports/proc.html

/reports - виртуальный каталог, добавил на iis вручную

Реально ли так сделать вообще? И, если реально, в чем мой косяк?
 
 
   Garykom
 
1 - 23.04.19 - 23:00
(0) Ты сразу лучше сделай.

Берешь базу mysql (к ней можно из 1С http://catalog.mista.ru/public/612354/)
Далее https://www.tutorialrepublic.com/php-tutorial/php-mysql-crud-application.php

1С пишет в базу, веб-сервер отображает данные из базы на страничке.
   lxs
 
2 - 23.04.19 - 23:01
(1) Плять, точно! Чо я сразу не подумал. Спасибо!
   Garykom
 
3 - 23.04.19 - 23:02
(1)+ базу можно любую, какой пример найдешь.
Для mysql есть готовый phpmyadmin который умеет что угодно почти с базой делать.

Т.е. очень удобно что таблички для новых отчетов можно удаленно через браузер
   lxs
 
4 - 23.04.19 - 23:05
(3) Отл! Премного благодарен. Не пришлось изобретать велосипед.
   DGorgoN
 
5 - 23.04.19 - 23:57
я вообще очень проще сделал, просто через фтп на внешний сервер сделал переадресацию и туда логи скидываю в текстовый файл, смс информирование ну и еще много чего - бот допустим в телеграме. Нафига этот секес с му скл?
   DGorgoN
 
6 - 23.04.19 - 23:59
по адресу публикации базы, например server.ru/db/reports/dataupload.html 
А не проще ли стандартными средствами веб морду запилить? Ну это ж 2 минуты то.
   Garykom
 
7 - 24.04.19 - 00:10
(6) Та как понял вебморда есть, но смысл от нее ему свои логи нужны или нечто вроде куда длительные операции писать будут, возможно фоновые и по расписанию.

Тут как раз бд очень удобно, что можно как угодно и сколько угодно логов навертеть и на стандартной страничке их показывать.
Не зря же 1С вместо текстового лога в базу пишет sqlite журнал регистрации
   Garykom
 
8 - 24.04.19 - 00:12
(7)+ Кстати пытался найти веб-браузер для sqlite и не нашел нифига, по типу phpMyAdmin или phpPgAdmin.
Хорошо бы некто наваял уже, удобно бы было.
   Garykom
 
9 - 24.04.19 - 00:13
(8) Блин я плохо искал https://www.phpliteadmin.org
   Aleksey
 
10 - 24.04.19 - 00:15
(8) phpSQLiteAdmin?
 
 Рекламное место пустует
   Garykom
 
11 - 24.04.19 - 00:16
(10) Я точно плохо искал еще один оказывается есть
   Garykom
 
12 - 24.04.19 - 00:18
А случайно CRUD'а по типу REST|ODATA для sqlite и для mysql(mariadb) нет?

Я только для postgres знаю готовый rest из коробки.
   DGorgoN
 
13 - 24.04.19 - 00:21
(7) Лог можно навертеть на регистре сведений а показывать по ссылке по запросу либо тонкой формой либо хттп сервисом по ссылке генерировать, можно с параметрами. Это делать можно очень быстро.
   Garykom
 
14 - 24.04.19 - 00:24
(13) Для внешней обработки вертеть РС? Нафуй-нафуй
   Garykom
 
15 - 24.04.19 - 00:25
Имхо если нечто можно вынести наружу из 1С - это лучше вынести наружу и сделать независимым от версии и базы/конфы 1С.
Тут в одну внешнюю базу можно сразу с разных баз 1С писать и в одном месте или разных местах читать.
   Garykom
 
16 - 24.04.19 - 00:27
Кста спасибо за идею что навели на мысль для легкого развития функционала сервиса.

Я же делаю 1cvpn.ru, запишу в планы сервис логов для баз 1С, типа готовый некий удобный для 1С api.
Можно нечто писать и затем через браузер или другими 1С смотреть.
   Garykom
 
17 - 24.04.19 - 00:29
(16)+ Ну и в будущем легко меняться документами между разными базами через инет.
Достаточно указать некий идентификатор получателя и отправить файл, получатель получит его во входящем видя от кого.

Тот же электронный документооборот или аля ЭДО для бедных.
   DGorgoN
 
18 - 24.04.19 - 00:34
(17) Угу, а шифрование хоть будет? А то пойдут все твои документы по всему рунету )
   Garykom
 
19 - 24.04.19 - 00:37
(18) В будущем можно КЭП прикрутить из 1С.

Пока у меня прикольно все, обработку для 1С скачали, имя домена выбрали незанятое, запустили и она ставит апач, настраивает vpn до моего сервера, публикует базу на апаче и подключает настроенный в windows vpn.

Далее http://test.1cvpn.ru/
   Garykom
 
20 - 24.04.19 - 00:39
(19)+ Это будет бесплатный функционал.

Платный включает свои несколько учеток vpn между которыми можно работать с базами и еще чем то обмениваться.
Да банально удаленка по VNC встроенному без белых ip.
   DGorgoN
 
21 - 24.04.19 - 00:41
(20) Тупой вопрос не по теме, а ты vpn как сделал что бы он постоянно работал и допустим в терминале тоже, openvpn?
   Garykom
 
22 - 24.04.19 - 00:43
(21) Не понял?
   DGorgoN
 
23 - 24.04.19 - 00:43
Все технически просто кроме vpn. Видновый допустим на rdp сервере рвет соединение каждый раз при логоне rdp сессии или у меня что то не то с математикой было. Приходилось опен впн ставить либо брать самый плюшевый кинетик и его настраивать. Далее всё как у тебя.
Но только зачем?
Публикация базы для бедных или у кого нет белого ip?
   DGorgoN
 
24 - 24.04.19 - 00:45
Мне так приходилось делать потому что белого ip тупо не было и связь была 4G либо воздушный канал с постоянными перебоями и проч.
   Garykom
 
25 - 24.04.19 - 00:45
(23) Ну да для бедных и без белого ip.

Для rdp серверов это не предназначено если не админ настраивает, а он сам может настроить.
Пока я больше на файловые ориентируюсь и не продвинутых пользователей, кому нужна удаленка или совместная работа.
   Garykom
 
26 - 24.04.19 - 00:46
(24) Да я несколько вручную таких каналов уже настроил для разных клиентов и решил задолбало вручную, пора автоматизировать и пусть сами кнопку "сделать все" жмут.
   Garykom
 
27 - 24.04.19 - 00:47
(26)+ Через железки самое надежное, но если их нет или не умеют то и vpn хватает в винде.
Потом в планах своя реализация vpn на чем то в виде ВК или отдельной проги-клиента.
   DGorgoN
 
28 - 24.04.19 - 00:51
(27) Лучше уж тогда 2 виндовых сервиса с перезапуском друг друга. Реализуется просто и можно с помощью той же обработки. Но вообще мы уже слишком далеко от темы ТС ушли.
   DGorgoN
 
29 - 24.04.19 - 00:53
И так вообще сразу тогда смотри в сторону open vpn. На несерверных окнах при логоне логофе рвется vpn.
   Конструктор1С
 
31 - 24.04.19 - 04:03
И зачем нужно заморачиваться веб-мордами? По стандартам длительные операции (более 5-8 секунд), должны выполняться в фоне. В составе БСП для фонового выполнения используется функционал общих модулей ДлительныеОперации, там же есть функции, позволяющие сообщить пользователю прогресс выполнения.
   Garykom
 
32 - 24.04.19 - 09:54
(31) А пользователь другого сеанса или внешний это может узнать про прогресс выполнения и ошибки в процессе?
   lxs
 
33 - 25.04.19 - 15:50
Коллеги

почему вот такой код:

                    $sql = "SELECT * FROM procinfo";
                    if($result = mysqli_query($link, $sql)){
            if(mysqli_num_rows($result)>0){
                            echo "<table class='table table-bordered table-striped'>";


может не отрабатывать и выдавать на странице 

0){ echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "";

То есть mysqli_num_rows($result) не работает.

Подключение в config.php вроде прописал корректное

<?php
/* Database credentials. Assuming you are running MySQL server with default setting (user 'root' with no password) */
define('DB_SERVER', '127.0.0.1');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '1');
define('DB_NAME', 'reports');
 
/* Attempt to connect to MySQL database */
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
 
// Check connection

if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
 
 
   Garykom
 
34 - 25.04.19 - 15:55
Создай другого юзера в mysql и правильно пропиши ему user@localhost и user@127.0.0.1
   Garykom
 
35 - 25.04.19 - 15:58
Хотя если коннект проходит то странно.
А точно записи есть в procinfo ? Вручную запрос отрабатывает?
   lxs
 
36 - 25.04.19 - 16:06
(34) я вот этого ничего не прописывал, настройки все базовые.
(35) я хз, отрабатывает подключение в скриптах или нет.
запрос отрабатывает в консоли mysql
   lxs
 
37 - 25.04.19 - 16:07
Базу создавал в консоли, может на нее прав нет.
в PHP не силен, поэтому мог не сделать чего-то
   lxs
 
38 - 25.04.19 - 16:51
Сделал

grant all privileges on reports.* to 'root'@'localhost';

Не помогло.
   Конструктор1С
 
39 - 26.04.19 - 03:01
(32) если где-то хранить идентификатор задания, то сможет


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