Как запретить печать не проведенного документа в 1С Бухгалтерия 3.0 ( документы реализации товаров и услуг )

1. asd117 26.08.14 08:49 Сейчас в теме
Добрый день,
подскажите пожалуйста как запретить печать не проведенного документа в 1С Бухгалтерия 3.0 ( документы реализации товаров и услуг )
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. andrey_name_912 15 26.08.14 09:06 Сейчас в теме
(1) asd117, по мне так придется правит конфигурацию если вы хотите этого добится
ipoloskov; +1 Ответить
3. andrey_name_912 15 26.08.14 09:09 Сейчас в теме
(1) asd117, можно конечно наваять внешнюю печатную форму
ПолучитьФункциональнуюОпцию("ПечататьНеПроведенные")
как то так
4. andrey_name_912 15 26.08.14 09:13 Сейчас в теме
(1) asd117, вот есть инфа то что вам конечно не надо но из нее можно подчеркнуть обратное то что вам может пригодится http://infostart.ru/public/188499/
5. asd117 26.08.14 09:17 Сейчас в теме
Куда можно внести изменение в программный код ? как это лучше реализовать ?
есть документ "РеализацияТоваровИУслуг" куда там нужно прописать код ? и как это сделать.
Подскажите пожалуйста новичку )
6. andrey_name_912 15 26.08.14 09:25 Сейчас в теме
(5) asd117, для начала нужно сделать бекап базы, и делать на тестовой базе, а потом когда выйдет нормальный результат перенести изменения
7. asd117 26.08.14 09:26 Сейчас в теме
Это понятно что перед всем бекап, помогите код написать)
8. Ted1982 68 26.08.14 09:44 Сейчас в теме
Как вариант, в модуле менеджера документа в процедуре "ДобавитьКомандыПечати" для каждой команды добавить строку КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
получится что-то вида:
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Акт";
КомандаПечати.Представление = НСтр("ru = 'Акт об оказании услуг'");
КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм    = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаУслуги";
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;

В таком случае непроведённый документ не будет печататься.
ivangrant; vladnest; VitalyKepov; +3 Ответить
9. asd117 26.08.14 09:50 Сейчас в теме
Спасибо!!!, хоть какая то зацепка ) в яндексе вообще ничего нет конкретного на эту тему.
10. asd117 26.08.14 13:35 Сейчас в теме
Кто спец по Бухгалтерия 3.0 ??? )
11. asd117 26.08.14 13:41 Сейчас в теме
Бухгалтерия 3.0
Документ РеализацияТоваровИУслуг,
есть в документе к примеру модуль менеджера, как в нем прописать код который не позволит печатать не проведенный документ

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

// Расходная накладная
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Накладная";
КомандаПечати.Представление = НСтр("ru = 'Расходная накладная'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";

// Акт об оказании услуг
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Акт";
КомандаПечати.Представление = НСтр("ru = 'Акт об оказании услуг'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаУслуги";

// Акт на передачу прав
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "АктНаПередачуПрав";
КомандаПечати.Представление = НСтр("ru = 'Акт на передачу прав'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары,ФормаДокументаУслуги";

// Товарная накладная (ТОРГ-12) с услугами
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ТОРГ12";
КомандаПечати.Представление = НСтр("ru = 'Товарная накладная (ТОРГ-12) с услугами'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаУслуги";

// Товарная накладная (ТОРГ-12)
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ТОРГ12_БезУслуг";
КомандаПечати.Представление = НСтр("ru = 'Товарная накладная (ТОРГ-12)'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";

// Накладная на отпуск материалов на сторону (М-15)
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "М15";
КомандаПечати.Представление = НСтр("ru = 'Накладная на отпуск материалов на сторону (М-15)'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";

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

// Товарно-транспортная накладная (1-Т)
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьТТН";
КомандаПечати.Идентификатор = "ТТН";
КомандаПечати.Представление = НСтр("ru = 'Товарно-транспортная накладная (1-Т)'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.СписокФорм = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";

// Счет-фактура
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "СчетФактура";
КомандаПечати.Представление = НСтр("ru = 'Счет-фактура'");
КомандаПечати.Обработчик = "УчетНДСКлиент.ВыполнитьКомандуПечатиСчетовФактур";

// Справка-расчет "Рублевые суммы документа в валюте"
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьРублевыхСуммДокументовВВалюте";
КомандаПечати.Идентификатор = "РублевыеСуммыДокументаВВалюте";
КомандаПечати.Представление = НСтр("ru = 'Справка-расчет ""Рублевые суммы документа в валюте""'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.ФункциональныеОпции = "ИспользоватьВалютныйУчет";

// Универсальный передаточный документ
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "УниверсальныйПередаточныйДокумент";
КомандаПечати.Представление = НСтр("ru = 'Универсальный передаточный документ (УПД)'");
КомандаПечати.Обработчик = "УчетНДСКлиент.ВыполнитьКомандуПечатиУниверсальныхПередаточныхДокументов";

// Реестр документов
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Реестр";
КомандаПечати.Представление = НСтр("ru = 'Реестр документов'");
КомандаПечати.ЗаголовокФормы= НСтр("ru = 'Реестр документов ""Реализация товаров и услуг""'");
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечатиРеестраДокументов";
КомандаПечати.СписокФорм = "ФормаСписка";
КомандаПечати.Порядок = 100;

КонецПроцедуры
12. andrey_name_912 15 27.08.14 18:14 Сейчас в теме
(11) asd117, вам в принципе дали ответ в 8 посте но на всякий случай выложу, код процедуры которую вы выложили должен принять вид следующий и тогда все будет работать как надо
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

	// Расходная накладная
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "Накладная";
	КомандаПечати.Представление = НСтр("ru = 'Расходная накладная'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014

	// Акт об оказании услуг
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "Акт";
	КомандаПечати.Представление = НСтр("ru = 'Акт об оказании услуг'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаУслуги";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014


	// Товарная накладная (ТОРГ-12) с услугами
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ТОРГ12";
	КомандаПечати.Представление = НСтр("ru = 'Товарная накладная (ТОРГ-12) с услугами'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаУслуги";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014


	// Товарная накладная (ТОРГ-12)
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ТОРГ12_БезУслуг";
	КомандаПечати.Представление = НСтр("ru = 'Товарная накладная (ТОРГ-12)'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014


	// Накладная на отпуск материалов на сторону (М-15)
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "М15";
	КомандаПечати.Представление = НСтр("ru = 'Накладная на отпуск материалов на сторону (М-15)'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014


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

	
	// Товарно-транспортная накладная (1-Т)
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.МенеджерПечати = "Обработка.ПечатьТТН";
	КомандаПечати.Идентификатор = "ТТН";
	КомандаПечати.Представление = НСтр("ru = 'Товарно-транспортная накладная (1-Т)'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.СписокФорм    = "ФормаСписка,ФормаВыбора,ФормаДокументаОбщая,ФормаДокументаТовары";	
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014

	
	// Счет-фактура
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "СчетФактура";
	КомандаПечати.Представление = НСтр("ru = 'Счет-фактура'");
	КомандаПечати.Обработчик    = "УчетНДСКлиент.ВыполнитьКомандуПечатиСчетовФактур";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014

	
	// Справка-расчет "Рублевые суммы документа в валюте"
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.МенеджерПечати = "Обработка.ПечатьРублевыхСуммДокументовВВалюте";
	КомандаПечати.Идентификатор = "РублевыеСуммыДокументаВВалюте";
	КомандаПечати.Представление = НСтр("ru = 'Справка-расчет ""Рублевые суммы документа в валюте""'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
	КомандаПечати.ФункциональныеОпции = "ИспользоватьВалютныйУчет";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014

	
	// Универсальный передаточный документ
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "УниверсальныйПередаточныйДокумент";
	КомандаПечати.Представление = НСтр("ru = 'Универсальный передаточный документ (УПД)'");
	КомандаПечати.Обработчик    = "УчетНДСКлиент.ВыполнитьКомандуПечатиУниверсальныхПередаточныхДокументов";
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014

	
	// Реестр документов
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "Реестр";
	КомандаПечати.Представление = НСтр("ru = 'Реестр документов'");
	КомандаПечати.ЗаголовокФормы= НСтр("ru = 'Реестр документов ""Реализация товаров и услуг""'");
	КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечатиРеестраДокументов";
	КомандаПечати.СписокФорм    = "ФормаСписка";
	КомандаПечати.Порядок       = 100;
	//++++ изменения начало 27.08.2014 
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	//++++ изменения конец 27.08.2014

	
КонецПроцедуры
Показать
там видно куда нужно внести изменения
13. andrey_name_912 15 27.08.14 18:20 Сейчас в теме
соответственно получится следующее
14. asd117 28.08.14 18:37 Сейчас в теме
(13) andrey_name_912,

Спасибо большое, Андрей!
все работает и самое простое и быстрое решение.

вот вопрос только возник, а где вообще находится КомандаПечати.ПроверкаПроведенияПередПечатью = Истина; ???
и как вывести другое сообщение ????
15. andrey_name_912 15 29.08.14 10:26 Сейчас в теме
(14) asd117, зайди в общие модули УправлениеПечатью
// * ПроверкаПроведенияПередПечатью - Булево - (необязательный) Признак необходимости проверки проведенности //     документов перед печатью. Если параметр не указан, то проверка проведенности // не выполняется.

а лучше всего поставь точки остановок и тебе все будет понятно когда отладчиком пройдешь что зачем выполняется и когда
16. kollegue 10.01.18 17:55 Сейчас в теме
А намекните пожалуйста как тоже самое в УНФ сделать?

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ПЕЧАТИ ФОРМЫ

// Функция формирует поле в том числе для печатной формы.
//
// Параметры:      
//	ВыборкаДляПечати - Выборка из результата запроса.
//
// Возвращаемое значение: 
//  Строка       - текст поля "в том числе".
//
Функция ПолучитьТекстВТомЧисле(ВыборкаДляПечати, РасшифровкаПлатежа = 21)
	
	ТабНДС = РасшифровкаПлатежа.Выгрузить();

	ТабНДС.Свернуть("СтавкаНДС", "СуммаНДС");

	ТекстСуммаНДС = "";
	
	Если ТабНДС.Количество() > 0 Тогда
		
		Для каждого СтрокаНДС ИЗ ТабНДС цикл
			ТекстСуммаНДС = ТекстСуммаНДС
						  + Символы.ПС
						  + "НДС ("
						  + ?(НЕ ЗначениеЗаполнено(СтрокаНДС.СтавкаНДС),
							"без налога",
							СтрокаНДС.СтавкаНДС)
						  + ") "
						  + Формат(СтрокаНДС.СуммаНДС, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧН=0-00")
						  + " "
						  + ВыборкаДляПечати.ВалютаПредставление;
		КонецЦикла;
		
	Иначе
		ТекстСуммаНДС = ТекстСуммаНДС
					  + Символы.ПС
					  + "НДС (без налога) "
					  + Формат(0, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧН=0-00")
					  + " "
					  + ВыборкаДляПечати.ВалютаПредставление;
	КонецЕсли;

	ТекстСуммаНДС = Сред(ТекстСуммаНДС, 2);
	
	Возврат ТекстСуммаНДС;
	
КонецФункции

// Функция формирует поле СуммаРубКоп для печатной формы.
//
Функция РубКоп(Сумма)
	
	Руб = Цел(Сумма);
	Коп = ОКР(100 * (Сумма - Руб), 0, 1);
	СуммаРубКоп = "" + Руб + " руб. " + Цел(Коп/10) + (Коп - 10 * Цел(Коп / 10)) + " коп.";
	Возврат СуммаРубКоп;
	
КонецФункции // РубКоп()

// Функция формирует печатную форму документа по указанному макету.
//
// Параметры:
//	ТабличныйДокумент - ТабличныйДокумент в который будет выводится печатная
//				   форма.
//  ИмяМакета    - Строка, имя макета печатной формы.
//
Функция ПечатнаяФорма(МассивОбъектов, ОбъектыПечати)
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_ПоступлениеВКассу";
	
	ПервыйДокумент = Истина;
	
	Для каждого ТекущийДокумент Из МассивОбъектов Цикл
		
		Если НЕ ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		Запрос = Новый Запрос();
		Запрос.УстановитьПараметр("ТекущийДокумент", ТекущийДокумент);
		
		Если ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.Прочее
		 ИЛИ ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ПокупкаВалюты Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Корреспонденция.Код КАК КорСчет,
								  |НЕОПРЕДЕЛЕНО КАК КорСчетАвансов";
		ИначеЕсли ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПодотчетника Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Подотчетник.СчетРасчетовСПодотчетниками.Код КАК КорСчет,
								  |НЕОПРЕДЕЛЕНО КАК КорСчетАвансов";
		ИначеЕсли ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПокупателя Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Контрагент.СчетУчетаРасчетовСПокупателем.Код КАК КорСчет,
								  |ПоступлениеВКассу.Контрагент.СчетУчетаАвансовПокупателя.Код КАК КорСчетАвансов";
		ИначеЕсли ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПоставщика Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Контрагент.СчетУчетаРасчетовСПоставщиком.Код КАК КорСчет,
								  |ПоступлениеВКассу.Контрагент.СчетУчетаАвансовПоставщику.Код КАК КорСчетАвансов";
		Иначе
			СтрокаКредитСубСчет = "НЕОПРЕДЕЛЕНО КАК КорСчет,
								  |НЕОПРЕДЕЛЕНО КАК КорСчетАвансов";
		КонецЕсли;
		                                                                  
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПоступлениеВКассу.Ссылка КАК Ссылка,
		|	ПоступлениеВКассу.Номер КАК Номер,
		|	ПоступлениеВКассу.Дата КАК ДатаДокумента,
		|	ПоступлениеВКассу.Организация КАК Организация,
		|	ПоступлениеВКассу.Организация.Префикс КАК Префикс,
		|	ПоступлениеВКассу.Организация.КодПоОКПО КАК ОрганизацияПоОКПО,
		|	ПоступлениеВКассу.Организация.НаименованиеПолное КАК ПредставлениеОрганизации,
		|	ПоступлениеВКассу.Касса.СчетУчета.Код КАК КодДебета,
		|	ПоступлениеВКассу.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
		|	ПРЕДСТАВЛЕНИЕ(ПоступлениеВКассу.ВалютаДенежныхСредств) КАК ВалютаПредставление,
		|	ПоступлениеВКассу.ПринятоОт КАК ПринятоОт,
		|	ПоступлениеВКассу.Основание КАК Основание,
		|	ПоступлениеВКассу.Приложение КАК Приложение,
		|	ПоступлениеВКассу.СуммаДокумента КАК СуммаДокумента,
		|	" + СтрокаКредитСубСчет + "
		|ИЗ
		|	Документ.ПоступлениеВКассу КАК ПоступлениеВКассу
		|ГДЕ
		|	ПоступлениеВКассу.Ссылка = &ТекущийДокумент";
		
		ВыборкаДляПечати = Запрос.Выполнить().Выбрать();
		ВыборкаДляПечати.Следующий();
		
		ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеВКассу_ПоступлениеВКассу";
		
		Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПоступлениеВКассу.ПФ_MXL_ПКО");
		
		ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
		
		Валютный = ВыборкаДляПечати.ВалютаДенежныхСредств <> Константы.НациональнаяВалюта.Получить();
		
		Если ВыборкаДляПечати.ДатаДокумента < Дата('20110101') Тогда
			НомерДокумента = УправлениеНебольшойФирмойСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, ВыборкаДляПечати.Префикс);
		Иначе
			НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, Истина, Истина);
		КонецЕсли;		
				
		ОбластьМакета.Параметры.СубСчет = СокрЛП(ВыборкаДляПечати.КорСчет) + ?(ЗначениеЗаполнено(ВыборкаДляПечати.КорСчетАвансов), "," + СокрЛП(ВыборкаДляПечати.КорСчетАвансов), "");
		ОбластьМакета.Параметры.СуммаРубКоп = ?(Валютный, Формат(ВыборкаДляПечати.СуммаДокумента, "ЧЦ=15; ЧДЦ=2") + " " + СокрЛП(ВыборкаДляПечати.ВалютаДенежныхСредств), РубКоп(ВыборкаДляПечати.СуммаДокумента));
		ОбластьМакета.Параметры.Заполнить(ВыборкаДляПечати);
		ОбластьМакета.Параметры.НомерДокумента = НомерДокумента;
		ОбластьМакета.Параметры.Сумма = Формат(ВыборкаДляПечати.СуммаДокумента, "ЧЦ=15; ЧДЦ=2") + ?(Валютный, " " + СокрЛП(ВыборкаДляПечати.ВалютаДенежныхСредств), "");
		
		ОбластьМакета.Параметры.СуммаПрописью = УправлениеНебольшойФирмойСервер.ФорматироватьСуммуПрописьюПлатежногоДокумента(
			ВыборкаДляПечати.СуммаДокумента,
			ВыборкаДляПечати.ВалютаДенежныхСредств,
			Ложь
		);
		
		Руководители = УправлениеНебольшойФирмойСервер.ОтветственныеЛицаОрганизационнойЕдиницы(ВыборкаДляПечати.Организация, ВыборкаДляПечати.ДатаДокумента);
		
		ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = Руководители.ФИОГлавногоБухгалтера;
		ОбластьМакета.Параметры.ФИОКассира = Руководители.ФИОКассира;
		ОбластьМакета.Параметры.ВТомЧисле = ПолучитьТекстВТомЧисле(ВыборкаДляПечати, ТекущийДокумент.РасшифровкаПлатежа);
		
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаДляПечати.Ссылка);
	КонецЦикла;
	
	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	Возврат ТабличныйДокумент;
	
КонецФункции // ПечатнаяФорма()

//Конец 1С-Минск

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

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

//1С-Минск
Функция ПечатнаяФормаРБ(МассивОбъектов, ОбъектыПечати, ИмяМакета)

	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_ПоступлениеВКассу";
	
	ПервыйДокумент = Истина;
	
	Для каждого ТекущийДокумент Из МассивОбъектов Цикл
		
		Если НЕ ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		Запрос = Новый Запрос();
		Запрос.УстановитьПараметр("ТекущийДокумент", ТекущийДокумент);
		
		Если ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.Прочее
			ИЛИ ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ПокупкаВалюты Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Корреспонденция.Код КАК КорСчет,
			|НЕОПРЕДЕЛЕНО КАК КорСчетАвансов";
		ИначеЕсли ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПодотчетника Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Подотчетник.СчетРасчетовСПодотчетниками.Код КАК КорСчет,
			|НЕОПРЕДЕЛЕНО КАК КорСчетАвансов";
		ИначеЕсли ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПокупателя Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Контрагент.СчетУчетаРасчетовСПокупателем.Код КАК КорСчет,
			|ПоступлениеВКассу.Контрагент.СчетУчетаАвансовПокупателя.Код КАК КорСчетАвансов";
		ИначеЕсли ТекущийДокумент.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПоставщика Тогда
			СтрокаКредитСубСчет = "ПоступлениеВКассу.Контрагент.СчетУчетаРасчетовСПоставщиком.Код КАК КорСчет,
			|ПоступлениеВКассу.Контрагент.СчетУчетаАвансовПоставщику.Код КАК КорСчетАвансов";
		Иначе
			СтрокаКредитСубСчет = "НЕОПРЕДЕЛЕНО КАК КорСчет,
			|НЕОПРЕДЕЛЕНО КАК КорСчетАвансов";
		КонецЕсли;
		
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПоступлениеВКассу.Ссылка КАК Ссылка,
		|	ПоступлениеВКассу.Номер КАК Номер,
		|	ПоступлениеВКассу.Дата КАК ДатаДокумента,         
		|	ПоступлениеВКассу.ВидОперации,
		|	ПоступлениеВКассу.Организация КАК Организация,
		|	ПоступлениеВКассу.Организация.Префикс КАК Префикс,
		|	ПоступлениеВКассу.Организация.КодПоОКПО КАК ОрганизацияПоОКПО,
		|	ПоступлениеВКассу.Организация.НаименованиеПолное КАК ПредставлениеОрганизации,
		|	ПоступлениеВКассу.Касса.СчетУчета.Код КАК КодДебета,
		|	ПоступлениеВКассу.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
		|	ПРЕДСТАВЛЕНИЕ(ПоступлениеВКассу.ВалютаДенежныхСредств) КАК ВалютаПредставление,
		|	ПоступлениеВКассу.ПринятоОт КАК ПринятоОт,
		|	ПоступлениеВКассу.Основание КАК Основание,
		|	ПоступлениеВКассу.Приложение КАК Приложение,
		|	ПоступлениеВКассу.Контрагент КАК Контрагент,
		|	ПоступлениеВКассу.СуммаДокумента КАК СуммаДокумента,
		|	" + СтрокаКредитСубСчет + "
		|ИЗ
		|	Документ.ПоступлениеВКассу КАК ПоступлениеВКассу
		|ГДЕ
		|	ПоступлениеВКассу.Ссылка = &ТекущийДокумент";
		
		ВыборкаДляПечати = Запрос.Выполнить().Выбрать();
		ВыборкаДляПечати.Следующий();
		
		ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеВКассу_ПоступлениеВКассу";
		
		Если ИмяМакета = "ПриходныйКассовыйОрдер" Тогда 
			
			Макет = УправлениеПечатью.ПолучитьМакет("ОбщийМакет.ПФ_MXL_КО1_РБ2010");
			
			ЕстьРасчетыСКонтрагентами = (ВыборкаДляПечати.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПоставщика или ВыборкаДляПечати.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПокупателя);
			
			Валютный = (НЕ ВыборкаДляПечати.ВалютаДенежныхСредств= Константы.ВалютаУчета.Получить());
			
			// Выводим шапку ПКО
			
			СведенияОбОрганизации = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(ВыборкаДляПечати.Организация, ВыборкаДляПечати.ДатаДокумента);
			
			ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
			
			ОбластьМакета.Параметры.Заполнить(ВыборкаДляПечати);
			
			Если ВыборкаДляПечати.ДатаДокумента < Дата('20110101') Тогда
				НомерДокумента = УправлениеНебольшойФирмойСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, ВыборкаДляПечати.Префикс);
			Иначе
				НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, Истина, Истина);
			КонецЕсли;
			
			ОбластьМакета.Параметры.ПредставлениеОрганизации = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
			ОбластьМакета.Параметры.Сумма		             = Формат(ВыборкаДляПечати.СуммаДокумента,"ЧЦ=15; ЧДЦ=0")+?(Валютный," "+СокрЛП(ВыборкаДляПечати.ВалютаДенежныхСредств),"");
			ОбластьМакета.Параметры.СуммаПрописью            = УправлениеНебольшойФирмойСервер.СформироватьСуммуПрописью(ВыборкаДляПечати.СуммаДокумента,ВыборкаДляПечати.ВалютаДенежныхСредств );
			ОбластьМакета.Параметры.ДатаДокумента            = Формат(ВыборкаДляПечати.ДатаДокумента, "ДФ = 'дд ММММ гггг'");
			ОбластьМакета.Параметры.НомерДокумента           = НомерДокумента;
			
			ТабНДС = ТекущийДокумент.РасшифровкаПлатежа.Выгрузить();
			
			ТабНДС.Свернуть("СтавкаНДС","СуммаНДС");
			
			СуммаНДС = 0;
			
			Если ТабНДС.Количество() > 0 Тогда 
				
				ОбластьМакета.Параметры.НДС = ТабНДС[0].СтавкаНДС;
				Для Каждого СтрокаНДС ИЗ ТабНДС цикл
					СуммаНДС = СуммаНДС + СтрокаНДС.СуммаНДС;
				КонецЦикла;
				
				ОбластьМакета.Параметры.СуммаНДС = СуммаНДС;
			КонецЕсли;
			
			Руководители = УправлениеНебольшойФирмойСервер.ОтветственныеЛицаОрганизационнойЕдиницы(ВыборкаДляПечати.Организация, КонецДня(ВыборкаДляПечати.ДатаДокумента));
			
			Бухгалтер    = Руководители.ФИОГлавногоБухгалтера;
			Кассир       = Руководители.ФИОКассира;
			
			ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = Бухгалтер;
			ОбластьМакета.Параметры.ФИОКассира            = Кассир;
			
			ТекстПринятоОт = ВыборкаДляПечати.ПринятоОт;
			
			Если ТекстПринятоОт = "" И ЗначениеЗаполнено(ВыборкаДляПечати.Контрагент) Тогда
				
				Если ЕстьРасчетыСКонтрагентами Тогда
					
					ТекстПринятоОт = ?(ВыборкаДляПечати.Контрагент.НаименованиеПолное = "", ВыборкаДляПечати.Контрагент.Наименование, ВыборкаДляПечати.Контрагент.НаименованиеПолное);
					
				КонецЕсли;
				
			КонецЕсли;
			
			ОбластьМакета.Параметры.ПринятоОт  = ТекстПринятоОт;
			ОбластьМакета.Параметры.Основание  = ВыборкаДляПечати.Основание;
			ОбластьМакета.Параметры.Приложение = ВыборкаДляПечати.Приложение;
			
			ТабличныйДокумент.Вывести(ОбластьМакета);
			
		ИначеЕсли ИмяМакета = "ПриходныйКассовыйОрдерПЭВМ" Тогда 
			
			Макет = УправлениеПечатью.ПолучитьМакет("ОбщийМакет.ПФ_MXL_КО1_ПЭВМ2010");
			
			ЕстьРасчетыСКонтрагентами = (ВыборкаДляПечати.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПоставщика или ВыборкаДляПечати.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПокупателя);
			
			Валютный=(НЕ ВыборкаДляПечати.ВалютаДенежныхСредств= Константы.ВалютаУчета.Получить());
			
			// Выводим шапку ПКО
			
			СведенияОбОрганизации = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(ВыборкаДляПечати.Организация, ВыборкаДляПечати.ДатаДокумента);
			
			ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
			Если ВыборкаДляПечати.ДатаДокумента < Дата('20110101') Тогда
				НомерДокумента = УправлениеНебольшойФирмойСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, ВыборкаДляПечати.Префикс);
			Иначе
				НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, Истина, Истина);
			КонецЕсли;
			ОбластьМакета.Параметры.Заполнить(ВыборкаДляПечати);
			
			ОбластьМакета.Параметры.ПредставлениеОрганизации = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
			ОбластьМакета.Параметры.Сумма		             = Формат(ВыборкаДляПечати.СуммаДокумента,"ЧЦ=15; ЧДЦ=0")+?(Валютный," "+СокрЛП(ВыборкаДляПечати.ВалютаДенежныхСредств),"");
			ОбластьМакета.Параметры.СуммаПрописью            = УправлениеНебольшойФирмойСервер.СформироватьСуммуПрописью(ВыборкаДляПечати.СуммаДокумента,ВыборкаДляПечати.ВалютаДенежныхСредств );
			ОбластьМакета.Параметры.ДатаДокумента            = Формат(ВыборкаДляПечати.ДатаДокумента, "ДФ = 'дд ММММ гггг'");
			
			ТабНДС = ТекущийДокумент.РасшифровкаПлатежа.Выгрузить();
			
			ТабНДС.Свернуть("СтавкаНДС","СуммаНДС");
			
			СуммаНДС = 0;
			
			Если ТабНДС.Количество() > 0 Тогда 
				
				ОбластьМакета.Параметры.НДС = ТабНДС[0].СтавкаНДС;
				Для Каждого СтрокаНДС ИЗ ТабНДС цикл
					СуммаНДС = СуммаНДС + СтрокаНДС.СуммаНДС;
				КонецЦикла;
				
				ОбластьМакета.Параметры.СуммаНДС = СуммаНДС;
			КонецЕсли;
			
			Руководители = УправлениеНебольшойФирмойСервер.ОтветственныеЛицаОрганизационнойЕдиницы(ВыборкаДляПечати.Организация, КонецДня(ВыборкаДляПечати.ДатаДокумента));
			
			Бухгалтер    = Руководители.ФИОГлавногоБухгалтера;
			Кассир       = Руководители.ФИОКассира;
			
			ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = Бухгалтер;
			ОбластьМакета.Параметры.ФИОКассира            = Кассир;
			
			ТекстПринятоОт = ВыборкаДляПечати.ПринятоОт;
			
			Если ТекстПринятоОт = "" И ЗначениеЗаполнено(ВыборкаДляПечати.Контрагент) Тогда
				
				Если ЕстьРасчетыСКонтрагентами Тогда
					
					ТекстПринятоОт = ?(ВыборкаДляПечати.Контрагент.НаименованиеПолное = "", ВыборкаДляПечати.Контрагент.Наименование, ВыборкаДляПечати.Контрагент.НаименованиеПолное);
					
				КонецЕсли;
				
			КонецЕсли;
			
			ОбластьМакета.Параметры.ПринятоОт  = ТекстПринятоОт;
			ОбластьМакета.Параметры.Основание  = ВыборкаДляПечати.Основание;
			ОбластьМакета.Параметры.Приложение = ВыборкаДляПечати.Приложение;
			
			
			ТабличныйДокумент.Вывести(ОбластьМакета);
			
		ИначеЕсли ИмяМакета = "ПриходныйКассовыйОрдерВалютный" Тогда	
			
			Макет = УправлениеПечатью.ПолучитьМакет("ОбщийМакет.ПФ_MXL_КО1В_РБ2010");
			ЕстьРасчетыСКонтрагентами = (ВыборкаДляПечати.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПоставщика или ВыборкаДляПечати.ВидОперации = Перечисления.ВидыОперацийПоступлениеВКассу.ОтПокупателя);
			
			Валютный = (НЕ ВыборкаДляПечати.ВалютаДенежныхСредств= Константы.ВалютаУчета.Получить());
			СтруктураКурса    = ПолучитьКурсВалюты(ВыборкаДляПечати.ВалютаДенежныхСредств, ВыборкаДляПечати.ДатаДокумента);
			
			// Выводим шапку ПКО
			СведенияОбОрганизации = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(ВыборкаДляПечати.Организация, ВыборкаДляПечати.ДатаДокумента);
			
			ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
			Если ВыборкаДляПечати.ДатаДокумента < Дата('20110101') Тогда
				НомерДокумента = УправлениеНебольшойФирмойСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, ВыборкаДляПечати.Префикс);
			Иначе
				НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ВыборкаДляПечати.Номер, Истина, Истина);
			КонецЕсли;
			
			ОбластьМакета.Параметры.Заполнить(ВыборкаДляПечати);
			ОбластьМакета.Параметры.Сумма		             = Формат(ВыборкаДляПечати.СуммаДокумента,"ЧЦ=15; ЧДЦ=0")+?(Валютный," "+СокрЛП(ВыборкаДляПечати.ВалютаДенежныхСредств),"");
			ОбластьМакета.Параметры.СуммаПрописью            = УправлениеНебольшойФирмойСервер.СформироватьСуммуПрописью(ВыборкаДляПечати.СуммаДокумента,ВыборкаДляПечати.ВалютаДенежныхСредств );
			ОбластьМакета.Параметры.ДатаДокумента            = Формат(ВыборкаДляПечати.ДатаДокумента, "ДФ = 'дд ММММ гггг'");
			ОбластьМакета.Параметры.ВалютаКурс		   = СтруктураКурса.Курс;
			Кратность = ?(СтруктураКурса.Кратность     = 0, 1, СтруктураКурса.Кратность);
			ВалютаРег = Константы.ВалютаУчета.Получить();
			СтрокаПараметров = СтрЗаменить(ВыборкаДляПечати.ВалютаДенежныхСредств.ПараметрыПрописиНаРусском, ",", Символы.ПС);
			ДлинаДробнойЧасти     = Число(Лев(СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 9)),1));
			ОбластьМакета.Параметры.СуммаРуб		   = Окр(ВыборкаДляПечати.СуммаДокумента * СтруктураКурса.Курс / Кратность,ДлинаДробнойЧасти,1);
			ОбластьМакета.Параметры.НомерДокумента           = НомерДокумента;
			
			ТабНДС = ТекущийДокумент.РасшифровкаПлатежа.Выгрузить();
			
			ТабНДС.Свернуть("СтавкаНДС","СуммаНДС");
			
			СуммаНДС = 0;
			
			Если ТабНДС.Количество() > 0 Тогда 
				
				ОбластьМакета.Параметры.СтавкаНДС = ТабНДС[0].СтавкаНДС;
				Для Каждого СтрокаНДС ИЗ ТабНДС цикл
					СуммаНДС = СуммаНДС + СтрокаНДС.СуммаНДС;
				КонецЦикла;
				

			КонецЕсли;
			ОбластьМакета.Параметры.СуммаНДС = Формат(СуммаНДС,"ЧЦ=15; ЧДЦ=2")+?(Валютный," "+СокрЛП(ВыборкаДляПечати.ВалютаДенежныхСредств),"");
			
			Руководители = УправлениеНебольшойФирмойСервер.ОтветственныеЛицаОрганизационнойЕдиницы(ВыборкаДляПечати.Организация, КонецДня(ВыборкаДляПечати.ДатаДокумента));
			
			Бухгалтер    = Руководители.ФИОГлавногоБухгалтера;
			Кассир       = Руководители.ФИОКассира;
			
			ОбластьМакета.Параметры.ГлавБух = Бухгалтер;
			ОбластьМакета.Параметры.Кассир  = Кассир;
			
			ТекстПринятоОт = ВыборкаДляПечати.ПринятоОт;
			
			Если ТекстПринятоОт = "" И ЗначениеЗаполнено(ВыборкаДляПечати.Контрагент) Тогда
				
				Если ЕстьРасчетыСКонтрагентами Тогда
					
					ТекстПринятоОт = ?(ВыборкаДляПечати.Контрагент.НаименованиеПолное = "", ВыборкаДляПечати.Контрагент.Наименование, ВыборкаДляПечати.Контрагент.НаименованиеПолное);
					
				КонецЕсли;
				
			КонецЕсли;
			
			ОбластьМакета.Параметры.ПринятоОт  = ТекстПринятоОт;
			ОбластьМакета.Параметры.Основание  = ВыборкаДляПечати.Основание;
			ОбластьМакета.Параметры.Приложение = ВыборкаДляПечати.Приложение;
			
			ТабличныйДокумент.Вывести(ОбластьМакета);
			
		КонецЕсли;
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаДляПечати.Ссылка);
		
	КонецЦикла;
	
	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	Возврат ТабличныйДокумент;

КонецФункции // ПечатнаяФормаРБ()

//1с-минск

// Возвращает курс валюты на дату.
//
Функция ПолучитьКурсВалюты(Валюта, ДатаКурса)
Показать
17. ValeriyZ 19 07.09.18 08:28 Сейчас в теме
Тоже встала такая проблема в БП 3.0
Решил через расширение бяз снятия с поддержки. Код процедуры:

&После("ДобавитьКомандыПечати")
Процедура ТМ_ДобавитьКомандыПечати(КомандыПечати)
Для Каждого ТС ИЗ КомандыПечати Цикл
ТС.ПроверкаПроведенияПередПечатью = Истина;
КонецЦикла;
КонецПроцедуры
al2ko; user988448; sthinks; 1cprogr_nsk; Wolex; +5 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот