Имя: Пароль:
1C
1С v8
внешняя печатная форма - отказаться
0 m1_1976
 
10.03.16
10:05
Всем доброго дня.
есть 1С 8,3. на управляемых формах. Типовая конфигурация. Сделал внешнюю печатную форму. Подключил к документу. Все работает.

1 вопрос.
в момент формирования печатной формы - при определенных условиях (нет в табличной части весовых товаров) от ее формирования нужно отказаться. Просто- даже пока без сообщения пользователю.

=============
то есть вот эта процедура работает работает...
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
====================
попытка сделать
КоллекцияПечатныхФорм = неопределено;
выдает ошибку
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(232)}: Итератор для значения не определен
    Для Каждого Стр Из КоллекцияПечатныхФорм Цикл

попытка отправить туда пустую таблицу = выдает на экран - лишнее пустое окно без таблицы!
как отменить форммирование - просто. без этих проблем
??7
1 m1_1976
 
10.03.16
10:11
чую что все просто... подскажите. плиз.
2 Brook
 
10.03.16
10:20
послежу за ответами. Тоже интересует этот вопрос. И тоже добилась только того, что в случае отказа выводилось пустое окно без таблицы)))
3 m1_1976
 
10.03.16
10:24
добился вот таким способом.
внутри
СведенияОВнешнейОбработке сделал вот такой вызов
ДобавитьКоманду(ТаблицаКоманд, "Выгрузка в 1С 7.7 007", "выгрузкав1с77", "ВызовСерверногоМетода", Истина, "");

вместо вот такого
ДобавитьКоманду(ТаблицаКоманд, "Выгрузка в 1С 7.7 005", "выгрузкав1с77", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
================
и печать тогда вызывается вот так
Печать(Идентиф, ОбъектыПечати)
=======
вот этой вот процедурой из общего модуля
// Для внутреннего использования.
Процедура ВыполнитьКомандуФормированияПечатнойФормы(ВнешнийОбъект, Знач ИдентификаторКоманды, ПараметрыКоманды, ОбъектыНазначения, Знач СценарийВБезопасномРежиме = Ложь)
    
    Если СценарийВБезопасномРежиме Тогда
        
        ВыполнитьСценарийВБезопасномРежиме(ВнешнийОбъект, ПараметрыКоманды, ОбъектыНазначения);
        
    Иначе
        
        Если ПараметрыКоманды = Неопределено Тогда
            ВнешнийОбъект.Печать(ИдентификаторКоманды, ОбъектыНазначения);
        Иначе
            ВнешнийОбъект.Печать(ИдентификаторКоманды, ОбъектыНазначения, ПараметрыКоманды);
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
4 Brook
 
10.03.16
10:52
(3) ок, попробую
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший