Friday, November 4, 2011

Ngeblog

28 Oktober kemarin adalah hari blog Indonesia. Dimulai tahun 2007, euforia ngeblog benar-benar luar biasa. Saya termasuk yang kecanduan ngeblog. Orang berinteraksi, berteman lewat blog. Tapi lama-kelamaan, trennya bergeser. Dari ngeblog, jadi nge'efbi dan ngetwit. Dan mulai berkurang orang yang bersosial lewat blog. Dan saat ini, blog yang hidup adalah blog yang benar-benar ingin berbagi ilmu, informasi dan sesuatu yang bermanfaat bagi orang lain.

Mengenang soal ngeblog dan apa itu ngeblog, saya membuat beberapa tautan yang berisi tentang ngeblog. Silahkan dinikmati (kalau suka, he he... )

Mari Berbagi Lewat Ngeblog

Ngeblog Yuk...

Buah Berbagi Ilmu

Ngeblog, Aktifitas Yang Saling Menguntungkan

Blog Adalah Racun

35 Tanda-tanda Kecanduan Blog (oleh Budi Putra)

Wednesday, November 2, 2011

SQL SERVER 2005 Bingung Menentukan Angka atau Huruf

Ada mekanisme di SQL SERVER 2005 untuk memparsing where condition yang 'aneh'. Saya punya data dan ada satu kolom dengan tipe data varchar(10), tapi ketika dibuat query dan filternya dibuat tanpa tanda kutip:

select * from kasir_detail where string1 = 2250

Keluar error seolah-olah filternya itu adalah integer:

Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value 'CY' to data type int.

Error ini muncul karena di kolom string1 mengandung angka dan huruf. Tapi kalau filternya saya beri tanda kutip:

select * from kasir_detail where string1 = '2250'

Tidak muncul error.

Hmmm...

Tuesday, November 1, 2011

Tampilan Baru GMAIL

Tampilan GMAIL sekarang berubah. Lebih sederhana, serba putih dan terintegrasi dengan Google+.

Kalau lihat gambar dibawah, foto profil saya sudah muncul.

gmail new look

Keren...

Monday, October 31, 2011

[NAVISION] Item Card dengan Banyak Foto

Di NAV, kekurangan Item Card adalah tidak bisa menyimpan foto item lebih dari satu. Kebutuhan ini biasanya diperlukan untuk barang sparepart yang perlu foto dari beberapa sudut. Untuk mengakalinya, bisa digunakan aplikasi tambahan berupa aplikasi web yang contoh programnya akan saya tunjukan.
Pada Item Card, buat control dan beri nama Photo.
control photo
Lalu beri script berikut :

  1: 
  2: HYPERLINK('http://10.10.10.14/itempic/Default.aspx?itemno=' + "No.");
  3: 

--


Kemudian, kita buat solution di .NET. Kali ini saya menggunakan Visual studio 2005 dengan basprog C#. Lalu berikut contoh scriptnya :
Default.aspx:

  1: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2: 
  3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4: 
  5: <html xmlns="http://www.w3.org/1999/xhtml" >
  6: <head runat="server">
  7:     <title>Item Picture</title>
  8: </head>
  9: <body>
 10: 
 11:     <form id="form1" runat="server">
 12:     <div title="Item Picture">
 13:     <table>
 14:     <tr>
 15:     <td>
 16:         <span style="font-family: Tahoma">Item No : </span>
 17:     </td>
 18:     <td>
 19:         &nbsp;<asp:TextBox ID="TextBox1" runat="server" BorderStyle="None" Font-Names="Tahoma"></asp:TextBox></td>
 20:     </tr>
 21:      <tr>
 22:     <td>
 23:         <span style="font-family: Tahoma">
 24:     Item Name : </span>
 25:     </td>
 26:     <td>
 27:         &nbsp;<asp:TextBox ID="TextBox2" runat="server" BorderStyle="None" Font-Names="Tahoma"></asp:TextBox></td>
 28:     </tr>
 29:      <tr>
 30:     <td>
 31:         <span style="font-family: Tahoma">
 32:     Part No : </span>
 33:     </td>
 34:     <td>
 35:         &nbsp;<asp:TextBox ID="TextBox3" runat="server" BorderStyle="None" Font-Names="Tahoma"></asp:TextBox></td>
 36:     </tr>
 37:     </table>
 38:         <br />
 39:     
 40:         <table border="0" cellpadding="3" cellspacing="1" >
 41:         <tr>
 42:             <td bgcolor="#66ffff">
 43:                 <asp:Label ID="Label4" runat="server" Text="Upload foto :" Font-Names="Tahoma"></asp:Label></td>
 44:             <td bgcolor="#66ffff" colspan="3"><INPUT id="filUpload"  type="file" name="filUpload" runat="server">
 45:       <asp:Button id="btnUpload"  runat="server" Text="Upload" OnClick="btnUpload_Click" ></asp:Button>
 46:                 </td>
 47:         </tr>
 48:         <tr><td></td><td>
 49:             &nbsp;<asp:Label id="lblOutput" runat="server" Width="240px" Font-Names="Tahoma"></asp:Label></td></tr>
 50:         </table>
 51:     <table style="font-family: Tahoma">
 52:     <tr>
 53:     <td>Foto 1 :</td>
 54:     </tr>
 55:     <tr>
 56:     <td><asp:Image ID="Image1" runat="server"  /></td>
 57:     </tr>
 58:     <tr>
 59:     <td>Foto 2 :</td>
 60:     </tr>
 61:     <tr>
 62:     <td><asp:Image ID="Image2" runat="server"  /></td>
 63:     </tr>
 64:     <tr>
 65:     <td>Foto 3 :</td>
 66:     </tr>
 67:     <tr>
 68:     <td><asp:Image ID="Image3" runat="server"  /></td>
 69:     </tr>
 70:     <tr>
 71:     <td>Foto 4 :</td>
 72:     </tr>
 73:     <tr>
 74:     <td><asp:Image ID="Image4" runat="server"  /></td>
 75:     </tr>
 76:     <tr>
 77:     <td>Foto 5 :</td>
 78:     </tr>
 79:     <tr>
 80:     <td><asp:Image ID="Image5" runat="server"  /></td>
 81:     </tr>
 82:     </table>
 83:     </div>
 84:     </form>
 85: </body>
 86: </html>
 87: 

Default.aspx.cs :
  1: using System;
  2: using System.Data;
  3: using System.Configuration;
  4: using System.Web;
  5: using System.Web.Security;
  6: using System.Web.UI;
  7: using System.Web.UI.WebControls;
  8: using System.Web.UI.WebControls.WebParts;
  9: using System.Web.UI.HtmlControls;
 10: using System.Drawing;
 11: 
 12: using XYZPIC.Services;
 13: using XYZPIC.Data;
 14: using XYZPIC.Data.Bases;
 15: using XYZPIC.Entities;
 16: 
 17: public partial class _Default : System.Web.UI.Page 
 18: {
 19:     protected void Page_Load(object sender, EventArgs e)
 20:     {
 21:         if (Request.QueryString["itemno"] != null)
 22:         {
 23:             ViewState["itemno"] = Request.QueryString["itemno"].ToString();
 24: 
 25:             SafeNameXYZItem item = new SafeNameXYZItem();
 26: 
 27:             TList<SafeNameXYZItem> itemlist = new TList<SafeNameXYZItem>();
 28:             item = DataRepository.SafeNameXYZItemProvider.GetByNo(ViewState["itemno"].ToString());
 29:             TextBox1.Text = item.No;
 30:             TextBox2.Text = item.Description;
 31:             TextBox3.Text = item.PartNo;
 32: 
 33:             Image1.ImageUrl = "Image/noimage.jpg";
 34: 
 35:             Image2.ImageUrl = "Image/noimage.jpg";
 36: 
 37:             Image3.ImageUrl = "Image/noimage.jpg";
 38: 
 39:             Image4.ImageUrl = "Image/noimage.jpg";
 40: 
 41:             Image5.ImageUrl = "Image/noimage.jpg";
 42: 
 43:             TList<ItemPicture> itempicturelist = new TList<ItemPicture>();
 44:             ItemPictureQuery qry = new ItemPictureQuery();
 45:             qry.Append(ItemPictureColumn.Itemno, ViewState["itemno"].ToString());
 46:             itempicturelist = DataRepository.ItemPictureProvider.Find(qry);
 47:             int i = 1;
 48:             foreach (ItemPicture ip in itempicturelist)
 49:             {
 50:                 if (i == 1)
 51:                     Image1.ImageUrl = ip.Path;
 52: 
 53:                 if (i == 2)
 54:                     Image2.ImageUrl = ip.Path;
 55: 
 56:                 if (i == 3)
 57:                     Image3.ImageUrl = ip.Path;
 58: 
 59:                 if (i == 4)
 60:                     Image4.ImageUrl = ip.Path;
 61: 
 62:                 if (i == 5)
 63:                     Image5.ImageUrl = ip.Path;
 64: 
 65:                 i++;
 66:             }
 67:         }
 68:     }
 69: 
 70:     public bool ThumbnailCallback()
 71:     {
 72:         return false;
 73:     }
 74: 
 75:     protected void btnUpload_Click(object sender, EventArgs e)
 76:     {
 77:         string sSavePath;
 78:         sSavePath = "Image/";
 79: 
 80:         // If file field isn�t empty
 81:         if (filUpload.PostedFile != null)
 82:         {
 83:             // Check file size (mustn�t be 0)
 84:             HttpPostedFile myFile = filUpload.PostedFile;
 85:             int nFileLen = myFile.ContentLength;
 86:             if (nFileLen == 0)
 87:             {
 88:                 lblOutput.Text = "There wasn't any file uploaded.";
 89:                 return;
 90:             }
 91: 
 92:             // Check file extension (must be JPG)
 93:             if (System.IO.Path.GetExtension(myFile.FileName).ToLower() != ".jpeg")
 94:             {
 95:                 if (System.IO.Path.GetExtension(myFile.FileName).ToLower() != ".jpg")
 96:                 {
 97:                     lblOutput.Text = "The file must have an extension of JPG/JPEG";
 98:                     return;
 99:                 }
100:             }
101:             // Read file into a data stream
102:             byte[] myData = new Byte[nFileLen];
103:             myFile.InputStream.Read(myData, 0, nFileLen);
104: 
105:             // Make sure a duplicate file doesn�t exist.  If it does, keep on appending an incremental numeric until it is unique
106:             string sFilename = System.IO.Path.GetFileName(myFile.FileName);
107:             int file_append = 0;
108:             while (System.IO.File.Exists(Server.MapPath(sSavePath + sFilename)))
109:             {
110:                 file_append++;
111:                 sFilename = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName) + file_append.ToString() + ".jpg";
112:             }
113: 
114:             // Save the stream to disk
115:             System.IO.FileStream newFile = new System.IO.FileStream(Server.MapPath(sSavePath + sFilename), System.IO.FileMode.Create);
116:             newFile.Write(myData, 0, myData.Length);
117:             newFile.Close();
118: 
119:             // Check whether the file is really a JPEG by opening it
120:             System.Drawing.Image.GetThumbnailImageAbort myCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
121:             Bitmap myBitmap;
122:             try
123:             {
124:                 myBitmap = new Bitmap(Server.MapPath(sSavePath + sFilename));
125: 
126:                 //insert ke table item_picture
127:                 ItemPicture ip = new ItemPicture();
128:                 ip.Itemno = ViewState["itemno"].ToString();
129:                 ip.Path = sSavePath + sFilename ;
130:                 ip.Validate();
131:                 if (IsValid)
132:                 {
133:                     DataRepository.Provider.ItemPictureProvider.Save(ip);
134:                 }
135: 
136:                 TList<ItemPicture> itempicturelist = new TList<ItemPicture>();
137:                 ItemPictureQuery qry = new ItemPictureQuery();
138:                 qry.Append(ItemPictureColumn.Itemno, ViewState["itemno"].ToString());
139:                 itempicturelist = DataRepository.ItemPictureProvider.Find(qry);
140:                 int i = 1;
141:                 foreach (ItemPicture ip2 in itempicturelist)
142:                 {
143:                     if (i == 1)
144:                         Image1.ImageUrl = ip2.Path;
145: 
146:                     if (i == 2)
147:                         Image2.ImageUrl = ip2.Path;
148: 
149:                     if (i == 3)
150:                         Image3.ImageUrl = ip2.Path;
151: 
152:                     if (i == 4)
153:                         Image4.ImageUrl = ip2.Path;
154: 
155:                     if (i == 5)
156:                         Image5.ImageUrl = ip2.Path;
157: 
158:                     i++;
159:                 }
160: 
161:                 // Displaying success information
162:                 lblOutput.Text = "File uploaded successfully!";
163: 
164:                 // Destroy objects
165:                 //myThumbnail.Dispose();
166:                 myBitmap.Dispose();
167:             }
168:             catch (ArgumentException errArgument)
169:             {
170:                 // The file wasn't a valid jpg file
171:                 lblOutput.Text = "The file wasn't a valid jpg file.";
172:                 System.IO.File.Delete(Server.MapPath(sSavePath + sFilename));
173:             }
174:         }
175:     }
176: }
177: 
Itu saja.

Monday, October 24, 2011

Kebutuhan Pengadaan Sistem Warehouse Management System Submodul Shipment Order

Kantor saya ada kebutuhan pengadaan sistem warehouse management system submodul shipment order dengan barcode scanner. Jika ada yang memiliki pengalaman atau keahlian disini, bisa kontak saya di alamat email adiwirasta[at]pt-bsa.co.id dan kita bisa tentukan waktu untuk presentasi ditempat saya.

Wednesday, October 12, 2011

Pilihan Diskon Hingga 90% di Sebuah Portal Pencarian Diskon Terbesar di Indonesia

Munculnya banyak perusahaan start up e-commerce, banyak terjadi akuisisi perusahaan ecommerce lokal oleh perusahaan raksasa luar negeri, dan populer-nya toko online di Indonesia menandakan bahwa internet merupakan pasar potensial untuk berbisnis di Indonesia. Berbagai pilihan online shop pun bermunculan dan tentunya, dengan konsep yang berbeda.

Perbelanjaan online dimana konsumen bisa menikmati berbagai pilihan diskon harian (daily deals) adalah salah satu konsep baru dalam dunia e-commerce yang menjadi salah satu tren bisnis di Indonesia. Hal ini ditandai dengan munculnya berbagai website penyedia diskon online voucher seperti deal keren dan disdus yang menyediakan layanan diskon gaya hidup super besar ini.

Melihat dari besatnya prospek dalam pasar online ini, Dskon muncul dengan mengusung konsep sebagai daily deals aggregator yang mengumpulkan penawaran diskon harian dari SEMUA website penyedia online voucher Indonesia, menyortirnya dan mengkategorikanya dalam satu website.

Namun, kami melihat pasar online indonesia lebih luas dari pada sekedar daily deals. Pasar e-commerce indonesia berkembang lebih jauh di sektor online shop dan online booking tikket. Melihat hal ini, Dskon mempunyai ide untuk berkembang lebih dari sekedar daily deals aggregator menjadi one-stop-shopping website dimana kita juga mengaggregasi online shop dan online booking tiket pesawat (terutama promo yang sedang berlangsung) dalam satu halaman yang cantik dan teratur.

Kami menyediakan penawaran restoran, salon, hotel, tiket pesawat dengan DISKON TERBAIK tanah air. Jadi, tidak usah heran jika nanti twitter dan Facebook Dskon yang beralamatkan di @dskon_com dan Dskon mengumbar berbagai promo fantastis untuk hotel, tiket pesawat atau lainnya. Kami memang bertujuan untuk berkembang menjadi pusat berbelanja online di Indonesia.

Muncul dan beroperasi di berbagai negara seperti Brasil, Meksiko, Argentina, Spanyol, Filipina, Turki dan lainya, Dskon ingin menjadi leading company dalam online shopping solution dunia. Diharapkan perkembangan ini membantu warga indonesia untuk semakin mudah dalam berbelanja hemat melalui internet.

Tuesday, October 11, 2011

Tawaran Kerjasama Bisnis Antar Jemput Oleh Salah Satu Pembaca

bos saya ada kendaraan tapi tidak punya link........mohon bantuannya. Tks
- Frans Louis dari komen di Bisnis Antar Jemput
--
Jika ada dari pembaca yang memiliki usaha bisnis antar jemput dan masih membutuhkan kendaraan, salah satu pembaca blog ini, Frans Louis, bersedia mengajak kerjasama.
Untuk berkenalan dengan Frans Louis, silahkan YM saya untuk mendapatkan alamat emailnya.