Destekten çıkarmadan 1C belgesine basılı form + düğme ekleme

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

Basılı bir form oluşturmak ve tipik yapılandırmayı yeniden yazmadan belgeye düğme eklemenin en kolay yolu şudur: Basılı formu harici (.epf) olarak düzenleyin (Yazdır menüsünde görünür) ve belge formundaki düğmeyi yapılandırma genişletmesi aracılığıyla ekleyin (komut panelinde yer alır ve yazdırmayı başlatabilir).

Hangisini seçmeli: Harici .epf mi yoksa genişletme mi?

Harici basılı form (.epf) — yalnızca Yazdır → Formunuz seçeneğinin yeterli olduğu, minimum değişiklik ve güncellemelerle maksimum uyumluluk istediğiniz durumlarda en iyi seçenektir.

Genişletme, özellikle ayrı bir düğme (örneğin, "Şablona göre yazdır"), görünürlük koşulları, ek doğrulamalar, özelliklerin doldurulması vb. önemli olduğunda gereklidir.

Tipik yapılandırmalar için güvenilir desen: yazdırma — harici .epf içinde, düğme ise sadece gerekli yazdırma komutunu çağıran genişletmede.

Seçenek 1: "Yazdır" menüsünde görünen harici basılı form (.epf)

1) Harici işleme ve şablon oluşturun

  1. Yapılandırıcı → Dosya → Yeni → Harici İşleme.
  2. Bir Şablon (genellikle tablo belgesi) ekleyin ve alanları hazırlayın (örneğin, Başlık, Satır, Alt bilgi).

2) Basılı formu kaydedin

Birçok tipik yapılandırmada (bağlanabilir basılı formlar mekanizması ile) işleme, dışa aktarılan bir fonksiyonda açıklama döndürmelidir.

Функция СведенияОВнешнейОбработке() Экспорт
    Парам = Новый Структура;
    Парам.Вставить("Вид", "ПечатнаяФорма");
    Парам.Вставить("Наименование", "Моя печатная форма");

    Назначение = Новый Массив;
    Назначение.Добавить("Документ.РеализацияТоваровУслуг"); // замените на свой документ
    Парам.Вставить("Назначение", Назначение);

    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление");
    Команды.Колонки.Добавить("Идентификатор");
    Команды.Колонки.Добавить("Использование");

    Стр = Команды.Добавить();
    Стр.Представление = "Моя форма";
    Стр.Идентификатор = "MyPrint_001";
    Стр.Использование = "ПечатнаяФорма";

    Парам.Вставить("Команды", Команды);
    Возврат Парам;
КонецФункции

3) Yazdir(...) içinde tablo belgesi oluşturun

İmza, yapılandırmaya bağlı olarak değişebilir, ancak ilke aynıdır: Bir TabloBelgesi toplayın ve bunu standart yazdırma mekanizmasına verin (veritabanınızda kullanılıyorsa).

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    ТабДок = Новый ТабличныйДокумент;
    Макет = ЭтотОбъект.ПолучитьМакет("МакетПечати");

    ОблШапка = Макет.Области.Найти("Шапка");
    Если ОблШапка <> Неопределено Тогда
        ОблШапка.Параметры.Вставить("Дата", ТекущаяДата());
        ТабДок.Вывести(ОблШапка);
    КонецЕсли;

    // Дальше — добавление в коллекцию печатных форм (метод зависит от типовой)
    // Например, через подсистему управления печатью, если она есть в конфигурации.
КонецПроцедуры

Şablon alanlarına "doğrudan" sert erişimler yapmayın. Şablon kullanıcılar tarafından düzenlenebiliyorsa, alanları Bul() ile arayın ve Tanımsız olup olmadığını kontrol edin, aksi takdirde yazdırma işlemi çökmeye başlar.

4) .epf dosyasını "İşletme" modunda bağlayın

Genellikle yol şöyledir: Yönetim → Basılı formlar/raporlar/işlemeler → Bağlanabilir (isimler yapılandırmaya bağlıdır). .epf dosyasını ekleyin, doğru belgeye atandığından emin olun — bundan sonra öğe Yazdır menüsünde görünecektir.

Seçenek 2: Genişletme aracılığıyla belgede düğme (tipik yapılandırmayı düzenlemeden)

1) Bir genişletme oluşturun

Yapılandırıcı → Yapılandırma → Yapılandırma Genişletmeleri → bir genişletme oluşturun.

2) Belge formuna bir komut ve düğme ekleyin

Bunu yapmanın en pratik yolu form düzenleyicide (genişletme içinde) yapmaktır: bir Form Komutu ekleyin ve bunu komut paneline veya "Diğer" menüsüne yerleştirin.

Programatik olarak gerekiyorsa (nadiren, ama olur), fikir şöyledir:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Ком = Команды.Добавить("ПечатьМояФорма");
    Ком.Заголовок = "Моя печать";
    Ком.Действие = "ПечатьМояФорма";
КонецПроцедуры

&НаКлиенте
Процедура ПечатьМояФорма(Команда)
    // Здесь: либо вызвать подключаемую печать, либо сформировать табличный документ,
    // либо открыть обработку с настройками перед печатью.
КонецПроцедуры

3) Düğmeyi yazdırma ile ilişkilendirin

En sağlam yaklaşım: Düğme yazdırmayı kendisi çizmez, bunun yerine bağlanabilir basılı formunuzu (veya gerekli komutun seçildiği standart yazdırma mekanizmasını) başlatır. Böylece tipik yapılandırmanın güncellemeleri sizi minimal düzeyde etkiler.

Sık yapılan hatalar

  • Basılı form bağlı ancak görünmüyor: Komutun Tür, Atama, Tanımlayıcı alanları yanlış doldurulmuş veya atama yanlış meta veri nesnesine yapılmış.
  • Komut genişletmede var ancak düğme görünmüyor: Komut panele/gruba yerleştirilmemiş veya arayüz ayarları/izinler tarafından gizlenmiş.
  • Şablon değiştirildikten sonra yazdırma "çöküyor": Kod sabit alanlar bekliyor ve Tanımsız kontrolü yapmıyor.
  • Genişletmede form ödünç alındı ancak özellikler/komutlar "eksik": Bunların genişletmeye açıkça eklenmesi gerekir (neyin ve nasıl ödünç alındığına bağlıdır).

SSS

Genişletme olmadan düğme yapılabilir mi? Genellikle hayır: Harici .epf standart olarak Yazdır menüsüne eklenir, form üzerindeki ayrı bir düğme ise genişletme alanıdır (veya tam olarak kaçındığınız tipik yapılandırmanın doğrudan düzenlenmesi).

Güncellemeler için hangisi daha iyi: .epf mi yoksa genişletme mi? Basılı form için — genellikle .epf daha güvenlidir. UI düğmesi için — genişletme. Kombinasyon maksimum dayanıklılık sağlar.

Yapılandırmayı destekten çıkarmak gerekir mi? Hayır. Tipik nesneleri doğrudan düzenlemediğiniz sürece hem harici .epf hem de genişletme destekten çıkarmadan çalışır.