۱۳۸۸ اسفند ۹, یکشنبه

کاهنده های هوشمند

در کاهنده های هوشمند چند تغییر مناسب برای استفاده بهینه داده شده است :

1- نحوه پرداخت به محدوده دو کد تبدیل شده است، توجه داشته باشید که بلافاصله بعد از نصب برنامه باید تمام کاهنده های هوشمند را یک بار فقط ثبت کنید. این موضوع در شرایط خاصی کاربردی است. فرض کنید چهار تا جدول هوشمند تعریف کرده اید که فقط یکی از آنها منوط به شیوه پرداخت کد 10 هست، سایر جداول به شیوه پرداخت خاصی محدود نیستند اما می خواهید وقتی جدول با پرداخت کد 10 فعال شد سایر جداول فراخوانی نشود. اگر سایر جداول را در محدوده 9-1 قرار دهید چنین امکانی میسر خواهد شد.

2- در نتیجه هر ستون امکان "خروج" هم گذاشته شده است. فرض کنید محدوده یک تا صد منجر به اشانتیون کالای 11 می شود و محدوده 101 تا 200 به کالای 12 ، در این صورت مجبور به تعریف دو جدول هستید. چون کنترل جداول از بیشترین مقدار به پائین هست، اگر بخواهید اپراتور سفارش هیچ دخالتی در انتخاب اشانتیون نداشته باشد باید در جدول اول محدوده جدول دوم را با نتیجه "خروج" مشخص کنید.

3- اگر هنگام صدور سفارش از مثلا پنج هوشمند مشخص شده برای مشتری فقط دو جدول هوشمند فعال شود، هنگام برگشت فقط همین دو جدول کنترل مجدد میشد، اکنون همه جدوال مجددا مورد بازنگری و کنترل مجدد قرار می گیرند. البته این موضوع بیشتر از جنس اشکال بود تا توسعه، و نمی دانم چرا تا به حال متوجه نشده بودیم.

آنچه در این آیتم ضروری است، ذخیره دوباره کاهنده های هوشمند است بقیه موارد در صورت عدم نیاز هیچ اقدامی لازم ندارد.


۱۳۸۸ اسفند ۶, پنجشنبه

ترکی با لهجه فارسی

در تهران و تقریبا همه شهرهای ایران مردم با لهجه شخص ترک زبان که فارسی صحبت کند کاملا آشنائی دارند، همینطور در آذربایجان غربی و حتی تبریز مردم با گویش شخص کرد زبان که ترکی صحبت کند آشنائی کامل دارند. از این مثالها در این کشور متکثر زیاد میتوان زد. متاسفانه همه این مثالها را فقط در دامنه غلبه یک جانبه یک زبان بر زبانی دیگر میتوان ذکر کرد. مثلا در شهر ما ارومیه بسیار به ندرت ترک زبانی پیدا می شود که کردی را راحت و خوب صحبت کند و همینطور در کل ایران بندرت فارس زبانی پیدا می شود که ترکی و یا گیلکی و کردی بلد باشد و سلیس صحبت کند. حتی در شهری مثل اهواز بندرت اهوازی فارس زبانی پیدا می شود که زبان شکوهمند عربی را بلد باشد. لذا در یک نگاه کلی گوش ایرانی عملا با این گویش ها و لهجه ها بصورت متقابل آشنا نیست و این البته خیلی غم انگیز است. مدیر محترم فروش شرکت فرد آذربایجان در ارومیه، دوست نازنینم جناب آقای رستمی اهل بیرجند است و ساکن ارومیه، هیچ نسبتی هم با ترک زبانها (غیر سببی) ندارد. اما ترکی را بقدری روان و زیبا صحبت می کند که حقیقتا شنیدن آن لذت فراوان دارد. برای من که با خانمهای همکار ترک زبان در کوکای تبریز هم باید فارسی صحبت کنم از این زیباتر قابل تصور نبود. نکته بسیار جالب ته لهجه زیبای ایشان بود که اگر کسی اهل ارومیه باشد و از ملیت ایشان اطلاع نداشته باشد بی گمان حدس خواهد زد ایشان کرد زبان است. این موضوع را با ایشان مطرح کردم و سوال کردم وقتی شما ترکی صحبت می کنید کسی شما را با کردها اشتباه نمی گیرد؟ گفت فراوان! و می پرسند اهل کجائی !؟... ترگور ؟ مرگور ؟ سرو ؟ (مناطق برزگ کردنشین ارومیه). تجربه فوق العاده ای برای من بود که تا کنون به آن بر نخورده بودم. لطفا توجه داشته باشید کسانی که در تهران زبان اولشان فارسی است ولی ترکی را از پدر و مادر خود یاد گرفته اند عملا دو زبانه اند و یا بعضا به نحو ناجوری و با نظام آوائی فارسی، ترکی صحبت می کنند که نمونه غلط اندازی از لهجه فارسی، سخنوران فارس زبان به ترکی است. البته و متاسفانه این نوع ترکی صحبت کردن در میان خود آذربایجانیها و مخصوصا دختران جوان شهرهائی مثل ارومیه و تبریز بسیار متداول شده است که نه ترکی است و نه فارسی. بلکه ترکیبی است از ترکی با نظام آوائی فارسی که تصویر بسیار غلط و بی هویتی از این زبان ریشه دار ارائه می کند.

این تجربه در کنار زیبائی خود نشان از نزدیکی فوق العاده نطام آوائی فارسی و کردی است زمانی که ترکی صحبت می کنند. به آشنائی و رفاقت جناب آقای رستمی افتخار می کنم. در این نیرنگستان که نه سر پیاز است و نه ته پیاز و همه برای همدیگر جوکهای توهین آمیز و مسخره می سازند، واقعا وجود چنین انسانهای محترمی ، مغتنم است.

۱۳۸۸ بهمن ۲۰, سه‌شنبه

گزارش چند سطحی و سالهای مالی گذشته

پس از گسترش اخیر گزارش چند سطحی عوامل و استقبال شما از آن، دو پیشنهاد بسیار جالب برای گسترش بعدی دریافت کردم.

اول اینکه بتوان به تفکیک تاریخ و شماره بارنامه یا سفارش هم این گزارش را گرفت، به نظرم رسید اگر این این سه آیتم به سطوح گزارش برده شود، به طرز باور نکردنی قدرت مانور شما را بالا خواهد برد. که خوشبختانه به نحو احسن انجام شد.

پیشنهاد دوم اخیرا در فرد آذربایجان که زیاد از این گزارش استفاده می کنند، اضافه کردن مقایسه سال مالی بود. دو راه حل برای این مسئله بود، اول اینکه مقایسه با سال مالی گذشته مثل خیلی از گزارشها، اضافه و شکل ظاهری آن هم ستونی طرح شود. بالطبع امکاناتی مانند مقایسه و درصد پیشرفت و پسرفت هم جزو لاینفک آن بود. راه حل بعدی امکان رفتن به چندین سال قبلی به انتخاب کاربر بود، که گزارش را به شکل سطری تولید کند. من این راه حل را انتخاب کردم. قبول دارم که در نگاه اول شکل ستونی مطلوب است ولی چون کاربرد چنین گزارشی معمولا مدیریتی است، میتواند کاربرد فوق العاده ای در ساخت گزارشهای خلاصه و بسیار مرتب داشته باشد. دوستانی که با SQL-2005 به بالا کار کرده اند می دانند که امکانی بنام Pivoting دارد با چند خط Script میتوان همین گزارش را به شکل ستونی و بسیار زیبا برگرداند و هر چند سال مالی را که مد نظر باشد گزارش دهی کرد. تصور بفرمائید اگر تاریخ هم یکی از سطوح انتخابی باشد چه گزارشهای کاربردی و مقایسه ای زیبائی میتوان تولید کرد.

برای استفاده از این امکان اگر در فیلد "سالهای مالی قبل" هر عددی بنویسید به همان تعداد به سالهای قبل برخواهد گشت و به همراه سال جاری گزارش هر آیتم به شکل سطری تولید خواهد شد.

مشکلی که ما داریم و سالهاست حضوری مطرح می کنم و محبت می کنید و بلافاصله نشنیده می گیرید، استفاده بسیار ابتدائی از اکسل است. نوشتن اسکریپت و استفاده از دیتابیس هم که اصلا بهتر است مطرح نشود. این در حالی است که امروزه هیچ سیستمی گزارشهای سلیقه ای خاص و مورد نظر مدیریت را از پیش آماده ندارد، که اصلا در این صورت گزارش مدیریتی نیست. نوع خروجیهای آماده و خلاصه بستگی زیادی به سلیقه مدیران دارد، هر سیستمی برای راحتی کاربران در تولید گزارشهای خاص سعی در ابزارسازی بهتر می کند، اما برای تولید گزارش و دیتا در فرمت اکسل اجماع وجود دارد. در این سیستم نیز علاوه بر ابزار خاص فرمها، سعی شده است تمام خروجی ها قابلیت انتقال به اکسل را داشته باشند.

پی نوشت 1 :

پیشه یکی از سطوح اساسی در این گزارش، پس از توسعه به پردازش عملکرد عاملین، فراموش شده بود. حوصله جبران آن نبود، منتظر ماندم تا درخواستی شود. مطابق معمول از زمزم مشهد پیشرو در نگهداری دقیق حساب عاملین این درخواست رسید، بلافاصله اعمال و ارسال شد.


۱۳۸۸ بهمن ۱۶, جمعه

محاسبه مجدد و مانده فروشنده

مشکلی که پس از تغییرات اخیر در نحوه نگهداری اشانتیون در سطح بارنامه پیش آمد و منجر به خراب شدن مانده فروشنده در بازدید سیستم می شد، واقعا کلافه کننده بود. چندین ایمیل به همه دوستان زدم که ببینم آیا این مشکل جای دیگری هم خود را نشان داده است یا نه، که جواب همه منفی بود. در شرکتی که این مشکل خود را نشان داده بود قبلا مشکل شبکه ای داشتیم که حل نشده بود و یکی از دلایل پیدایش Localize کردن فرمها و برنامه های اجرائی هم همین مسئله بود. مستاصل از هر راهکاری و تقریبا به امید معجزه بستر سخت افزاری سیستم را هم عوض کردیم، که هیچ تغییری رخ نداد. البته این همه استیصال و گرفتاری موجب شد یک روز تمام آقای مهندس خسروجردی در زمزم مشهد ردیابی دقیق و کارشناسانه ای از زمان پیش آمدن این مشکل بعمل آورند که بدین وسیله از ایشان نهایت سپاس را دارم. مشکل از زمان پاک کردن و محاسبه تعدادی اشانتیون در سطح بارنامه بود که برطرف شد، اما بسیار نفس گیر بود. آنچه که بیش از همه موجبات کلافه گی می شد، محاسبه مجددهای وقت گیر و زمان بر بود. به میمنت کشف این مشکل و انرژی ناشی از آزادی بیش از ده روز اسارت این معضل، فکری به نظرم رسید که محاسبه مجدد فقط مربوط به مانده فروشنده در بخش بازدید سیستم را میتوان مستقل از تمام قسمتهای دیگر انجام داد. لذا بخشی به سیستم در بازدید سیستم و مانده فروشنده، اضافه شده است که اگر به هر دلیلی خلاصه وضعیت مانده فروشنده با ریز آن تفاوت داشت، بتوان بدون معطلی آن را اصلاح کرد.
از سال 1372 تا کنون در خصوص اینکه باید خلاصه عملکرد تراکنشهای سیستم را نگهداری کرد یانه با کارشناسان این موضوع بحث می کنم و اختلاف نظر دارم . منتقدین می گویند هر خلاصه ای همواره مشکل مغایرت را خواهد داشت که درست هم می گویند. در جواب این سوال که مشکل سرعت را چه می کنید؟ می گویند محیطهای جدید مانند اوراکل و اس کیو ال برای جمع کردن نتیجه هزاران رکورد چنان سریع است که نگو و نپرس . اما من هنوز سیستمی که با میلیونها رکورد کار کند و هر لحظه به چندین ایستگاه مانده یا موجودی، موجودیتی که میلیونها گردش رفت و برگشت طی سال دارد (مانند نوشابه 284 سی سی خودمان) جواب دهد و سریع هم باشد، ندیدم. در شرکت زمزم تهران قبل از اینکه با این سیستم کار کنند بعضی وقتها صدور یک فاکتور ساده (یکی از دهها فاکتور تشکیل دهنده بارنامه خودمان را در نظر بگیرید) بعضا بیش از ده دقیقه طول می کشید. همه چیز هم مدرن و بروز بود.

۱۳۸۸ بهمن ۱۴, چهارشنبه

برنامه های اجرائی

بدلایلی و چنان که افتد و دانی سیستم در ابتدای شروع به کار دسترسی نسبتا بالائی از دو محل C:\ و C:\SLOCAL لازم دارد. دومی قابل تحمل است ولی اولی امنیت ویندوز را که معمولا هم روی دوایو سی نصب می شود پائین می آورد. معمولا به شکل پیش فرض هم این مسیر برای کاربر غیر ADMIN بسته است، علاوه بر آن در بسیاری از مراکز توزیع متولیان کامپیوتر مستقیما حضور ندارند و اعمال این دسترسیها کم دردسر ساز نبوده است . متاسفانه در شرایط فعلی ریشه این مسئله کندنی نیست ولی نیاز به محل اولی یعنی C:\ را کاملا حذف کردم . اکنون لازم است دسترسی کامل برای شروع به کار سیستم فقط به فولدر C:\SLOCAL در کامپیوتر کاربر داده شود. توجه فرمائید که برای این منظور هر سه برنامه اجرائی MGR,LOCALIZE,SEL را که ایمیل خواهم کرد باید همزمان دریافت و نصب کنید. شایان ذکر است که در حال حاضر همه به این مسیر دسترسی دارند و هیچ ضرورتی به دستکاری دسترسی کاربران نیست.