Печать непроведенных документов (через расширение)

Печать - Пакетная печать

Обходим стандартную проверку, пошаговая инструкция.

Проблема: Есть люди, которые хотят печатать не проведённые документы, но типовой механизм не дает им этого делать. Рассмотрим на примере документа Заказ Клиента. Выполнил проверку на ERP 2.4.3.145, но в других типовых так же, 1С:Предприятие 8.3 (8.3.10.2650).

Варианты решения:

Решение точечное

Решение массовое

 

1 Решение точечное.

Заходим в менеджер объекта, ищем область печати и процедуру ДобавитьКомандыПечати.

Над процедурой видим комментарий

// Заполняет список команд печати.
// 
// Параметры:
//   КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати
//

В процедуре видим параметр команды КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;

Заходим в указанный над процедурой комментарии модуль УправлениеПечатью и делаем поиск по «ПроверкаПроведенияПередПечатью»

Читаем:

//  * ПроверкаПроведенияПередПечатью    - Булево - (необязательный) Признак необходимости проверки проведенности
//                                        документов перед печатью. Если выбран хотя бы один непроведенный документ, то
//                                        перед выполнением команды печати возникает диалог проведения.
//                                        Для непроведенных документов команда печати не выполняется.
//                                        Если параметр не указан, то проверка проведенности не выполняется.

Делаем выводы. Добавляем расширение и помещаем документ ЗаказКлиент в расширение. Надеюсь, все читали данную статью http://v8.1c.ru/o7/201603module/index.htm.

Воспользуемся Аннотацией &После

Нам нужно после формирования команд, найти нужную и отключить проверку.

Добавляем в расширение модуль менеджера код:

&После ("ДобавитьКомандыПечати")
Процедура Расш1_ДобавитьКомандыПечати(КомандыПечати) Экспорт
	ПараметрыОтбора = Новый Структура;
	ПараметрыОтбора.Вставить("Идентификатор", "ЗаказКлиента");
	НайденныеСтроки = КомандыПечати.НайтиСтроки(ПараметрыОтбора);
		 
	Для каждого строкаНС из НайденныеСтроки Цикл 
		строкаНС.ПроверкаПроведенияПередПечатью = Ложь;
	КонецЦикла;	
	
КонецПроцедуры

Проверяем и радуемся.

2 Решение массовое.

Ищем где и почему работает проверка. В модуле ОбщегоНазначения. ПроверитьПроведенностьДокументов

Эта функция возвращает массив непроведенных документов, следовательно если массив пустой то все проверки пройдены. Очень просто обманываем систему.

Добавляем этот модуль в расширение и пишем код:

&Вместо("ПроверитьПроведенностьДокументов")
Функция Расш1_ПроверитьПроведенностьДокументов(Знач Документы) Экспорт
	Результат = Новый Массив;
	Возврат Результат;
КонецФункции

Проверяем и радуемся.

Статью написал за 15 минут от скуки, поэтому извиняюсь за грамматику, сегодня сын дал выспаться и спал дольше меня, поэтому в ожидании пока он проснется набросал.

Расширение прикладываю с примерами.

Скачать файлы

Наименование Файл Версия Размер
Расширение с примерами
.cfe 6,36Kb
12.05.18
1
.cfe 1.0.0 6,36Kb 1 Скачать

См. также

Комментарии
1. Тигран Арутюнян (tigrandis) 103 13.05.18 11:41 Сейчас в теме
жаль при печати документов реализации не корректно работает торг12 ,сф и упд
2. Дмитрий Сидоренко (dsdred) 226 13.05.18 15:55 Сейчас в теме
(1)Я думаю не только эти отчеты. Проверка проведенности в некоторых случаях лишняя, а где участвуют регистры она как заглушка. Разработчики 1С таким образом себе уменьшили объем работы.

Чаще всего отчеты добавляли через дополнительные отчеты и обработки команду печати, причем типовые кишки тупо копировали и меняли запрос который формирует данные для вывода. Я и сам года 2-2,5 назад на предыдущем месте работы делал отчет по ТОРГ12 с возможностью печать не проведенных документов. В итоге в кнопке печати с каждым таким доп отчетом +1 пункт.

Сейчас достаточно по каждому такому отчету в расширение там где собирается запрос использовать аннотацию &Вместо.
Ну и вышеописанную инструкцию.
3. Тигран Арутюнян (tigrandis) 103 14.05.18 11:54 Сейчас в теме
в моей публикации https://infostart.ru/public/828144/ печатные формы УПД, СФ и Торг 12 обощел этот момент )
4. Дмитрий Сидоренко (dsdred) 226 14.05.18 12:15 Сейчас в теме
(3) То есть функции с формированием запросов вы не трогали?
Значит заменили таб. часть с товарами, дописав нее данные из не проведенных документов.

В любом случае работы там немного. Тем более если есть уже готовые доп отчеты (их если нет сил самому нарисовать можно и скачать).
5. Дмитрий Лесихин (user970589) 16.05.18 18:57 Сейчас в теме
Может вы в курсе и как обойти вопрос печати чека (реализация-поступление наличных, реализация - операция по карте) без создания счета или создание счета автоматически? 1с согласно ФЗ требует счета и без него выводит чек без номенклатуры. Тут была старая разработка, но она какая-то кривая, допилить ее до нового релиза не получается, а очень нужно решение. Навыков своих к сожалению мало для создания самостоятельно.
Буду очень благодарен ( в пределах разумного ;) ) за помощь.
6. Дмитрий Сидоренко (dsdred) 226 16.05.18 20:57 Сейчас в теме
Оставьте свое сообщение