Мэдээллийн бүртгэлд хамгийн сүүлийн үеийн оруулгуудын агшин зургийг авах боломж. Мэдээллийн бүртгэл дэх хамгийн сүүлийн үеийн бичилтүүдийн зүсмэлийг олж авах онцлог Мэдээллийн бүртгэлийн 1c баримт бичгийн хамгийн сүүлийн үеийн зүсмэлийг

/
Мэдээлэл боловсруулалтын хэрэгжилт

Тогтмол мэдээллийн бүртгэлийн нийлбэр дүнг шийдвэрлэх

Хэрэглээний хамрах хүрээ: удирддаг програм, гар утасны програм, нийтлэг хэрэглээ.

1.1. Тогтмол мэдээллийн бүртгэлийн хувьд дараах бүх нөхцөл хангагдсан тохиолдолд нийлбэр дүнг оруулахыг зөвлөж байна.

  • Бүртгэлд их хэмжээний мэдээлэл хуримтлагдах төлөвтэй байна (жишээлбэл, барааны үнэ бүхий бүртгэлийг зөвтгөх болно; гэхдээ валютын ханштай бүртгэлийн хувьд энэ нь утгагүй);
  • Тохиргоо нь одоогийн өгөгдлийг олж авахын тулд сүүлийн үеийн зүсмэлүүд болон/эсвэл өмнөхийн зүсмэлүүдэд давтамжийн асуулга өгдөг (жишээ нь виртуал хүснэгтийн параметрүүдэд хугацааг заагаагүй үед). Эхний хэсэгТэгээд Сүүлчийн зүсэм);
  • Виртуал хүснэгтүүдийн үлдсэн нөхцөлүүд байхад Эхний хэсэгТэгээд Сүүлчийн зүсэмЗөвхөн хэмжилтийн утгуудад (мөн тусгаарлах горимд) тохируулагдсан Бие даан, хамтран);
  • Бүртгэлийн өгөгдөлд хандах хязгаарлалт нь зөвхөн хэмжээсийг (мөн горимд байгаа хязгаарлагчийг) ашигладаг Бие даан, хамтран).

Асуулгад мэдээллийн бүртгэлийн нийлбэрийг ашиглах бүх нөхцлийн бүрэн жагсаалтыг үзнэ үү1C: Enterprise платформын баримт бичиг.

Жишээлбэл, хэрэв тохиргоо нь бүртгэлд байнга хийгддэг асуултуудыг багтаасан бол Үнэ нэршилОдоогийн барааны үнийг авахын тулд:

СОНГОХ зүйл. Зүйл AS Зүйл, Үнийн нэршил. Үнэ AS Үнэ, . . . Лавлахаас. Нэршил AS Нэршил ЗҮҮН ХОЛБОО Мэдээллийн бүртгэл. Үнэ нэршил. SliceLast(, PriceView = &Үнийн төрөл) ХЭРХЭН ҮнэНэршилПрограм хангамжийн үнэНэршил. Нэршил = Нэршил. Холбоос. . .

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

1.2. Үүнээс гадна та анхаарч үзэх хэрэгтэй өөр сонголтуудэдгээр нөхцөлийг хангахын тулд бүртгэлд өгсөн хүсэлтийг хянан үзэх.

Жишээлбэл, хэрэв зарим тохиолдолд бүртгэлд байгаа өгөгдөл Үнэ нэршилИрээдүйн огноогоор бүртгэгдсэн бөгөөд энэ бүртгэлд бараа сонгохдоо одоогийн огнооны хүсэлтийг үргэлж гүйцэтгэдэг (огноог виртуал хүснэгтийн параметрт тодорхой зааж өгсөн болно. Сүүлчийн зүсэм), үр дүн нь ийм асуулгын гүйцэтгэлийг хурдасгахгүй. Нийт дүнг зөвхөн бүртгэлийн эхний болон сүүлчийн бүртгэлд зориулж хийсэн тул.

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

2. Бусад бүх тохиолдолд тогтмол мэдээллийн бүртгэлд нийт дүнг оруулахыг хориглоно. Юуны өмнө, хэрэв

  • Ихэнх тохиолдолд (үргэлж) тодорхой хугацаанд (жишээлбэл, баримт бичгийн огнооны хувьд) мэдээллийн эхний/сүүлийн бүртгэлийн виртуал хүснэгтэд асуулга хийдэг.
  • виртуал хүснэгтийн нөхцөлд Эхний хэсэгТэгээд Сүүлчийн зүсэмИхэнх тохиолдолд (үргэлж) дэд асуулга, холболтыг ашигладаг (холбогдох хүснэгтүүдийн талбарт "цэгээр" дууддаг). Жишээлбэл, энэ тохиолдолд:

3. Бүртгэлд багц бичлэг бичих бүрт нийлбэр дүнгийн хүснэгтийг шинэчлэх ажил автоматаар хийгдэж байгаа тул тохиргоонд нийт дүнг дахин тооцоолох тусдаа механизм оруулах шаардлагагүй.

: Эхний хэсэгТэгээд Сүүлчийн зүсэм 1С ашиглан эдгээр виртуал хүснэгтүүдтэй ажиллах талаар бодож үзье. Илүү олон удаа ашигладаг Сүүлчийн зүсэм, тэгэхээр үүнээс эхэлцгээе.

Хамгийн сүүлийн үеийн зүсмэл нь хэмжилтийн хүрээнд заасан огнооны мэдээллийн бүртгэлийн сүүлчийн бичлэгийг авах боломжийг танд олгоно. Сүүлчийн (эхний) зүсмэлийн хүснэгтийн хувьд хаалтанд таслалаар тусгаарласан хоёр параметрийг зааж өгөх боломжтой. Эхний параметр нь зүсмэлийг хийсэн огноог агуулна (хэрэв параметрийг заагаагүй бол зүсмэлийг одоогийн огноогоор хийнэ). Хоёрдахь параметр нь 1С асуулгын хэл дээрх нөхцөл бөгөөд янз бүрийн сонголтуудыг тохируулах боломжийг танд олгоно. Дүрмээр бол эдгээр сонголтуудад хэмжилтийг ашигладаг. Энэ бүхэн тодорхойгүй сонсогдож байгаа тул жишээгүйгээр хийх боломжгүй юм.
Тиймээс бид мэдээллийн тогтмол бүртгэлтэй болцгооё Үнэбүтээгдэхүүн, нийлүүлэгчээр үнийг хадгалдаг. Бүртгэлийн давтамж нь өдөр байна.

Бүртгэлд дараах бичилтүүд орно

Эхлэхийн тулд бид дараах хүсэлтийг гүйцэтгэх замаар параметрүүдийг ашиглахгүйгээр сүүлчийнх нь зүсмэлийг авах болно.

Үеийн үнэХэсэгтСүүлийн.Хугацаа,ҮнэХэсэгСүүлийн.Бүтээгдэхүүнийг Бүтээгдэхүүн, ҮнэХэсэгСүүлчийн.Нийлүүлэгчийг Нийлүүлэгч, ҮнэХэсэгСүүлийн.Үнийн дүнг Бүртгэлийн Мэдээлэлээс СОНГООРОЙ.Үнэ.ХүсмэлийгҮнийнХэсэгСүүлийн

Параметрүүдийг заагаагүй тул зүсмэлийг одоогийн огноо - 02/01/2017-д гүйцэтгэнэ. Үүний үр дүнд бид дараах хүснэгтийг авна

Эндээс бид Бүтээгдэхүүн + Нийлүүлэгчийн хэмжээсийн хослол нь өвөрмөц гэдгийг харж байна, өөрөөр хэлбэл. Бүртгэлийн хэмжилтийн хослол бүрийн хувьд хамгийн их огноотой бичлэгийг авсан бөгөөд бичлэгийн огноо нь одоогийн огнооноос бага буюу тэнцүү байна.

Бид ижил зүйлийг хийх хэрэгтэй гэж бодъё, гэхдээ бид 2017/01/15-аас бага буюу түүнээс бага огноотой бичлэгүүдийг авахыг хүсч байна. Үүнийг хийхийн тулд та хүсэлтийн хамгийн сүүлийн зүсмэлийн хүснэгттэй мөрийг дараах байдлаар өөрчлөх хэрэгтэй

RegisterInformation.Price.SliceLast(&CutDate,) AS PriceSliceLast-аас

Хүсэлтийг гүйцэтгэхийн өмнө мэдээжийн хэрэг та түүнд параметр дамжуулах хэрэгтэй &Тасалсан огноо. Одоо асуулгын үр дүн иймэрхүү харагдах болно

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

FROM RegisterInformation.Price.Last Cut(&Таслах огноо, Бүтээгдэхүүн = &Бүтээгдэхүүн БА Нийлүүлэгч = &Нийлүүлэгч) Сүүлчийн үнэ

Үүний үр дүнд бид зөвхөн нэг бичлэгийг авдаг

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

Асуулт зохион бүтээгчийн хамгийн сүүлийн үеийн зүсмэлүүд бүхий хүснэгтийг сонгосны дараа та товчлуур дээр дарах ёстой. Виртуал хүснэгтийн сонголтуудмөн нээгдэх цонхонд бичнэ үү

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

IN туршилтын тохиргооБидэнд дараах эх сурвалжийн мэдээлэл бүхий "Үнийн нэршил" тогтмол мэдээллийн бүртгэл бий.

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

Тайландаа бид хуучин үнэ нь 50-аас бага эсвэл тэнцүү байх нөхцөлтэй бүтээгдэхүүн, тэдгээрийн үнийг хамгийн сүүлийн үеийн бүртгэлээс авах шаардлагатай гэж үзье.

Хүсэлтийн хоёр сонголт

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

Хүсэлт = Шинэ хүсэлт; Хүсэлт. Текст = " СОНГОХ | | | | | FROM | Мэдээллийн бүртгэл. Үнэ нэршил. Хамгийн сүүлийн үеийн зүсмэлүүд ХЭРХЭН Үнийн нэршил Хамгийн сүүлийн үеийн зүсмэлүүд|ХААА | ҮнэНэршилЗүсмэл Хамгийн сүүлд. Хуучин үнэ< = 50 " ;

"ХАААН" хэсэгт байгаа нөхцөл байдалд анхаарлаа хандуулаарай. Энэ бол гол алдаа! Энэ асуулга нь нэг бичлэгийг буцаахгүй бөгөөд яагаад гэвэл: виртуал хүснэгтийг ашиглахдаа манай тохиолдолд "Сүүлчийн зүсмэл"-д тайлбарласан нөхцлийн дагуу өгөгдлийг эхлээд мэдээллийн сангаас татаж авдаг. виртуал хүснэгт, дараа нь хүсэлтийн текстэд тодорхойлсон үйлдлүүдийг гүйцэтгэнэ (бүлэглэх, "ХАААН" хэсэгт байгаа нөхцөл, эрэмбэлэх гэх мэт).

Тиймээс, бидний жишээн дээр хүсэлт нь үр дүнг буцаадаггүй. Эхлээд тэрээр сүүлчийнх нь зүсмэлийг хүлээн авч, зөвхөн дараа нь "Хуучин үнэ" шинж чанарт нөхцөлийг тавьдаг. Энэ нь диаграммд иймэрхүү харагдаж байна:

Асуудлыг зөв шийдэхийн тулд "Хуучин үнэ" шинж чанарын нөхцлийг виртуал хүснэгтийн нөхцөл рүү шилжүүлэх ёстой. Зөв хүсэлтийн текст иймэрхүү харагдах болно:

Хүсэлт = Шинэ хүсэлт; Хүсэлт. Текст = " СОНГОХ ҮнэНэршилЗүсмэл Хамгийн сүүлд. Хугацаа, ҮнэНэршилЗүсмэл Хамгийн сүүлд. Бүтээгдэхүүн, ҮнэНэршилЗүсмэл Хамгийн сүүлд. Үнэ, ҮнэНэршилЗүсмэл Хамгийн сүүлд. Хуучин үнэ FROM Мэдээллийн бүртгэл. Үнэ нэршил. SliceLast(, OldPrice< = 50 ) ХЭРХЭН ҮНЭНэршилЗүсмэлСүүлийн"

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

үр дүн

Дээрх нь виртуал хүснэгтийг асуулгад ашиглах бүх тохиолдолд (хуримтлуулах бүртгэл, нягтлан бодох бүртгэлийн бүртгэл, даалгавар гэх мэт) хамаарна гэдгийг ойлгох хэрэгтэй.

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

Заримдаа та тогтмол мэдээллийн бүртгэлээс хэд хэдэн огнооны мэдээллийг нэг дор авахын тулд асуулга ашиглах хэрэгтэй болдог. Ердийн жишээ бол валютын ханштай ажиллах явдал юм. Энэ асуудлыг шийдэх алгоритмыг жишээгээр авч үзье.

Асуудлын томъёолол

Мэдээллийн санд "Бараа, үйлчилгээний борлуулалт" баримт бичгийг үүсгэсэн бөгөөд түүний толгой хэсэгт "Валют" гэсэн атрибут байдаг. Хүсэлт нь баримт бичиг бүрээс тухайн баримт бичгийн огнооны гарчигнаас тухайн үеийн ханшийг авахыг шаарддаг. Валютын ханшийг "Валютын ханш" гэсэн үечилсэн мэдээллийн бүртгэлд хадгалдаг.
Энэ асуудлыг шийдэх шууд шийдэл нь бүх баримт бичгийг огноо, мөнгөн тэмдэгтээр нь авах, хамгийн сүүлийн үеийн "Валютын ханш" регистрийн зүсмэлийг ашиглан виртуал хүснэгтэд хандах зэрэг асуулга байж болно. Гэхдээ учир нь гогцоонд байгаа хүсэлт нь "муу" тул нэг хүсэлтээр даалгавраа хэрэгжүүлэхийг оролдъё.

Шийдэл

Асуудлыг шийдэхийн тулд бид асуулгад байгаа хүснэгтүүдийг ашиглах болно зөвхөн талбаруудын тэгш байдлын үүднээс холбогдож болно.

Бараа, үйлчилгээний борлуулалтыг СОНГОХ.Холбоос, Бараа, үйлчилгээний борлуулалт.Валют, МАКСИМУМ (Валютын ханш. Хугацаа) Үе үе ДАХЬ БАЙР Баримтаас Тохиргоо ханш Бараа, үйлчилгээний борлуулалт ХЭРХЭН Бараа, үйлчилгээний борлуулалт Мэдээллийн бүртгэлийг орхих .Валютын ханш AS Барааны борлуулалтын валютын ханш.Валютын ханш.Валютын ханш.Валютын ханш ба барааны борлуулалтҮйлчилгээ.Огноо >=Валютын ханш.Хугацаа БҮЛЭГ Програм хангамж Бараа, үйлчилгээний борлуулалт.Холбоос, Бараа, үйлчилгээний борлуулалт.Валют; ///////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////CeriodsseSce.ce. VTERONIONSSESSED RACEDOND НЭГДСЭН НЭГДСЭН ХУУДАС Валютын ханш VTP үе шатуудын ханшийн тохиргоо. Үе = Валютын ханш. Үе ба VTP Үеийн ханшийн тохиргоо. Валютын ханш = Валютын ханш. Валютын ханш.

Хүсэлт гаргах журам:

  1. Баримт бичиг бүрийн ханшийг тогтоох хугацааг авах.Баримт бичгүүдийг "Валютын ханш" ФИЗИК хүснэгттэй холбосон. Энд та холболтын нөхцөл байдалд анхаарлаа хандуулах хэрэгтэй. Валют нь тэнцүү байх ёстой бөгөөд баримт бичгийн огноо >= мэдээллийн бүртгэлийн хугацаа.
    Ийм холболтын үр дүнд баримт бичиг бүрийн хувьд нөхцөлийг хангасан эгнээний багцыг авах болно: баримт бичгийн огнооноос илүүгүй тогтоосон баримт бичгийн валютын ханшийн бүх бүртгэл.
    Эцсийн алхам бол хамгийн их ханшийн хугацааг олж авахын тулд мөрүүдийг бүлэглэх явдал юм. Үүний үр дүнд баримт бичиг бүрийн хувьд хүссэн валютын ханшийг тогтооход шаардагдах хугацааг авах болно (валютын ханшийг тогтоох дээд хугацаа, гэхдээ баримт бичгийн огнооноос хэтрэхгүй). Үр дүнг VTPeriodsSettingRates түр хүснэгтэд байрлуулна.
  2. Курс авч байна. VTP PeriodsSetting Rates түр хүснэгт нь "Валютын ханш"-ын PHSICAL хүснэгттэй холбогдсон. Холболт нь баримт бичгийн валют болон хоёр дахь түр хүснэгтэд тодорхойлсон ханш тогтоох хугацааны дагуу явагдана.