Sənədlərin cədvəl hissəsindən məlumatları necə əldə etmək olar? Sənədin cədvəl hissəsindən məlumat alın 1s

Başlanğıc Tərtibatçılar üçün Əsas səhifə Proqramlaşdırmağı öyrənin

Sənədlərin cədvəl hissəsindən məlumatları necə əldə etmək olar?

Məsələn, cədvəl bölməsində göstərilən bütün ehtiyat maddələrini əldə etmək istədiyiniz bir vəziyyəti nəzərdən keçirin Mallar sənədlər Malların və xidmətlərin reallaşdırılması.

Bunu etmək üçün aşağıdakı mətni olan sorğudan istifadə edə bilərsiniz:

SƏNƏDDƏN FƏRQLİ XİDMƏTLƏR mallarının realizəsini SEÇİN.Nomenklatura KİMİ Sənəddən.Xidmət mallarının realizəsi.Mallar AS.

Mənbə kimi sənədlərin cədvəl hissəsini - cədvəli göstəririk Sənəd.Malların satışıXidmətlər.Mallar. Sahəni çıxış sahəsi kimi elan edin Nomenklatura Mənbə cədvəlinin bir hissəsidir. Bundan əlavə, eyni əmtəə obyekti, təbii ki, sənədlərdə bir dəfədən çox ola biləcəyi üçün müraciət edirik. MÜXTƏLİF sorğunun çıxış cədvəlində yalnız fərqli sətirləri əldə etmək üçün.

Məsələn, emal yaradaq Məhsul siyahısı sənədin seçildiyi yer Malların və xidmətlərin reallaşdırılması, və müvafiq düyməni klikləməklə, bu sənədin cədvəl hissəsində olan nomenklaturanın təkrar olunmayan maddələrinin siyahısı mesaj pəncərəsində göstərilir.

Nomenklaturanın seçilməsini yalnız müəyyən bir sənədin cədvəl hissəsindən nomenklatura ilə məhdudlaşdırmaq üçün parametrdən istifadə edirik. Link sorğudakı vəziyyətdə ( HARA...):

SƏNƏDDƏN FƏRQLİ SEÇİN XİDMƏTLƏR mallarının realizasiyası Nomenklatura Nomenklatura KİMİ Sənəddən Xidmətlər mallarının reallaşdırılması Mallar xidmət mallarının realizasiyası HARADA Mallar Xidmətlərin mallarının reallaşdırılması Link = & Link

Pul və malları nəzərə almaq üçün biznesdə müxtəlif cədvəllərdən geniş istifadə olunur. Demək olar ki, hər bir sənəd cədvəldir.

Cədvəllərdən birində anbardan göndəriləcək mallar göstərilir. Başqa bir cədvəldə - bu malların ödənilməsi öhdəliyi.

Buna görə də, 1C-də masalarla işləmək görkəmli yer tutur.

1C-də olan masalara "masa hissələri" də deyilir. İstinad kitabçalarında, sənədlərdə və başqalarında var.

Sorğu yerinə yetirilməsi nəticəsində cədvəli qaytarır, ona iki müxtəlif yolla daxil olmaq olar.

Birinci - daha sürətli - seçim, ondan satırlar əldə etmək yalnız qaydada mümkündür. İkincisi, sorğunun nəticəsini dəyərlər cədvəlinə boşaltmaq və sonra ona təsadüfi giriş.

//Variant 1 - sorğu nəticələrinə ardıcıl giriş

// masa alın
Seçim = Query.Execute().Select();
// sorğu nəticəsinin bütün sətirlərini sıra ilə keçin
While Selection.Next() Loop
Hesabat (Seçim.Ad);
EndCycle;

//Variant 2 - dəyərlər cədvəlinə yükləmə
Sorğu = Yeni Sorğu("Kataloqdan Ad SEÇ.Nomenklatura");
// masa alın
Cədvəl = Query.Execute().Upload().
// onda biz də bütün sətirləri keçə bilərik
Cədvəl döngəsindən hər bir sətir üçün
Hesabat (String.Name);
EndCycle;
//və ya sətirlərə özbaşına daxil olmaq
String = Cədvəl.Tap("Kürək", "Ad");

Əhəmiyyətli bir xüsusiyyət, sorğunun nəticəsində əldə edilən cədvəldə bütün sütunların güclü şəkildə yazılmasıdır. Bu o deməkdir ki, Nomenklatura axtarışından Ad sahəsini tələb etməklə siz icazə verilən uzunluğu N simvoldan çox olmayan String tipli sütun alacaqsınız.

Formadakı cədvəl (qalın müştəri)

İstifadəçi cədvələ yerləşdirildikdə onunla işləyir.

Dərsdə və dərsdə formalarla işləməyin əsas prinsiplərini müzakirə etdik

Beləliklə, cədvəli formada yerləşdirək. Bunu etmək üçün cədvəli idarəetmə panelindən sürükləyə bilərsiniz. Eynilə, menyudan Forma/Daxil et idarəsini seçə bilərsiniz.

Məlumatlar konfiqurasiyada saxlanıla bilər - onda siz formasını redaktə etdiyiniz konfiqurasiya obyektinin mövcud (əvvəllər əlavə edilmiş) cədvəl hissəsini seçməlisiniz.

Data xüsusiyyətində "..." düyməsini basın. Siyahıya baxmaq üçün cədvəl hissələri, Obyekt filialını açmalısınız.

Cədvəl hissəsini seçərkən, 1C özü formadakı cədvələ sütunlar əlavə edəcəkdir. İstifadəçinin belə cədvələ daxil etdiyi sətirlər kataloq/sənədlə birlikdə avtomatik olaraq yadda saxlanılacaq.

Eyni Data xüsusiyyətində siz ixtiyari ad daxil edə və ValueTable tipini seçə bilərsiniz.

Bu o deməkdir ki, ixtiyari dəyərlər cədvəli seçilmişdir. Avtomatik olaraq sütunlar əlavə etməyəcək, avtomatik olaraq saxlanmayacaq, ancaq onunla istədiyinizi edə bilərsiniz.

Cədvəl üzərinə sağ klikləməklə bir sütun əlavə edə bilərsiniz. Sütunun xassələrində onun adını (1C kodunda istinad üçün), formadakı sütun başlığını, cədvəl hissəsinin atributu ilə əlaqəni göstərə bilərsiniz (sonuncu - ixtiyari bir cədvəl seçilməyibsə, lakin cədvəl hissəsi).

Formadakı cədvəl xassələrində istifadəçinin sətirləri əlavə edib silə biləcəyini təyin edə bilərsiniz. Daha təkmil forma Yalnız Baxış qutusudur. Bu xüsusiyyətlər məlumatı göstərmək üçün nəzərdə tutulmuş cədvəlləri təşkil etmək üçün faydalıdır, lakin redaktə etmək üçün deyil.

Cədvəli idarə etmək üçün formada komanda panelini göstərmək lazımdır. Form/Insert Control/Command Panel menyu elementini seçin.

Komanda panelinin xassələrində Avtomatik tamamlama qutusunu seçin ki, alətlər panelindəki düymələr avtomatik görünsün.

Forma üzrə cədvəl (nazik/idarə olunan müştəri)

Aktiv idarə olunan forma bu hərəkətlər bir az fərqli görünür. Əgər formada cədvəl bölməsi yerləşdirmək lazımdırsa, Obyekt bölməsini genişləndirin və cədvəl bölmələrindən birini sola dartın. Və bu qədər!

Dəyərlər cədvəlini yerləşdirmək lazımdırsa, yeni forma atributunu əlavə edin və onun xüsusiyyətlərində növü - dəyərlər cədvəlini təyin edin.

Sütunlar əlavə etmək üçün bu forma atributunda siçan sağ düyməsinin menyusundan, Atribut əlavə et sütunundan istifadə edin.

Sonra da masanı sola sürükləyin.

Cədvəlin bir əmr çubuğuna sahib olması üçün cədvəl xüsusiyyətlərində İstifadə - Əmr çubuğunun mövqeyi bölməsində dəyərləri seçin.

Cədvəlin Excel-ə ixracı

Formada yerləşən istənilən 1C cədvəli çap edilə və ya Excel-ə yüklənə bilər.

Bunu etmək üçün üzərinə sağ klikləyin boş yer cədvəldə və Siyahıyı göstər seçin.

İdarə olunan (nazik) müştəridə oxşar hərəkətlər menyu elementindən istifadə etməklə həyata keçirilə bilər Bütün hərəkətlər/Ekran siyahısı.

1C-də bir çox obyekt üçün cədvəl hissələri mövcuddur:

  • İstinad kitabçaları
  • Sənədlər
  • Hesabatlar və emal
  • Hesab planları
  • Xüsusiyyət növlərinin planları
  • Hesablama Tipi Planlar
  • Biznes prosesləri və vəzifələri

Cədvəl hissələri bir obyektə aid olan qeyri-məhdud strukturlaşdırılmış məlumatı saxlamağa imkan verir.

Cədvəl hissələri ilə işləməyin bəzi üsullarına baxaq.

Cədvəl hissəsini necə keçmək olar

Cədvəl hissəsini keçmək üçün bir döngədən istifadə edə bilərsiniz Hər biri üçün

TabularPart Loop-dan hər bir sətir üçün

Hesabat (String.TablePartAttribute);

EndCycle;

Hər iterasiyada dəyişənə çevrilir Xətt cədvəl hissəsinin növbəti sətri köçürülür. Simli atribut dəyərləri ifadə ilə əldə edilə bilər String.AttributeName.

Cədvəl bölməsinin seçilmiş sətirlərini necə əldə etmək və keçmək olar

Forma elementi obyektin cədvəl hissəsindən məlumatları göstərmək üçün istifadə olunur. masa sahəsi. Cədvəl sahəsində birdən çox sətir seçmək qabiliyyətini aktivləşdirmək üçün dəyəri təyin etməlisiniz Çoxsaylı mülkündə Seçim rejimi.

Seçilmiş sətirlərin siyahısını əldə etmək üçün aşağıdakı kodu istifadə edin:

Döngü seçilmiş xətlər üzərində təkrarlamaq üçün istifadə olunur Hər biri üçün:

SelectedLines = FormElements. Cədvəl sahəsinin adı. Seçilmiş xətlər;

Seçilmiş Satırlar Döngüsündən hər Sətir üçün

// döngə məzmunu

EndCycle;

Cədvəl hissəsinin (cədvəl sahəsi) sətirlərini proqramlı şəkildə seçmək və seçimi necə silmək olar

Cədvəl sahəsində sətirlərin seçimini proqramlı şəkildə ləğv etmək üçün:

ElementsForm. Cədvəl sahəsinin adı. SelectedStrings. Clear();

Cədvəl sahəsində bütün sətirləri proqramlı şəkildə seçmək üçün:

TablePart Loop-dan hər bir CurrentRow üçün
ElementsForm. Cədvəl sahəsinin adı. Seçilmiş xətlər. Əlavə et (CurrentRow);
EndCycle;

Cədvəli necə təmizləmək olar

Cədvəl Hissəsi. Clear();

Cədvəl bölməsinin cari sırasını necə əldə etmək olar

Cari xətt istifadəçinin olduğu dövrdür Bu an kursor yerləşir. Onu əldə etmək üçün cədvəl hissəsi ilə əlaqəli olan formada nəzarətə müraciət etmək lazımdır.

Normal formalar üçün kod belə görünür:

ElementsForm. Cədvəl sahəsinin adı. CurrentData;

İdarə olunan formalar üçün:

Elementlər. Cədvəl sahəsinin adı. CurrentData;

Elektron cədvələ yeni sətir necə əlavə etmək olar

Cədvəl bölməsinin sonuna yeni sətir əlavə etmək:

NewRow = Cədvəl Hissəsi. Əlavə et();

Cədvəl bölməsinin istənilən yerinə yeni sətir əlavə etmək (sonrakı sətirlər dəyişdiriləcək):

NewRow = Cədvəl Hissəsi. Yapışdırın(İndeks)
//İndeks - əlavə edilmiş xəttin nömrəsi. Sətirlərin nömrələnməsi sıfırdan başlayır.

Yeni xətt. Atribut1 = "Dəyər" ;

Cədvəl sırasının təfərrüatlarını proqramlı şəkildə necə doldurmaq olar

Əgər istifadəçinin əlavə etdiyi cədvəl bölməsinin sətirinin təfərrüatlarını proqramlı şəkildə doldurmaq lazımdırsa, cədvəl bölməsinin hadisə idarəçisindən istifadə etməlisiniz. Başlanğıc Redaktə.

İşləyici tərəfindən yaradılan prosedur üç parametrə malikdir:

  • Element- nəzarəti ehtiva edir Cədvəl sahəsi.
  • Yeni xətt- boolean. Dəyəri ehtiva edir Doğru, cədvəl bölməsinin yeni sətri əlavə olunarsa və yalan, istifadəçi artıq mövcud olan sıranı redaktə etməyə başlamışsa.
  • kopyalama- boolean. Dəyəri ehtiva edir Doğru istifadəçi sətri kopyalayırsa və Yalan digər hallarda.

Məsələni nəzərdən keçirək. Deyək ki, cədvəl bölməsinin təfərrüatlarını doldurmalıyıq Hesab hesabı, yeni sətir əlavə edildiyi halda. Mövcud sıranı redaktə edərkən, mühasibat uçotu hesabını dəyişməyə ehtiyac yoxdur.

Prosedur Cədvəl Hissəsi Redaktə Başlamasında (Element, Yeni Sıra, Kopiya)

//Əgər istifadəçi mövcud cərgəni redaktə edirsə, heç nə etməyin
Əgər NewString DEYİL O zaman
Qayıdış;
EndIf;

//Əgər sətir yenidirsə, hesabı təyin edin
TextString = Element. CurrentData; //Cədvəl bölməsinin cari sırası alındı
TekString. AccountAccount = Hesablar Planları. Özünü dəstəkləyən. İstədiyiniz Hesab;
EndProcedure




Üst