Bu makalede ele alalım adım adım talimatlar 1C 8.3'te yönetilen uygulama modunda harici işleme oluşturmak için yönetilen formları kullanacağız. Ve en önemlisi, onu standart alt sistemler sürüm 2.0 ve daha yeni bir kitaplık üzerine inşa edilen 1C yapılandırmalarının "harici işleme" mekanizmasına nasıl bağlayacağımızı öğreneceğiz.
Görev şu şekilde olacaktır: "Öğe" dizininde bir grup eylemi gerçekleştirecek en basit harici işlemi oluşturmak, yani belirtilen öğe grubu için seçilen KDV oranı yüzdesini ayarlamak.
Bunu yapmak için programda hemen gerekli ayarları yapacağız (1C 8.3 yapılandırmasını düşünüyoruz: yönetilen formlarda “Kurumsal Muhasebe 3.0”).
Bu kutuyu işaretlemek bize harici işlemeyi kullanma fırsatı verir.
Bir örnek kullanarak 1C 8.3'te yeni bir harici işlem oluşturma
Şimdi yapılandırıcıya gidelim. "Dosya" menüsünde "Yeni..." seçeneğini seçin. Oluşturulacak dosya tipini seçmek için bir pencere açılacaktır. “Harici işleme”yi seçin:
Yeni bir harici işleme penceresi açılacaktır. Hemen ona bir isim verelim. İşlemeyi diske kaydederken sunulacaktır:
Yeni bir kontrollü işleme formu ekleyelim. Bunun bir işleme şekli olduğunu ve asıl işlem olduğunu belirtiyoruz:
Formda iki detayımız olacak:
- İsimlendirme grubu – “Adlandırma” dizinine bağlantı;
- SelectVATRate – KDV Oranının aktarımına bağlantı.
Detayları sağ üst penceredeki “Özellikler” sütununda oluşturuyoruz. Bunları fareyle sol üst pencereye sürükleyin. Yeni ayrıntılar hemen aşağıdaki formda görünmelidir.
Detayların sırası “Yukarı” – “Aşağı” okları kullanılarak değiştirilebilir:
1C'de 267 video dersini ücretsiz alın:
Geriye kalan tek şey “Yükle” düğmesini eklemek. Yönetilen formlarda forma yalnızca düğme ekleyemezsiniz. Form elemanlarının yapısına ekleseniz bile formun kendisinde görünmeyecektir. Düğmenin yürüteceği komutla ilişkilendirilmesi gerekir. “Komutlar” sekmesine gidin ve “KDV Oranını Ayarla” komutunu ekleyin. Komut özelliklerinde bir eylem oluşturun. “İstemcide” komut işleyicisini seçin. Forma, form öğelerinin bulunduğu bölüme sürüklenerek de bir komut eklenebilir.
Form modülünde aynı isimde bir prosedür oluşturulacaktır. İçinde sunucudaki prosedürü çağıracağız:
&İstemcide
Prosedür KDV Oranını Ayarlama (Komut)
SetVATRateOnServer();
Prosedürün Sonu
Sunucudaki prosedürde KDV oranının ayarlanmasıyla ilgili küçük bir istek ve eylemler yazacağız:
&Sunucuda
Prosedür SetiVATRateOnServer()
Talep = Yeni Talep;
İstek.Text =
"SEÇMEK
| İsimlendirme.Bağlantı
|DAN
| Dizin.Adlandırma AS Adlandırma
|NEREDE
| HİYERARŞİDE Adlandırma.Bağlantı (&Adlandırma Grubu)
| VE Adlandırma DEĞİL.MarkDeletion
| VE İsimlendirme DEĞİL, Bu bir Gruptur”;
request.SetParameter("Öğe Grubu", Öğe Grubu);
ResRequest = request.Execute();
SelectRecordDet = ResRequest.Select();
SelectRecordDet.Next() Döngüsü sırasında
Girişim
SprNomObject.Write();
İstisna
Report("Nesne yazılırken hata oluştu """ + SprNomObject + """!
|» + AçıklamaHatası());
Deneme Sonu;
EndCycle;
Prosedürün Sonu
“Form” sekmesine dönüyoruz, forma bir buton ekliyoruz ve onu komutla ilişkilendiriyoruz:
Böylece işlememiz kullanıma hazır hale gelir. Bunu "1C Enterprise" modunda çağırmak için "Dosya" - "Aç" menüsüne gitmeniz ve oluşturulan dosyayı seçmeniz gerekir.
Bununla birlikte, bu modda çalışmak, işlemde hata ayıklamak için uygundur, ancak kullanıcı için tamamen uygun değildir. Kullanıcılar her şeyin "parmaklarının ucunda", yani veritabanının kendisinde olmasına alışkındır.
“Ek raporlar ve işlemler” bölümü bunun içindir.
Fakat oraya işlemlerimizi ekleyebilmek için önce ona bir açıklama verip, programa özelliklerini anlatmalıyız.
“Harici İşleme Hakkında Bilgi” fonksiyonunun açıklaması
Bu fonksiyonun içeriğine bir örnek vereceğim. Dışa aktarılabilir olmalı ve buna göre işleme modülünde bulunmalıdır:
İşlev InformationOnExternalProcessing() Dışa Aktarma
DataForReg = Yeni Yapı();
DataForReg.Insert("Ad", "KDV oranı ayarı");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Sürüm", "ver.: 1.001");
DataForReg.Insert("Bilgi", "Nomenklatür dizininde KDV oranının ayarlanması için işlem yapılıyor");
DataForReg.Insert("Görünüm", "Ek İşleme");
KomutTablosu = YeniDeğerTablosu;
TabZnCommands.Columns.Add("Tanımlayıcı");
TabZnCommands.Columns.Add("Kullanım");
TabZnCommands.Columns.Add("Görüntüle");
NewRow = TabZnCommands.Add();
NewString.Identifier = "Açıkİşleme";
NewRow.Use = "OpenForm";
NewRow.View = "İşlemeyi aç";
DataForReg.Insert("Komutlar", TabZnCommands);
DataForReg'i döndür;
Son Fonksiyon
Kayıt veri yapısının hangi alanlarının kullanılması gerektiğini daha iyi anlamak için “Ek raporlar ve işlemler” dizininin detaylarına bakalım:
Gördüğünüz gibi her şey oldukça basit. Yalnızca bir özellik eşleşmiyor: “Başlatma Seçeneği” – “Kullan”. Ortak modüllerden birinin koduna bakarsak, bu alanlardan bir kısmının nasıl ortaya çıktığını göreceğiz:
Bir yapının hangi alanlarının gerekli olduğunu belirlemek için, önce onu tanımlayamazsınız, sadece boş bir tane oluşturup ardından hata ayıklayıcıyı kullanabilirsiniz. İşlemeyi kaydederken modülleri izlerseniz, hangi alanların gerekli, hangilerinin gerekli olmadığı hemen anlaşılır.
1C 8.3'te harici işlemeyi bağlama
Harici işlemeyle çalışmak için (ve harici yazdırma formu aynı zamanda harici bir işlemdir), bir nesne vardır Harici İşleme.
İki olası durumu ele alalım:
Harici işlemler diskte bilgi tabanından ayrı olarak depolanır
1C'de harici işlemeyi programlı olarak açmak için dosyasının adresini bilmeniz gerekir. Bunu bilerek, bir işleme formu açabilir veya onunla daha fazla işlem gerçekleştirmek için bir işleme nesnesi alabilirsiniz (örneğin, bir nesne modülünden dışa aktarma işlevlerini çağırmak için).
Harici işlem formunu açma
1C'de harici bir işleme formunu programlı olarak açmak için işlevi kullanın. GetForm() nesne Harici İşleme. Fonksiyonun çeşitli parametreleri vardır. Ana işleme formunun basit bir açılışını düşünün:
Form = Harici İşlemler. GetForm(DosyaAdresi) ;
Biçim. Açık();
Küçük bir harici işlem formunu açmak için adını belirtmeniz gerekir.
//FileAddress değişkeni harici işlem dosyasının tam yolunu içerir
Form = Harici İşlemler. GetForm(DosyaAdresi, "Küçük Form") ;
Biçim. Açık();
Harici işlemeyi nesne olarak açma
Harici işlemeyi nesne olarak almak için bir işlev kullanılır Yaratmak() nesne Harici İşleme.
//FileAddress değişkeni harici işlem dosyasının tam yolunu içerir
ProcessingObject = Harici İşleme. Oluştur(DosyaAdresi) ;
Varsayılan olarak tüm işlemler güvenli modda açılır. Devre dışı bırakmak için aşağıdaki seçenekleri kullanın:
//FileAddress değişkeni harici işlem dosyasının tam yolunu içerir
Bilgi tabanına kaydedilen harici işleme veya yazdırma formu
Birçok konfigürasyonda, harici basılı formları ve işlemleri doğrudan bilgi tabanına kaydetmek mümkündür. Bunun için referans kitabı kullanılır. Harici İşleme. Harici işlemenin kendisi ikili veri olarak veya niteliklerde saklanır DepolamaHariciİşleme, veya tablo bölümünde Üyelik sahne donanımlarında DepolamaHariciİşleme.
Harici işlemeyi açmak için ihtiyacınız olan:
- Depodan alın.
- İşlenen dosyayı diske kaydedin.
- Bir form açın veya bir işleme nesnesi alın.
- Harici bir basılı formla uğraşıyorsak standart ayrıntıları doldurabiliriz Nesne Referansı ve dışa aktarma işlevini çağırın Fok.
//RefLink değişkeni, HariciProcessings dizin öğesine bir bağlantı içerir
DvData = RefLink. Harici İşleme Depolama. Elde etmek() ;
FileAddress = GetTemporaryFileName() ;
DvData. Write(DosyaAdresi) ;
ProcessingObject = Harici İşleme. Create(FileAddress, False) ;