بخش های سایت
انتخاب سردبیر:
- تخصیص مجدد کلیدهای میانبر ویندوز
- بازخورد: یاد بگیرید که سوال بپرسید
- میانبرهای صفحه کلید در Total Commander
- ما یک گزارش با فرکانس مشخص در سیستم ذخیره سازی ایجاد می کنیم
- 1c erp انواع اطلاعات تماس اضافی ناپدید شده اند
- کدام آیفون بهتر است: رتبه بندی گوشی های هوشمند اپل چه چیزی بهتر است و چرا
- پردازنده های گوشی های هوشمند - مشخصات اصلی و تولید کنندگان
- بررسی و تست کیس زلمان زد 9 پلاس
- بلوتوث استانداردی برای انتقال امن داده های بی سیم بین دستگاه های مختلف از انواع مختلف در فواصل کوتاه است
- کاربرد مدل الکترونیکی
تبلیغات
ما یک گزارش با فرکانس مشخص در سیستم ذخیره سازی ایجاد می کنیم. |
بیایید یک گزارش با یک مجموعه از داده های پرس و جو ایجاد کنیم: انتخاب محصولات در انبارها باقی مانده است. انبار، کالا در انبارها باقی مانده است. نامگذاری، محصولات موجود در انبارهای باقیمانده. QuantityBalance FROM Accumulation Register. محصولات در انبارها باقی مانده (&MyDate،) AS محصولاتدر انبارها باقی مانده استحال به تب parameters می رویم و می بینیم که سیستم علاوه بر پارامتر &MyDate ما، پارامتر &Period را نیز ایجاد کرده است. بیایید گزارش را ذخیره کرده و در شرکت باز کنیم. در قسمت جدول با پارامترها، فقط پارامتر &Period نمایش داده می شود: بر این اساس هر تغییری در این پارامتر نتیجه دلخواه را به همراه نخواهد داشت. چرا پارامتر &MyDate در دسترس نیست؟ البته، چون در تب پارامترها یک چک باکس علامت زده است محدودیت در دسترس بودن. علامت کادر را بردارید. اکنون هر دو را در پارامترهای موجود می بینیم. فقط هنگام ایجاد گزارش می بینیم که گزارش به پارامتر &Period واکنش نشان می دهد و نه به &MyDate. در این مثال ساده ترین کار این است که نام پارامتر &MyDate در درخواست را به &Period تغییر دهید و به نتیجه دلخواه برسید. اما ممکن است شما یک پرس و جو داشته باشید که در آن از پارامتر &Period قبلا استفاده شده باشد یا دیدگاه های مذهبی شما اجازه استفاده از این پارامتر را به شما نمی دهد، در هر صورت می توانید مشکل را به این صورت حل کنید: انتخاب محصولات در انبارها باقی مانده است. انبار، کالا در انبارها باقی مانده است. نامگذاری، محصولات موجود در انبارهای باقیمانده. QuantityBalance FROM Accumulation Register. محصولات در انبارها Remains((&MyDate) ,) AS ProductsIn WarehousesRemainsUPDاز کاربر بو: مشکل اصلی هنگام استفاده از پارامترهای "استاندارد" (اضافه شده توسط سیستم) این است که هنگام استفاده از چندین جدول مجازی در یک گزارش، اگر این پارامتر تعریف شده باشد، مقدار آن در سایر موارد به جای موارد "خود" استفاده می شود. بگذارید برای شما مثالی بزنم: SELECT EmployeesSP.Employee, WorkersSP.ReasonChangesConditions, WorkersSP.Period, WorkersSPAnotherDate.Period AS Period2, WorkersSPAnotherDate.ReasonChangesStates AS ReasonChangesCondition2 =FROM RegisterInformationOEmployerge.Employe. ه) AS Employees JV اتصال چپثبت اطلاعات.کارمندان سازمانها.بخشی از آخرین (&OtherDate ,) AS EmployeesSPAتاریخ دیگر توسط EmployeesSP.Employee = EmployeesSPAnotherDate.Employeeدر دومین پرس و جو، از مقدار پارامتر "استاندارد" PERIOD به عنوان پارامتر تاریخ قطعه استفاده می شود، نه مقدار OtherDate. این "شکلی" مشاهده خواهد شد حتی اگر دومین پرس و جو به مجموعه داده دوم خروجی شود و با استفاده از ACS پیوند داده شود. گزینه ای که در درخواست دوم از عبارتی مانند "ADDATE(&Period, MONTH, -1)" استفاده می کند نیز کار نخواهد کرد، ماه کم نخواهد شد. اما تغییر نام پارامتر "Period" در درخواست به عنوان مثال "FirstDate" این مشکل را حل می کند. به هر حال، دقیقاً همین مشکل در جداول مجازی انباشت و ثبت حسابداری مشاهده می شود که برای مثال برای بدست آوردن گردش مالی استفاده می شود. در آنجا سیستم پارامترهای "شروع دوره" و "پایان دوره" را اضافه می کند. این مقاله برخی از ویژگی های تنظیم یک دوره زمانی را در هنگام استفاده از سیستم ترکیب داده (DCS)، مشکلاتی که به دلیل تفاوت در مفهوم دوره بین یک کاربر معمولی و سیستم 1C ایجاد می شود، مورد بحث قرار می دهد و همچنین راه هایی برای حل آنها پیشنهاد می کند. . مسئله این است که اکثریت قریب به اتفاق کاربران دوره را به گونه ای متفاوت از آنچه که 1C آن را "درک" می کند، "درک" می کنند، به عنوان مثال: البته می توانید سعی کنید به کاربر توضیح دهید که چرا گزارش اسنادی را که او انتظار دارد ببیند و چگونه دوره از "دیدگاه" 1C ارائه می شود را نشان نمی دهد ، اما این کار ناسپاسی است و نیز اشتباه است. یک برنامه خوب اول از همه باید کاربرپسند باشد، زیرا برنامه برای کاربر وجود دارد و نه برعکس، بنابراین باید 1C را "آموزش" دهید تا دوره را همانطور که کاربر درک می کند، درک کنید، یعنی: SELECT WHEN &Period.EndDate=DATETIME(1,1,1) THEN DATETIME(3999,12,31,23,59,59) ELSE SELECT WHEN &Period.EndDate<&Период.ДатаНачала ТОГДА ДАТАВРЕМЯ(3999,12,31,23,59,59) ИНАЧЕ &Период.ДатаОкончания КОНЕЦ КОНЕЦ شکل نهایی طراحی انتخاب دوره ما در نشان داده شده است شکل 5 هنگام ایجاد گزارش در یک سیستم کنترل دسترسی، اغلب نیاز به نمایش یک دوره انتخابی در فرم گزارش وجود دارد، به طوری که لازم نیست تاریخ ها را به صورت دستی وارد کنید، بلکه از لیست دوره های استاندارد، مانند: "سال" را انتخاب کنید. ، "ماه"، "هفته" و غیره. برای پارامترهای نوع Date، فقط می توانید «شروع امسال، ماه و غیره» را مشخص کنید، اما «پایان» ارائه نشده است. مسئله این است که از میان انواع داده، فقط نوع «تاریخ شروع استاندارد» موجود است، اما من «تاریخ پایان استاندارد» را نیز میخواهم. راهی برای دور زدن این موضوع وجود دارد.
اما یک ظرافت جزئی وجود دارد. اگر در پرس و جو از جداول مجازی استفاده کنیم، به احتمال زیاد گزارش کار نخواهد کرد و پیغام خطایی مانند "خطا در پردازش نما، عدم تطابق نوع، شماره پارامتر..." نمایش داده می شود. برای جلوگیری از این امر، باید تمام پارامترهای جدول مجازی را حذف کنید. و آنها را به جداول موجود در برگه "ترکیب داده ها" اضافه کنید. برای اینکه پارامترها در تنظیمات گزارش سریع نمایش داده شوند، بیایید پرچم مربوطه را برای پارامترهای گزارش فعال کنیم. اکنون انتخاب دوره در فرم گزارش به این صورت است. بنابراین، بیایید شروع کنیم. برای سادگی، درک مثال، ما بر روی یک ثبت انباشت در گردش ساده ایجاد می کنیم. در مورد من، این ثبت انباشت "حسابداری در حال انجام" است. به عنوان مثال، ما پارامترهای آن را به طور صلب نشان خواهیم داد (نه از طریق اعمال نرم پارامترها بر روی سیستم کنترل دسترسی): لطفا توجه داشته باشید که فرکانس جدول مجازی "Record" است. اما، همانطور که در بالا ذکر شد، ما از نظر تناوب به دوره نیاز داریم، بنابراین من پیشنهاد می کنم فیلد "پریود" را به روش زیر محاسبه کنیم (خیلی خوب نیست، اما گزینه های بهتری ندیده ام): همانطور که از اسکرین شات مشاهده می شود، پارامتری به درخواست ارسال می شود که کاربر آن را در فرم مشخص می کند: مقدار شمارش "Frequency" - این شمارش تقریباً در تمام راه حل های استاندارد یافت می شود. ما انواع موجود آن را در برگه "پارامترها" نشان خواهیم داد: با این تنظیمات ما دوره خود را طوری فرم می دهیم که همه چیز زیبا و چشم نواز باشد) در اینجا خود فرمت ها آمده است: ماه: DF="MMMM yyyy "y."" روز: DF = dd.MM.yyyy Week: DF = "" هفته از "dd.MM.yyyy" ربع: DF = "به "ربع" yyyy "y." سال: DF = "yyyy "y." Decade: DF = "" دهه با "dd.MM.yyyy" نیم سال: DF = ""نیم سال از" dd.MM.yyyy" همین. خروجی یک عکس فوق العاده است: برخی از ویژگی های تنظیم دوره در سیستم کنترل دسترسی. اکثر گزارشهایی که با استفاده از سیستم ترکیب داده (DCS) تهیه میشوند، به کاربر نیاز دارند تا دورهای را که گزارش برای آن ساخته میشود، وارد کند. به عنوان یک قاعده، در ACS، ورود دوره از طریق پارامترها سازماندهی می شود، با استفاده از ساختار زیر، مشاهده کنید. بیایید آن را به عنوان پایه در نظر بگیریم. بیایید به عنوان مثال یک درخواست ساده را در نظر بگیریم که تمام اسناد فروش کالا و خدمات را برای یک دوره معین دریافت می کند. هنگام استفاده از این گزارش، کاربر دوره را از طریق پارامترها تنظیم می کند، ببینید همه چیز درست به نظر می رسد ...، اما یک مشکل کوچک وجود دارد: مسئله این است که اکثریت قریب به اتفاق کاربران دوره را به گونه ای متفاوت از آنچه که 1C آن را "درک" می کند، "درک" می کنند، به عنوان مثال: از نظر کاربر دوره مشخص نشده است یعنی نامحدود یعنی تمام اسناد بدون محدودیت تاریخ در گزارش درج شود. "از دیدگاه" سیستم 1C، پارامتر-پریود تنظیم شده است و ... هر دو مرز آن برابر با 01.01.0001 است و فقط اسناد با تاریخ خالی در گزارش درج می شود که در عمل به این معنی است. یک سند واحد گنجانده نخواهد شد. از دیدگاه کاربر، گزارش باید شامل کلیه اسناد از تاریخ 28/01/2010 باشد. "از نقطه نظر" 1C، دوره 01/28/2010 - 01/01/0001 یک استثنا ایجاد می کند. البته می توانید سعی کنید به کاربر توضیح دهید که چرا گزارش اسنادی را که او انتظار دارد ببیند و چگونه دوره از "دیدگاه" 1C ارائه می شود را نشان نمی دهد ، اما این کار ناسپاسی است و نیز اشتباه است. یک برنامه خوب اول از همه باید کاربرپسند باشد، زیرا برنامه برای کاربر وجود دارد و نه برعکس، بنابراین باید 1C را "آموزش" دهید تا دوره را همانطور که کاربر درک می کند، درک کنید، یعنی: 1). شروع دوره و پایان دوره مشخص نشده است -> همه اسناد. 2). فقط شروع دوره مشخص شده است -> همه اسناد از ابتدای دوره شروع می شود 3). علاوه بر این، ما بررسی می کنیم که End of Period >= Beginning of Period، و اگر این درست نباشد، آنگاه فرض می کنیم که End of Period مشخص نشده است، i.e. 2). بر اساس موارد فوق، عبارت برای پارامتر End Date به صورت زیر است: WHEN &Period.EndDate=DATETIME(1،1،1) سپس DATETIME(3999,12,31) WHEN &Period.تاریخ پایان<&Период.ДатаНачала سپس DATETIME(3999,12,31) DATETIME(3999,12,31,23,59,59) &دوره.تاریخ پایان شکل نهایی طراحی انتخاب دوره ما در نشان داده شده است توجه: این مکانیسم برای تنظیم پارامترها برای پلتفرم های قدیمی 1C 8.1 و 8.2 در نظر گرفته شده است (و پیکربندی هایی که تحت کنترل آنها در حال اجرا هستند)؛ نسخه های قدیمی تر پلت فرم 1C دارای مکانیسم های داخلی برای کنترل پارامترهای خالی هستند و نیازی به متوسل شدن به مکانیسم نیست. در این مقاله توضیح داده شده است، علاوه بر این در برخی از نسخه های پلت فرم 1C، خطاها و عملکرد نادرست ممکن است. |
خواندن: |
---|
جدید
- بازخورد: یاد بگیرید که سوال بپرسید
- میانبرهای صفحه کلید در Total Commander
- ما یک گزارش با فرکانس مشخص در سیستم ذخیره سازی ایجاد می کنیم
- 1c erp انواع اطلاعات تماس اضافی ناپدید شده اند
- کدام آیفون بهتر است: رتبه بندی گوشی های هوشمند اپل چه چیزی بهتر است و چرا
- پردازنده های گوشی های هوشمند - مشخصات اصلی و تولید کنندگان
- بررسی و تست کیس زلمان زد 9 پلاس
- بلوتوث استانداردی برای انتقال امن داده های بی سیم بین دستگاه های مختلف از انواع مختلف در فواصل کوتاه است
- کاربرد مدل الکترونیکی
- نحوه غیرفعال کردن حسگر مجاورت در اندروید