Гэр / Windows хичээлүүд / 1s skd стандарт хугацааны жишээ. Бид агуулах дээр өгөгдсөн давтамжтай тайлан гаргадаг

1s skd стандарт хугацааны жишээ. Бид агуулах дээр өгөгдсөн давтамжтай тайлан гаргадаг

Өдрийн мэнд, блог сайтын эрхэм уншигчид! Сүүлийн нийтлэлээс бид эдгээр дүрүүд юунд зориулагдсан болохыг олж мэдсэн. Өнөөдөр, энэ цуврал нийтлэлийн хоёр дахь хэсэгт бид үзэх болно "Хугацаа" шинж чанараар дүрийг тохируулах, мөн эдгээр үүргийг дүүргэх жишээг авч үзье. Үлдсэн хэсгийг "Үе" үүрэг бүхий талбарт тооцно. "Хэмжээ" дүртэй талбартай адил бөгөөд энэ талаар бид өөр удаа ярих болно. За, эхэлцгээе!

Шинэ тайлан үүсгэцгээе:

  1. Тохируулагчаас "Файл" - "Шинэ" - "Гадаад тайлан" цэсийн зүйлийг сонгоно уу.
  2. "Өгөгдлийн найрлагын схемийг нээх" товчийг дарна уу. Нээгдсэн харилцах цонхонд "Finish" товчийг дарна уу.
  3. Одоо "Хуримтлалын бүртгэл" виртуал хүснэгтийг хэлнэ үү.
  4. "Өгөгдлийн багц" зангилаа дээр хулганы баруун товчийг дараад "Өгөгдлийн багц нэмэх - Асуулга" гэсэн мөрийг сонгоно уу.
  5. Одоо "Query Builder" товчийг дарна уу. "Агуулахад байгаа бараа, үлдэгдэл ба эргэлт" (USP тохиргоо) хуримтлалын бүртгэлийг сонгоцгооё.
  6. "Виртуал хүснэгтийн сонголтууд" харилцах цонхыг нээж, "Авто" давтамжийг ашиглах болно, өөрөөр хэлбэл хэд хэдэн үеийг зааж өгөх боломжтой болно.

Одоо гаралтын талбаруудыг тохируулцгаая. Энэ нь "Бүртгэгч", "Хугацаа сар", "Нэршил", "Чанар" гэсэн талбарууд, үлдэгдлийн талаархи мэдээлэл байх ёстой. Талбар нэмэх нь хүссэн талбар дээр хулганы зүүн товчийг давхар товших эсвэл ">" товчийг ашиглан хийгддэг. Талбаруудыг нэмсний дараа OK товчийг дарна уу.

Зарим талбарт "Хугацаа" шинж чанартай үүрэг автоматаар тохируулагдсан болохыг анхаарна уу.

Юу болохыг авч үзье "Үе" өмчийн үүргийн тохиргоо. Нэгдүгээрт, тухайн үеийн серийн дугаарыг зааж өгсөн болно. Дугаарлалт нь нэгээс эхлээд залуу үеээс хуучин үе хүртэл тасралтгүй байх ёстой, өөрөөр хэлбэл эхлээд мөрийн дугаар, дараа нь "Бүртгэгч", дараа нь хоёр дахь, өдөр, долоо хоног, сар, улирал, жил.

Тиймээс бидний хүсэлтэнд гарч буй талбаруудыг дугаарласан байх ёстой. Бидэнд "Бүртгэгч" ба "Хугацаа сар" гэсэн хоёр хугацааны талбар байгааг анхаарна уу. Бага талбарт "Бүртгэгч" нэг, ахлах талбарт "Хугацаа" хоёр томилогдсон. Бид дараагийн нийтлэлийг нарийвчлан авч үзэх болно.

Бид тайлангаа тохируулцгаая:

  1. "Нөөц" таб руу орж, тайлангийнхаа нөөцийг тодорхойлъё.
  2. ">>" товчийг дарж нөөцийн бүх талбарыг сонгоно уу.
  3. Одоо "Тохиргоо" таб руу орж жагсаалт хэлбэрээр тохиргоог үүсгэцгээе.
  4. "Өгөгдлийн бүтцийн тохиргоог бүтээгч" товчийг дарна уу (шидэт балаар хэлбэртэй товчлуур).
  5. Тайлангийн төрөл: "Жагсаалт". "Дараах" товчийг дарцгаая.
  6. ">>" товчийг дарж гаралтын талбаруудыг тохируулна уу. Тэдгээрийг "Хугацаа сар", "Нэршил", "Чанар", "Бүртгэгч" гэсэн байдлаар зохион байгуулъя.
  7. "Дараах" товчийг дараад бүлэглэлийг тохируулна уу. Бүлэглэлийг дараах дарааллаар тохируулна: "Хугацаа сар", "Нэршил", "Чанар". "Бүртгэгч" бүлгийг нарийвчилсан бүртгэл хэлбэрээр харуулах болно.
  8. "OK" товчийг дарцгаая.

Тайлангаа нээцгээе. Хэрэв бид энэ тайланг гүйцэтгэвэл үлдэгдэл хүлээн авах үед зарим онцлог шинж чанаруудыг харах болно. Хэрэв та тайлангийн үр дүнг анхааралтай ажиглавал хэд хэдэн алдааг шууд анзаарч болно. Ялангуяа, ямар нэг шалтгааны улмаас компанийн үйл ажиллагааны хамгийн эхэнд анхны үлдэгдэл байдаг.

Мөн энэ алдаа нь бүртгэгч үлдэгдлийг хүлээн авах онцлогтой холбоотой юм. Эдгээр үлдэгдлийг зөв харуулахын тулд хүсэлтийн гаралтын талбарт дахин нэг талбар нэмэх шаардлагатай - "Үе Секунд" талбар. "PeriodSecond" талбарыг нэмэхийн тулд Тохируулагч дахь тайланг нээгээд "Өгөгдлийн бүтцийн схемийг нээх" товчийг дарна уу. Одоо "Query Builder" товчийг дараад "PeriodSecond" нэмнэ үү. Энэ тохиолдолд "Бүртгэгч" талбар нь хугацааны эхний талбар, "Үе Секунд" хоёр дахь талбар, "Үеийн Сар" нь гурав дахь талбар хэвээр үлдэнэ.

Секунд юунд хэрэгтэй вэ? Өгөгдлийн бүрдлийн систем нь үлдэгдлийг тооцооллын аргаар тооцдог бөгөөд цаг хугацааны тэнхлэг дээрх бичигчийн байрлалыг хоёрдмол утгагүй тодорхойлохын тулд бичигчийн лавлагаа нь өөрөө хангалтгүй, секунд шаардлагатай, өөрөөр хэлбэл энэ бичигчийн огноо. , дараа нь найрлагын систем нь зөв үлдэгдлийг тооцоолох боломжтой болно. Хэрэв бид талбаруудын зөв дарааллыг зааж өгөөд тайланг дахин гаргавал бид дараахь зүйлийг авна.

Одоо Plinth нэршил дэх үйл ажиллагааны эхлэлийн үлдэгдэл үлдсэнгүй. Цаашилбал, дараагийн хугацаанд энэ нь эцсийн үлдэгдэлтэй давхцаж байна, өөрөөр хэлбэл бид үнэхээр зөв үр дүнг харж байна. Та доорх линкээс тайлангийн жишээг татаж авах боломжтой. Танд нийтлэл таалагдсан уу? Юуг өөрчилж, юу нэмж болох вэ? Үүнийг сэтгэгдэл дээр чөлөөтэй хуваалцаарай!

Өгүүллийн төгсгөлд би Анатолий Сотниковоос үнэгүй зөвлөгөө өгөхийг хүсч байна. Энэ бол туршлагатай програмистын сургалт юм. Тэр байна тусдаа суурь SKD дээр хэрхэн тайлан гаргахыг танд үзүүлэх болно. Та зүгээр л анхааралтай сонсож, санаж байх хэрэгтэй! Та дараах асуултуудад хариулт авах болно.
  • Энгийн жагсаалтын тайланг хэрхэн үүсгэх вэ?
  • Талбарууд таб дээрх Талбар, Зам, Гарчиг баганууд юунд зориулагдсан вэ?
  • Бүдүүвчний талбарт ямар хязгаарлалтууд байдаг вэ?
  • Дүрүүдийг хэрхэн зөв тохируулах вэ?
  • Байршлын талбарууд ямар үүрэг гүйцэтгэдэг вэ?
  • Асуулгад өгөгдлийн байршлын табыг хаанаас олох вэ?
  • SKD дээр параметрүүдийг хэрхэн тохируулах вэ?
  • Цаашид илүү сонирхолтой...
Магадгүй та шаардлагатай мэдээллийг хайж интернетээр аялахыг оролдох хэрэггүй болов уу? Түүнээс гадна бүх зүйл ашиглахад бэлэн байна. Зүгээр л эхэл! Үнэгүй видео хичээл дээр юу байгаа талаар бүх дэлгэрэнгүй мэдээлэл

Асуулга дахь өгөгдлийн бүрдлийн табын тухай хичээлүүдийн нэг нь энд байна:



ACS дээр тайлан гаргахдаа тайлангийн маягт дээр хугацааны сонголтыг харуулах шаардлагатай болдог бөгөөд ингэснээр та огноог гараар бөглөх шаардлагагүй, харин жагсаалтаас сонгох хэрэгтэй. стандарт хугацаа"Жил", "Сар", "Долоо хоног" гэх мэт. Огноо төрлийн параметрүүдийн хувьд та зөвхөн "Энэ жилийн эхлэл, сар гэх мэт"-ийг зааж өгөх боломжтой боловч "Төгсгөл"-ийг заагаагүй болно.

Баримт нь өгөгдлийн төрлүүдээс зөвхөн "Стандарт эхлэх огноо" төрлийг ашиглах боломжтой, гэхдээ би "Стандарт дуусах огноо" төрлийг бас хүсч байна.

Үүнийг тойрч гарах арга зам бий.

  1. Шинэ параметр үүсгээд "Үе" гэж нэрлэе.
  2. Энэ параметрийг "Стандарт хугацаа" төрөлд тохируулна уу.
  3. Асуулгад ашиглагдаж буй "StartPeriod" ба "EndPeriod" параметрүүдийн "Илэрхийлэл" талбарт " илэрхийллийг тохируулна уу. &Period.StartDate" болон " &Period.EndDate" тус тус.

Гэхдээ бага зэрэг нарийн зүйл бий. Хэрэв бид хүсэлтэд ашигладаг бол виртуал хүснэгтүүд, дараа нь тайлан ажиллахаа больж, "Харах боловсруулах алдаа, төрөл таарахгүй байна, параметрийн дугаар ..." гэх мэт алдааны мессеж гарч ирэх болно.

Үүнээс зайлсхийхийн тулд та виртуал хүснэгтийн бүх параметрүүдийг устгах хэрэгтэй.

Мөн тэдгээрийг "Өгөгдлийн бүрдэл" таб дээрх хүснэгтэд нэмнэ үү.

Параметрүүдийг харуулахын тулд хурдан тохиргоотайлан, тайлангийн параметрүүдэд харгалзах тугийг идэвхжүүлнэ.

Одоо тайлангийн маягт дээрх хугацааг сонгох нь иймэрхүү харагдаж байна.

ACS дахь хугацааг тогтоох зарим онцлог.

Өгөгдлийн бүрдлийн систем (DCS) ашиглан боловсруулсан ихэнх тайлангууд нь хэрэглэгчээс тайлан гаргах хугацааг оруулахыг шаарддаг.

Дүрмээр бол, ACS-д хугацааны оролтыг параметрүүдээр дамжуулан дараах бүтцийг ашиглан зохион байгуулдаг. Үзнэ үү. Энэ үеийг оруулах аргыг "сонгодог" гэж үздэг бөгөөд үүнийг ITS болон 1С-ийн хөгжлийн талаархи бусад уран зохиолын нийтлэлд тайлбарласан болно. Тиймээс үүнийг үндэс болгон авч үзье. Жишээ болгон бүх баримт бичгийг олж авдаг энгийн асуулгыг авч үзье заасан хугацаасм.

Энэ тайланг ашиглах үед хэрэглэгч параметрүүдээр дамжуулан үеийг тохируулдаг, харна уу. Бүх зүйл зөв байх шиг байна ... ГЭХДЭЭ жижиг асуудал байна:

Гол нь хэрэглэгчдийн дийлэнх нь тухайн үеийг 1С "ойлгодог"-оос өөрөөр "ойлгодог", жишээ нь:

Хэрэглэгчийн үүднээс авч үзвэл хугацаа нь тогтоогдоогүй, өөрөөр хэлбэл ХЯЗГААРГҮЙ, өөрөөр хэлбэл огнооны хязгаарлалтгүй БҮХ баримт бичгийг тайланд оруулах ёстой.

1С системийн "үзэл бодлоор" параметрийн хугацааг тогтоосон бөгөөд ... түүний хоёр хил хязгаар нь 01.01-тэй тэнцүү байна.

Хэрэглэгчийн үүднээс 2010 оны 01-р сарын 28-ны өдрөөс эхлэн бүх баримт бичгийг тайланд оруулах ёстой.

"Үзэл бодлоор" 1С хугацаа 2010-01-28 - 01/01/0001 нь үл хамаарах зүйл болно.

Мэдээжийн хэрэг, та тайланд яагаад түүний үзэхийг хүсч буй баримт бичгүүдийг харуулахгүй байгаа, 1С-ийн "үзэл бодлоос" хугацааг хэрхэн танилцуулж байгааг тайлбарлахыг оролдож болно, гэхдээ энэ нь талархалгүй ажил бөгөөд буруу юм. Сайхан хөтөлбөрЭнэ нь юуны түрүүнд хэрэглэгчдэд тохиромжтой байх ёстой, учир нь энэ програм нь хэрэглэгчдэд байдаг бөгөөд эсрэгээр нь биш, тиймээс хэрэглэгчийн ойлгосноор үеийг ойлгохын тулд 1С-д "заах" шаардлагатай болно, тухайлбал:

нэг). StartPeriod болон EndPeriod-г тохируулаагүй -> бүх баримт бичиг.

2). Зөвхөн StartPeriod-г тохируулсан -> StartPeriod-аас эхлэн бүх баримт бичиг

3). Нэмж дурдахад бид Хугацааны төгсгөл >= Хугацааны эхлэл гэдгийг шалгах бөгөөд хэрэв энэ нь үнэн биш бол бид Хугацааны төгсгөлийг тогтоогоогүй гэж үзэх болно, i.e. 2).

Дээр дурдсан зүйлс дээр үндэслэн EndDate параметрийн илэрхийлэл нь:

ХЭЗЭЭ &Period.EndDate=DATETIME(1,1,1)

ТЭГВЭЛ DATETIME(3999,12,31)

ХЭЗЭЭ &Хугацаа.Төгсгөл<&Период.ДатаНачала

ТЭГВЭЛ DATETIME(3999,12,31) DATETIME(3999,12,31,23,59,59)

&Хугацаа.Төгсгөлийн огноо

Бидний үеийн сонголтын дизайны эцсийн дүр төрхийг доор үзүүлэв

Анхаарна уу: Энэ параметрийг тохируулах механизм нь хуучин 1C 8.1 ба 8.2 платформуудад зориулагдсан (мөн тэдгээрийн хяналтан дор ажилладаг тохиргоонууд), 1С платформын хуучин хувилбарууд нь бөглөөгүй параметрүүдийг хянах суурилуулсан механизмтай бөгөөд тайлбарласан механизмд хандах шаардлагагүй болно. Энэ нийтлэлд 1С платформын зарим хувилбараас гадна алдаа, буруу ажиллах боломжтой.

Энэ нийтлэлд Мэдээллийн Зохиогчийн Систем (ACS) ашиглах хугацааг тохируулах зарим онцлог шинж чанарууд, дундаж хэрэглэгч ба 1С системийн хоорондох хугацааны үзэл баримтлалын зөрүүгээс үүдэлтэй асуудлуудыг авч үзэх бөгөөд тэдгээрийг шийдвэрлэх арга замыг санал болгож байна. .
Өгөгдлийн бүрдлийн систем (DCS) ашиглан боловсруулсан ихэнх тайлангууд нь хэрэглэгчээс тайлан гаргах хугацааг оруулахыг шаарддаг. Дүрмээр бол, ACS-д хугацааны оролтыг дараах бүтцийг ашиглан параметрүүдээр зохион байгуулдаг. Зураг. Зураг 1Энэ үеийг оруулах аргыг "сонгодог" гэж үздэг бөгөөд үүнийг 1С-ийн хөгжилд зориулсан ITS болон бусад уран зохиолын талаархи нийтлэлд тайлбарласан тул бид үүнийг үндэс болгон авах болно. Жишээлбэл, тухайн хугацааны бараа/үйлчилгээний борлуулалтын бүх баримт бичгийг олж авдаг энгийн асуулга авч үзье (Зураг 2-ыг үз). Зураг 2Энэ тайланг ашиглах үед хэрэглэгч харах параметрүүдээр дамжуулан хугацааг тогтоодог. Зураг 3Бүх зүйл зөв юм шиг санагдаж байна ... ГЭХДЭЭ жижиг асуудал байна:

Гол нь хэрэглэгчдийн дийлэнх нь тухайн үеийг 1С "ойлгодог"-оос өөрөөр "ойлгодог", жишээ нь:
нэг). Санаж үз Зураг 3
Хэрэглэгчийн үүднээс авч үзвэл хугацаа нь тогтоогдоогүй, өөрөөр хэлбэл ХЯЗГААРГҮЙ, өөрөөр хэлбэл огнооны хязгаарлалтгүй БҮХ баримт бичгийг тайланд оруулах ёстой.
1С системийн "үзэл бодлоор" параметрийн хугацааг тогтоосон бөгөөд ... түүний хоёр хил хязгаар нь 01.01-тэй тэнцүү байна.
2). Санаж үз Зураг 4
Хэрэглэгчийн үүднээс 2010 оны 01-р сарын 28-ны өдрөөс эхлэн бүх баримт бичгийг тайланд оруулах ёстой.
"Үзэл бодлоор" 1С хугацаа 2010-01-28 - 01/01/0001 нь үл хамаарах зүйл болно.

Мэдээжийн хэрэг, та тайланд яагаад түүний үзэхийг хүсч буй баримт бичгүүдийг харуулахгүй байгаа, 1С-ийн "үзэл бодлоос" хугацааг хэрхэн харуулсан талаар тайлбарлахыг оролдож болно, гэхдээ энэ нь талархалгүй ажил бөгөөд буруу юм. Сайн програм нь юуны түрүүнд хэрэглэгчдэд тохиромжтой байх ёстой, учир нь энэ програм нь хэрэглэгчдэд байдаг бөгөөд эсрэгээр нь биш, тиймээс хэрэглэгчийн ойлгосноор үеийг ойлгохын тулд 1С-д "заах" шаардлагатай болно. :
нэг). StartPeriod болон EndPeriod-г тохируулаагүй -> бүх баримт бичиг.
2). Зөвхөн StartPeriod-г тохируулсан –> StartPeriod-аас эхлэн бүх баримт бичиг
3). Нэмж дурдахад бид Хугацааны төгсгөл >= Хугацааны эхлэл гэдгийг шалгах бөгөөд хэрэв энэ нь үнэн биш бол бид Хугацааны төгсгөлийг тогтоогоогүй гэж үзэх болно, i.e. 2).
Дээр дурдсан зүйлс дээр үндэслэн EndDate параметрийн илэрхийлэл дараах байдалтай байна.

ХЭЗЭЭ &Period.EndDate=DATETIME(1,1,1) ДАРАА DATETIME(3999,12,31,23,59,59) БУСДАА ХЭЗЭЭ &Period.EndDate-г СОНГОХ<&Период.ДатаНачала ТОГДА ДАТАВРЕМЯ(3999,12,31,23,59,59) ИНАЧЕ &Период.ДатаОкончания КОНЕЦ КОНЕЦ

Бидний үеийн сонголтын дизайны эцсийн дүр төрхийг доор үзүүлэв Зураг 5

За ингээд эхэлцгээе.

Энгийн байхын тулд жишээг ойлгохын тулд бид нэг энгийн урвуу хуримтлалын бүртгэл дээр тулгуурлана.

Миний хувьд энэ бол "Ажлын бүртгэл"-ийн хуримтлалын бүртгэл юм.

Жишээлбэл, бид түүний параметрүүдийг хатуу зааж өгөх болно (ACS дээр параметрүүдийг зөөлөн тавих замаар биш):

Виртуал хүснэгтийн давтамж нь "Бичлэг" гэдгийг анхаарна уу.

Гэхдээ дээр дурдсанчлан бидэнд үе үе үе үе хэрэгтэй байгаа тул би "Үе" талбарыг дараах байдлаар тооцоолохыг санал болгож байна (маш үзэсгэлэнтэй биш, гэхдээ би илүү сайн сонголтыг хараагүй):

Дэлгэцийн зургаас харахад хэрэглэгчийн маягт дээр заасан параметр нь хүсэлт рүү шилждэг: "Үе үе" тооллогын утга - энэ тооллого нь бараг бүх стандарт шийдэлд байдаг.

Түүний боломжтой төрлүүдийг "Параметрүүд" таб дээр харуулав.

Энэ тохиргоог хийснээр бид бүх зүйл сайхан, нүдэнд тааламжтай байхын тулд хугацаагаа форматладаг)

Энд бодит форматууд байна:

Сар: DF="MMMM yyyy "y.""

Өдөр: DF = dd.MM.yyyy

Долоо хоног: df = ""Өдгөн сар.жаа"-аас "Долоо хоног"

Улирал: DF = "" улирал " yyyy "y."

Он: DF = "yyyy "y."

Арван жил: DF = ""Арван жил" gg.MM.yyyy "

Хагас жил: DF = "" Хагас жил" gg.MM.yyyy"

Тэгээд л болоо. Үүний үр дүнд бид гайхалтай зурагтай болно: