今時のWEBシステムがヘタレすぎる

俺のクライアントにこのWEBシステムを使ってリース会社に請求しているところがある。

このWEBシステム自体にかなり問題があって、まず、遅い!遅すぎる!

それと、印刷に対して一切考慮してない事があって、クライアントから連絡をもらって、駆けつけたときに「印刷したいけど、このリストが表示さてている分しか印刷されなくて、リストが長いと、何回もスクロールさせて何枚も印刷しないといけなくて面倒なんでなんとかしてくれ」と言う相談だ。

当然、普通のシステム屋は、当方で提供しているシステムではないので、提供元に連絡をしてくれと断るだろうが、そうはいかないし、そう言う仕事は俺は嫌いだ。

で、方法はいくつかあって、この状態でCSSを適用させて当該リストを縦に長くしてしまう方法で、開発者モードを使って、中身のソースに直接編集して拡げてやるしかない。

その際、IDやCLASSを振っているものと思って、中身をみたのだが、これがべた書きのHTMLになっていて、当該タグを直接編集する方法しか無く、それをマニュアル化して不細工な印刷にはなるのだが、目的を果たすことは出来た。

そのまま印刷すると、単にブラウザの印刷機能を使っているだけなので、左の様になって使い物にならない。

大手のリース会社のシステムとしては、ちょっといただけないではないのだろうか。

当然、技術問いあわせ辺りに電話してみたが、埒があきそうも無いので、もしシステム構築でわからない事があれば連絡してくれれば対応若しくはアドバイスしますよと嫌みな連絡をするしかなかった。

それと、他にも一覧が欲しいとの事で、その画面も全部、似たようなフォームになっていて、長いリストは全て一回で印刷する事は出来ない仕様になっている。

所が、他のリストは辛うじてCSVダウンロードが出来る様になっていたので、CSVダウンロードしたデータを取り込んで印刷すれば良かったので、俺がCSVデータの印刷プログラムを新たに追加して事なきを得た。

その際、CSVデータも全く考えられておらず、まず、改行コードがLFのままでファイルのエンコードもUTF-8なのだ。

VB6でUTF-8をSHIFT-JISに変換するのはとっても簡単で、UTF-8を読み込んで、テキストとして書き出せばSHIFT-JISで保存してくれる。

これは、VB6でファイルを変換するプロシージャだ。

'UTF8のファイルをSJISに変換する
Public Function UTF8_SJIS(F As String) As String
    Dim iFile As String
    Dim oFile As String
    Dim csv As String 'CSVを読み書きする文字列変数
    Dim csv1 As String 'CSVを読み書きする文字列変数
    Dim csv2 As String 'CSVを読み書きする文字列変数
    Dim nF As String
    
    On Error GoTo err
    
    nF = Replace(F, ".csv", "_SJIS.csv")
    
    iFile = F 'UTF-8の読み込むファイル名
    oFile = nF 'Shift-JISで書き出すファイル名
    '
    'UTF-8を読み込む(***のエンコードがUTF8なので)
    With CreateObject("ADODB.Stream")
        .Charset = "UTF-8"
        .Open
        .LoadFromFile iFile
        '***のCSVデータがLFなのでCRLFに変換
        csv1 = Replace(.ReadText, vbLf, vbCrLf) '改行コード変換
        csv2 = Replace(csv1, Chr(34), "") 'ダブルコーテーションも消してしまう
        csv = Replace(csv2, " ", " ") '全角スペースを半角に変換
        .Close
    End With
    'テキストファイルで書き出す(普通にShift-JISになる)
    With CreateObject("Scripting.FileSystemObject").CreateTextFile(oFile, True)
        .Write csv
        .Close
    End With
    UTF8_SJIS = nF
    Exit Function
err:
    MsgBox "ファイルの選択が間違っているので確認して下さい。", vbOKOnly + vbInformation
    UTF8_SJIS = "err"

End Function

改行コードはファイルを読み取った後、一気にReplaceで変換してやって、その他必要な変換をして最後に書き出して、書き出したファイルの保存場所を返す関数を作って見た。

このプロシージャにUTF-8以外のファイルを設定してしまうとエラーになるので、その処理も追加しておかないと、クライアントは何をするか解らないのでいちいち呼び出されないようにエラー処理も重要だ。

これで、フォームに配置したグリッドに貼り付けて、次に印刷させれば、好きな項目をフォーマットかけて印刷させられるので、問題は解消される。

WEBシステムを構築する際、印刷に関わる部分は結構面倒なのは知っているので、そこはスキルの問題だが、リカバリーする為にもせめてCSVダウンロード機能ぐらい付けてくれれば、こちらで何とか出来るのだが、最初の画面のデータをCSVダウンロードできる様に依頼してはいるのだが、普通に考えれば、おそらく3つのファイルになるはずだが、クエリーを組んでいるだろうから、これを1つのファイルにしてダウンロードできる様にしてくれれば俺はかなり楽になるのだが、このシステムを作ったところでは無理だろうなぁ...

それにしても、最近のWEBシステムは全くエンドユーザの操作性や求めている事を無視しているとしか思えない。

当然、これは自動車関係、整備工場の従業員が使うシステムで、パソコン操作に長けていると思わずに、誰にでも優しいシステムを組む必要があるのではないかと思うのだ。

それに文字が小さいのも問題で、俺もこの歳になって14ポイント以下の文字は小さいと感じる様になって14ポイント基準で提供する様にしている位で、ユーザへの配慮に欠けたシステムを見ると、つい虫ずが走ってしまい、他のシステム屋と上手くやれず、いまだに一人孤立している...