Tıklama vs Komut: 1C formunda tıklamaları doğru şekilde nasıl işlersiniz?

Kerem Aydın·9 Temmuz 2026·⏱3 dk

1C yönetilen formlarında tıklama eylemleri için şu yaklaşımı izleyin: Komut — iş mantığı eylemleri ve yeniden kullanım için (düğme/menü/panel), Tıklama — belirli bir öğenin yerel kullanıcı arayüzü tepkileri için. Bu, bakım ve erişilebilirlik kontrolünü kolaylaştırır.

İçindekiler

Tıklama ve Komut: Aradaki fark nedir

Tıklama — form öğesinin bir olayıdır. Kod, belirli bir düğmeye/hiperlinke/öğeye bağlıdır ve genellikle "bu öğenin davranışını" tanımlar.

Form komutu — arayüzün farklı yerlerinde görüntülenebilen ve programlı olarak çağrılabilen bir eylemdir. Komut işleyicisi tek bir giriş noktasıdır; erişilebilirliği, görünürlüğü ve yeniden kullanımı yönetmek daha kolaydır.

Küçük şablonlar:

// 1) Öğenin olayı
&НаКлиенте
Процедура КнопкаРассчитатьПриНажатии(Элемент)
    РассчитатьИОбновитьИнтерфейс();
КонецПроцедуры

// 2) Form komutu
&НаКлиенте
Процедура КомандаРассчитать(Команда)
    РассчитатьИОбновитьИнтерфейс();
КонецПроцедуры

Yaklaşımı nasıl seçersiniz: Pratik kriterler

Eğer eylem şunları yapıyorsa Tıklama'yı seçin:

  • öğe için kesinlikle yereldir (bir alanı genişlet/daralt, ipucu göster, blok görünürlüğünü değiştir);
  • menüde/panelde görünmemeli ve başka yerlerden çağrılmamalıdır;
  • ortak erişilebilirlik kontrolü gerektirmiyordur.

Eğer eylem şunları yapıyorsa Komut'u seçin:

  • iş mantığıyla ilgilidir: Doldur, Hesapla, İşle, Temel alarak oluştur, Yazdır;
  • formun birden fazla yerinde gereklidir (düğme + komut paneli + menü);
  • koşullara göre erişilebilirliği merkezi olarak açıp kapatmak önemlidir;
  • düğmeler arasında kod tekrarına düşme riski vardır.

Basit bir test: Eylemi kullanıcı düzeyinde bir fiille adlandırıyorsanız ("Hesapla", "Oluştur", "Gönder") — neredeyse her zaman Komut yapın. Eğer bu "belirli bir düğmenin davranışı" ise — Tıklama.

Gereksiz yere karıştırmayın: Komut özelliği dolu olan bir düğme, Tıklama içinde mantık barındırmadan çalışmalıdır; aksi takdirde neyin ve hangi sırayla yürütüldüğü belirsiz hale gelir.

İşleyicilerde istemci/sunucu: Mantık nerede çalıştırılır

Hem komut hem de öğe olayı genellikle istemcide başlar, ancak "ağır" işlerin sunucuda yapılması daha doğrudur.

Uygulama:

  • İstemci: Doldurulmuşluk kontrolleri, diyaloglar, mesajlar, form öğeleriyle çalışma, parametre hazırlama.
  • Sunucu: Sorgular, VT verileri üzerinde hesaplamalar, nesnelerin değiştirilmesi/kaydedilmesi, işleme.

"İstemcide komut → sunucuda hesaplama" örneği:

&НаКлиенте
Процедура КомандаРассчитать(Команда)
    Если Не ЗначениеЗаполнено(ПараметрРасчета) Тогда
        Сообщить("Заполните параметр расчета.");
        Возврат;
    КонецЕсли;

    Результат = РассчитатьНаСервере(ПараметрРасчета);
    ПолеРезультата = Результат;
КонецПроцедуры

&НаСервере
Функция РассчитатьНаСервере(Параметр) Экспорт
    // Любая серверная логика: запросы, расчеты, работа с объектами
    Возврат Параметр * 2; // пример
КонецФункции

Yaygın hatalar

  • İşleyiciyi yazdınız ama özelliklerde atamadınız: Prosedür var, ancak düğme/komut ona referans vermiyor.
  • Düğmede Komut belirtilmiş ama Tıklama'yı bekliyorsunuz: Tıkladığınızda komut çalışır, öğe olayı kullanılmaz.
  • Yanlış bağlam: İstemcide sunucu işlemleri yapmaya çalışmak (veya tam tersi). Çözüm — istemci tarafı "sarmalama" ile sunucu fonksiyonunu/prosedürünü ayırmak.
  • Mantığın birden fazla olayda tekrarlanması: Eylemi tek bir ortak prosedüre veya komuta çıkarın, öğeler sadece onu çağırsın.

SSS

Komutu programlı olarak çağırabilir miyim?
Evet. Komut bir eylemdir, bu nedenle mantık için tek bir nokta koruyarak farklı yerlerden (hatta başka bir işleyiciden) başlatmak uygundur.

Komut sadece düğmeler için mi?
Hayır. Komut, komut panelinde, form menüsünde görüntülenebilir ve farklı UI öğelerine bağlanabilir — amaç yeniden kullanımdır.

Şüpheye düştüğümde "varsayılan" olarak neyi seçmeliyim?
Yönetilen formlarda genellikle Komut kazanır: UI'ya daha az bağımlılık ve daha kolay bakım sağlar. Tıklama'yı küçük, kesinlikle arayüze özgü efektler için bırakın.