Как ERP научить печатать непроведенные документы внешними печатными формами

23.05.23

Задачи пользователя - Адаптация типовых решений

Иногда требуется печатать непроведенные документы, но стандартный механизм не позволяет это делать. Во всяком случае, я не нашел такую возможность. Поэтому, немного покопавшись в модулях печати, нашел способ, который я опишу в этой публикации. Все изменения буду делать в расширении (тестировалось на версии ERP 2.5.12.48).

Для начала нужно подготовить справочник "ДополнительныеОтчетыИОбработки":

1) Добавляем реквизит типа "Булево" в справочник "ДополнительныеОтчетыИОбработки"

 

 

2) Размещаем элемент формы для этого реквизита на форме элемента

 

 

На этом подготовку справочника закончили и начинаем править типовые процедуры.

1) Расширяем процедуру "ВыполнитьНазначаемуюКомандуПечати" общего модуля "ДополнительныеОтчетыИОбработкиКлиент"

 

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

 

2) расширяем процедуру "ВыполнитьОткрытиеПечатнойФормы" общего модуля "ДополнительныеОтчетыИОбработкиКлиент"

 

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

 

3) Добавляем процедуру "УстановитьСтандартнуюОбработку" в общий модуль "ДополнительныеОтчетыИОбработкиВызовСервера"

 

Процедура УстановитьСтандартнуюОбработку(ВыполняемаяКоманда) Экспорт    
	Перем СсылкаДополнительнойОбработки;
	// не разбирался с типом аргумента "ВыполняемаяКоманда" поэтому условно - тип Структура
	Если ВыполняемаяКоманда.Свойство("Ссылка", СсылкаДополнительнойОбработки) 
		И ТипЗнч(СсылкаДополнительнойОбработки) = Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки") Тогда
		ВыполняемаяКоманда.Вставить("СтандартнаяОбработка", СсылкаДополнительнойОбработки.СтандартнаяОбработка);  
	КонецЕсли;
КонецПроцедуры

 

На этом все изменения внесены. 

Судя по написанному коду ERP игнорирует проверку на "непроведенность" документа если флаг "СтандартнаяОбработка" = Ложь. Это можно наблюдать из процедуры "ВыполнитьОткрытиеПечатнойФормы" общего модуля "УправлениеПечатьюСлужебныйКлиент" в которую из нашей расширяемой процедуры "ВыполнитьОткрытиеПечатнойФормы" общего модуля "ДополнительныеОтчетыИОбработкиКлиент" передается "СтандартнаяОбработка".

 

 

Можно, конечно, использовать

 

ДополнительныеОтчетыИОбработкиКлиентПереопределяемый.ПередВыполнениемКомандыПечатиВнешнейПечатнойФормы(ОбъектыНазначения, СтандартнаяОбработка);

 

Но я не увидел возможность в этой процедуре контролировать флаг "СтандартнаяОбработка" какими-либо настройками.

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Разработка Адаптация типовых решений Производство готовой продукции (работ, услуг) Розничная торговля 1С:Управление торговлей 10 Россия Платные (руб)

Доработка для 1С:Управление торговлей 10.3 (релиз 10.3.88.3) добавляет поддержку маркировки новых категорий товаров согласно постановлениям Правительства РФ 2025–2026 гг. Конфигурация УТ 10.3 снята с поддержки — новые маркируемые категории в типовую поставку больше не попадают. Доработка закрывает этот пробел: новые виды номенклатуры, обмен с ГИС МТ «Честный Знак». Поставляется в виде файла .cf

14640 руб.

23.04.2026    3533    27    13    

30

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    2066    4    0    

5

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9760 руб.

17.06.2025    4591    11    0    

11

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

6000 руб.

07.02.2023    14074    121    25    

77

Адаптация типовых решений 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Расширение, которое в форму списка и форму выбора справочника «Номенклатура» добавляет табличную часть в виде дерева, в которую выводится информация об остатках и доступности выбранной номенклатурной позиции.

6710 руб.

20.04.2026    738    1    0    

3

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    1843    1    8    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. waxymonkey 5 24.05.23 13:21 Сейчас в теме
Видимо бесполезная вещь :((
2. Vodoley 2 10.12.24 21:34 Сейчас в теме
(1) отнюдь )
очень нада! ))
3. waxymonkey 5 11.12.24 16:47 Сейчас в теме
(2) ну круто ! Тогда ещё напишу что нибудь.
Для отправки сообщения требуется регистрация/авторизация