Имя: Пароль:
1C
1С v8
Просмотр отчетов по обработке данных онлайн
,
0 lxs
 
23.04.19
22:55
Коллеги, приветствую.

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

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

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

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

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

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

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

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

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

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

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

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

Для rdp серверов это не предназначено если не админ настраивает, а он сам может настроить.
Пока я больше на файловые ориентируюсь и не продвинутых пользователей, кому нужна удаленка или совместная работа.
26 Garykom
 
гуру
24.04.19
00:46
(24) Да я несколько вручную таких каналов уже настроил для разных клиентов и решил задолбало вручную, пора автоматизировать и пусть сами кнопку "сделать все" жмут.
27 Garykom
 
гуру
24.04.19
00:47
(26)+ Через железки самое надежное, но если их нет или не умеют то и vpn хватает в винде.
Потом в планах своя реализация vpn на чем то в виде ВК или отдельной проги-клиента.
28 DGorgoN
 
24.04.19
00:51
(27) Лучше уж тогда 2 виндовых сервиса с перезапуском друг друга. Реализуется просто и можно с помощью той же обработки. Но вообще мы уже слишком далеко от темы ТС ушли.
29 DGorgoN
 
24.04.19
00:53
И так вообще сразу тогда смотри в сторону open vpn. На несерверных окнах при логоне логофе рвется vpn.
31 Конструктор1С
 
24.04.19
04:03
И зачем нужно заморачиваться веб-мордами? По стандартам длительные операции (более 5-8 секунд), должны выполняться в фоне. В составе БСП для фонового выполнения используется функционал общих модулей ДлительныеОперации, там же есть функции, позволяющие сообщить пользователю прогресс выполнения.
32 Garykom
 
гуру
24.04.19
09:54
(31) А пользователь другого сеанса или внешний это может узнать про прогресс выполнения и ошибки в процессе?
33 lxs
 
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());
}
?>
34 Garykom
 
гуру
25.04.19
15:55
Создай другого юзера в mysql и правильно пропиши ему user@localhost и [email protected]
35 Garykom
 
гуру
25.04.19
15:58
Хотя если коннект проходит то странно.
А точно записи есть в procinfo ? Вручную запрос отрабатывает?
36 lxs
 
25.04.19
16:06
(34) я вот этого ничего не прописывал, настройки все базовые.
(35) я хз, отрабатывает подключение в скриптах или нет.
запрос отрабатывает в консоли mysql
37 lxs
 
25.04.19
16:07
Базу создавал в консоли, может на нее прав нет.
в PHP не силен, поэтому мог не сделать чего-то
38 lxs
 
25.04.19
16:51
Сделал

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

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