2006年7月22日土曜日

新たな悩みどころ

紆余曲折あって、伝票形式コントロールは某G社のコントロールに決まった。最後まで争っていたのは、海外物ながらXtraGrid。はっきり言って、機能的にも強力なのとコンポーネントのソース付き(すべてC#で作成したコンポーネントだからこんな芸当ができるんだよなぁ)というのが、個人的にはものすごく魅力だったのよねぇ。

まぁ、ネックとなったのは日本語の資料がないこと。会社としてはこれはきっついんだよな。自分一人、または同じチームだけと考えるとXtraGridで行けるんだけど、その他の人を考えるとね・・・。

しかし今の悩みは別で、今月で新人教育は一段落させなければならないんだが、来月は今自分たちがやっている案件で使って行かなくてはならないのよ。正直、新人に出せる仕事はまだない・・・まだ画面設計してユーザーと打ち合わせしている段階だぞ?何を出せると言うのかっっっ。こういうときはどうすればいいのかなぁ・・・誰か知恵を求む。

2006年7月17日月曜日

伝票形式のコントロール

挫折中・・・。まとまった時間(1ヶ月ほど?)がとれれば、勢いで作ってしまいたいところなんだよなぁ。できるかどうかは非常に微妙だけどねぇ。

正直、今の某G社のコンポーネントはできるかぎり避けたい。某ARは多分利用しないでも何とかなりそう、というかする。でもネックは伝票形式のUIなんだよねぇ。これだけはかなりユーザー側の希望も高い場面が多々あるんだよなぁ。
そこで一時期はDataGridViewをベースになんとか作成できんのか?と色々試してはみたけれど、「セルベースのコンポーネント」である以上、どっかで面倒な問題が発生するんだよねぇ。セルベースで、うまいこと伝票形式を実現しようと考えたら、RowTemplateの内部で更にRowとColumnを所持する形式、簡単に言うとグループ情報かな?、を持てるようにしてしまえばなんとかセルベースでも実現できるんじゃないのかなぁ、とは考えているんだけど・・・。そこまで拡張する腕がないのが泣き所。

色々と調べる時間が欲しい今日この頃。データベースの設計もやらなければならないのは分かってるんだけど・・・。いやぁ、真面目に影分身でもコピーロボットでも何でもいいから欲しいなぁ(w

2006年7月14日金曜日

ReportViewer一区切り

個人的にしばらく悩んでいたReportViewerを利用しての印刷が何とか解決したっぽい。プレビューとプレビューからの印刷は問題がなかったので、確実に印刷メソッド周りで実装がミスっているんだなぁ、と思って調査していたんだよねぇ。

分かってみればやっぱり簡単な話で。

PageSettings.PaperSizeプロパティ以下の各プロパティを設定しても、実際の印刷については影響がないってのが原因だったのよねぇ。しかしPaperSize.Heightとかも不思議な動きで、変更できないならReadOnlyにしてしまうか、例外でも発生させてくれればいいのに・・・と思ってみたりしたけど、結局は自分が動作を理解していなかったという事なんだよな。

まぁとりあえず一つはOK。次は数値入力関係かな・・・厳密にキー制御しようとすると、結構面倒なんだなぁ。

2006年7月8日土曜日

インターフェースのデザインって

今週に入ってGUI周りのデザインを開始。しっかし元々苦手分野ということもあって、ものすごく悩みまくり。なんちゅーか、「使いやすいデザイン」というのがみじんも思い浮かばなかったりする。

正直オフコン時代の思想をそのまま使ってもいいとは思うんだが、今回のお客さんは多分そういう「今までと変わらないもの」というのが気に入らないタイプなんだよなぁ。

極端でも「キーボードを使わない」デザインってのを考えてみるかなぁ・・・。

2006年7月1日土曜日

データクラスのフレームワーク

HibernateとかSpringとか色々なデータ周りのフレームワークを参考にしつつ、自分なりのフレームワークを改良し続けているわけだけど、ここのところかなり停滞気味。

なんというかテーブル間のJOINをどう扱おうかってところで現在混乱中。VB6時代に作っていたのは、SQL文を生成するだけなクラスだったからオブジェクトの属性なんて何も考えなくて済んでいたのよね。テーブル間のリレーションが属性として設定できるようにしていただけで。
んでも、今回はデータクラスとして、というのがスタートラインだったから「リレーションを考える前にある程度形にしてしまった」のよ。今にして思えばこれがマズかった。これだとO/Rマッピングが大変な事になってしまうんだよねぇ。

Ado.netだとテーブルリレーション関連のクラスが色々あるみたいだから、そっちも構造を参考にしてみようかな・・・

2006年6月25日日曜日

Office2007

この間セミナーというか説明会に行ってきたんだが、Officeも2007になってかなり「使ってみたい」ソリューションになっているなぁ、という感じがする。

特に今までは単品単品での使い方しか考えていなかったんだけど、今回はShareServerやFormsServerなど連携して使ってみたくなるんだよねぇ。個人的には承認ワークフロー周りの機能を用意してくれている部分かな。

とりあえずベータ2で試してみる事にしようかと思ってみた。

2006年6月21日水曜日

ReportViewerもうちょっと

WinFormでReportViewerコントロール利用してプレビューを表示していて気づいたんだけど、プレビュー画面が表示されただけでは、物理ページ数でページコントロールが更新されていないのよねぇ。

手作業でページスクロールかページ指定するとはじめて更新されるのよ。PDFエクスポートというもう少しなんだよねぇ。まぁPDF周りは独自で拡張できるみたいだけど、ページだけは継承して拡張しようとか、インターフェースも用意されていないとかでいかんともしがたいのよ。

WebForm版は問題ないくせになぁ・・・。

2006年6月15日木曜日

VB6の頃に比べて思うこと

継承できるってなんてスバラシイ!、というのが一番思うトコだろうか。VB6でなんちゃってOOP形式なプログラムを作っていた身としては、普通に継承できるっていうことだけでもかなり感動なんだよねぇ。

でも、OOPなやり方を見たこともやったことない人にしてみると、これがそうでもない。まぁ、自分も体感するまでに数年かかっているから気持ちは分かる。

でも「そんなレベルで社内標準とかを語る」のはやめてくれ。マジで。おいらが何も言っていないのは、それでいいと思っている訳じゃなくて、「あなたに理解してもらうのが面倒だから」なんだよ・・・。

2006年6月11日日曜日

割り切り

今回のシステムでは帳票関係としてエクセルへの出力が必須となっていたり。まぁ理由も簡単で、レイアウトの微調整などが発生しやすいから、なんだよねぇ。そこのお客さんでは、今まで利用していたシステムではプレビューがなかったり(!)、外部出力がcsvだけだったりしていたそうなので、独自にエクセルシートを作成してデータ貼り付けて色々ドキュメントを作っていたそうだ。

ま、こういうふうにシステムのデータを加工してやってくれる風土があるってのが個人的には嬉しいんだよねぇ。システムを上手に活用する方法を考えてくれるから。なもんで、今まで自分が関わったシステムではできるだけ、データとして出力できるような仕組みはシステムとして用意していたんだよね。利用されるシーンはまだそんな多くはないのが難点だけど・・・。

んでもってさすがに帳票ツール決めていないのは問題なので、もう自分の中では決めてしまうことにした。今回はエクセルとReportViewerの2本で行こうかな、と。
費用云々な話もあるけど、ReportViewerってその後の展開を考えたときにも、結構他ベンダーの製品より有利にはたらきそうなポイントがあったりするのでねぇ。自分の中ではActiveReportよりも色々いけそうな気がしてならないしなぁ。

まぁ、腹を決めた以上はやいところ今回の仕事用ライブラリ作っていかないとねぇ。ReportViewerは用意してあるけど、エクセル関連って何もやってないから結構急がないとね・・・。しかしそうなると今回のOffice2007で大きい変更がないことを祈るよ。

2006年6月4日日曜日

XML Formatter

現在帳票系のソリューションとして評価中。元々自分の中ではXMLを主体としてシステムを構築してみたいという気持ちがあったので、できれば導入したいと考えてはいるんだけど。C/S系システムで効果的に利用するには、どうしてやればいいかねぇ。

最も効果的に利用できるのはweb系なんだろうけど、今回のお仕事はCSなのでそういった選択はナシなのよ。

自分として最も望ましいのはこんなソリューション。

・帳票デザインの為にかける時間が少なくてすむ(直感的にデザインできる)
・用紙に対する制御が豊富(ストックホームや伝票系も楽にデザインできる)
・プレビュー画面などはこちら側で継承することによってカスタマイズが可能

後は変更に対して強いとかもあるけど、これは帳票側というよりはシステム側だろうしねぇ。ちなみにXMLFormatterを評価していて、一番どうしようかと考えているのは、PDFありきな点かな。なんとかイメージデータとしてCS間でやりとりできないものかなぁ。詳しく見ていないからなんとも言えないけど、今の知識だとPDF生成→ローカルコピー→Reader起動という流れになりそう。なんつーか、しっくりこない。予算的に余裕があれば、クライアントすべてにFormatter導入とかでいいんだろうけどねぇ。それもなんだかなぁ。そんな環境構築を面倒にすることはやりたくないしね。今回はシステムメニューをClickOnceで配布してそれ以外はメニュー内部で更新制御を行うつもりだから出来るだけ楽をしたいのよねぇ。

将来のためにもどうにか使ってみたいんだけど・・・もう少し時間が欲しいね。