Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запретить печать внешней формы не проведенных документы

Запретить печать внешней формы не проведенных документы
Я
   slnes
 
14.08.20 - 12:05
Как запретить печать внешней формы не проведенных документов?
   ASU_Diamond
 
1 - 14.08.20 - 12:06
Если форма внешняя, то какая проблема в коде прописать?
   slnes
 
2 - 14.08.20 - 12:10
хочется в параметрах примерно так ПроверкаПроведенияПередПечатью = Истина, а не просто проверят проведен или нет
   FIXXXL
 
3 - 14.08.20 - 12:12
(0) конфа?
в последних БСП эта проверка вешается на КомандуПечати, параметром, БСП сама проверит
   dka80
 
4 - 14.08.20 - 12:15
   dka80
 
5 - 14.08.20 - 12:15
ПроверкаПроведенияПередПечатью
   slnes
 
6 - 14.08.20 - 12:58
(3) БСП 3.1.2.387

Вот так делаю в модуле объекта внешней печатной формы, печатает не проведенные
Функция ПолучитьТаблицуКоманд() 
    
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПроверкаПроведенияПередПечатью", Новый ОписаниеТипов("Булево"));
    Возврат Команды; 

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "",ПроверкаПроведенияПередПечатью)
  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
  НоваяКоманда.Модификатор = Модификатор;
  НоваяКоманда.ПроверкаПроведенияПередПечатью = ПроверкаПроведенияПередПечатью;
 КонецПроцедуры

Функция СведенияОВнешнейОбработке() Экспорт 
    
    ПараметрыРегистрации = Новый Структура;
    ПараметрыРегистрации.Вставить("Вид","ПечатнаяФорма");
    ПараметрыРегистрации.Вставить("Назначение",ПолучитьНазначениеОбработки());
    ПараметрыРегистрации.Вставить("Наименование","Анкета");
    ПараметрыРегистрации.Вставить("Версия","1.0");
    ПараметрыРегистрации.Вставить("Информация","Анкета");
    ПараметрыРегистрации.Вставить("БезопасныйРежим",Истина);
     
    Команды = ПолучитьТаблицуКоманд();

    ДобавитьКоманду(Команды,"Анкета","АнкетаКлиента",
            "ВызовСерверногоМетода",
            Ложь,"ПечатьMXL", Истина);
                        
    ПараметрыРегистрации.Вставить("Команды",Команды);
    Возврат ПараметрыРегистрации;
                        
КонецФункции
   Галахад
 
7 - 14.08.20 - 13:04
(0) А не внешние как печатаются?
   dka80
 
8 - 14.08.20 - 13:05
ПроверкаПроведенияПередПечатью - поискал в конфигурации: нет нигде ссылок на этот параметр, хотя в документации к БСП упоминается
   dka80
 
9 - 14.08.20 - 13:06
(6) не кошерно
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.0.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Ложь;
ПараметрыРегистрации.Назначение.Добавить("Справочник.Сотрудники");
    
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Трудовой договор'");
НоваяКоманда.Идентификатор = "ПФ_MXL_ТрудовойДоговор";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.Модификатор = "ПечатьMXL";
НоваяКоманда.ПоказыватьОповещение = Истина;
   slnes
 
10 - 17.08.20 - 11:30
(9) спасибо, переделал так.
Т.к. нет ПроверкаПроведенияПередПечатью сделал так в процедуре Печать()
Если НЕ Ссылка.Проведен 
Тогда ВызватьИсключение "Документ не проведен. Нажмите ""Провести"""; 
КонецЕсли;

Не нравится вызватьисключение, как лучше сделать

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.