Как можно печатать непроведенные документы? - Каминсофт

Как можно печатать непроведенные документы?

11 мая 2018 07:35 #1
от Леонид
Делаю внешнюю печатную форму к документу - Приказ на выходные дни (списком), надо распечатать данный документ без проведения, так у сотрудника нет прав на проведение, как это можно сделать подскажите пожалуйста?


Тема закрыта.

14 мая 2018 06:54 #2
от Леонид
1. В Форме на вкладке Параметры создать параметры:
  • ДополнительнаяОбработкаСсылка (тип: СправочникСсылка.ДополнительныеОтчетыИОбработки)
  • ИдентификаторКоманды (тип: Строка)
  • ИмяФормы (тип: Строка)
  • ОбъектыНазначения (тип: Произвольный)

  • Для каждого должен быть установлен признак "Ключевой параметр"



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

    3. В модуль обработки в функции СведенияОВнешнейОбработке() в параметрах вызова заменить "ВызовСерверногоМетода" на "ВызовКлиентскогоМетода":
    Функция СведенияОВнешнейОбработке() Экспорт
    
    		ПараметрыРегистрации = Новый Структура;
    		МассивНазначений = Новый Массив;
    
    		МассивНазначений.Добавить("Документ.РаботаВВыходныеИПраздничныеДни"); //Указываем документ к которому делаем внешнюю печ. форму
    		ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
    		ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    		     ПараметрыРегистрации.Вставить("Наименование", "- Приказ на выходные дни (списком)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
    		ПараметрыРегистрации.Вставить("Версия", "5.0.47.4");
    		ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    		ПараметрыРегистрации.Вставить("Информация", "Внешняя печатная форма к документу приказ на выходные дни (списком)");//так будет выглядеть описание печ.формы для пользователя
    		ТаблицаКоманд = ПолучитьТаблицуКоманд();
    
    		ДобавитьКоманду(ТаблицаКоманд, "- Приказ на выходные дни (списком)", "ПФ_MXL_ПриказСписок", "ВызовКлиентскогоМетода", Истина, "ПечатьMXL");
    
    
    		ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    		Возврат ПараметрыРегистрации;
    
    КонецФункции


    Тема закрыта.
    Спасибо сказали: Андрей Ланьшин, Группа Технологической Поддержки, Николай Малышевский

    Опрос
    Всего 3 простых вопроса

    Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie и пользовательских данных в целях функционирования сайта, проведения ретаргетинга и статистических исследований, обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.

    Принять