Показано с 1 по 1 из 1
Древовидный режим
-
14.08.2015, 23:47 #1Пришел за помощью
- Регистрация
- 24.03.2010
- Сообщений
- 7
- Сказал(а) спасибо
- 28
- Поблагодарили 0 раз(а) в 0 сообщениях
Печатная форма счета на оплату покупателям
Пытаюсь создать внешнюю печатную форму в УТ 10.3 документа "счета на оплату покупателям".При распечатке счета , картинка печати разрывается на 2 страницы, а хотелось бы чтобы она переходила на следующую страницу полностью.Пыталась что-то сделать, но бесполензно
Скрытый текстСкрытый текст// Функция помещает в структуру все данные, отображаемые при печати документа.
// Вызывается из функции ПечатьСчетаЗаказа и из веб-приложения
//
// Параметры:
// Тип - строка, содержит тип печатаемого документа (счет или заказ)
//
// Возвращаемое значение:
// Структура
//
Функция ПолучитьПараметрыПечатиСч етаЗаказа(Тип) Экспорт
ПараметрыПечати = Новый Структура;
Позиции = Новый Массив;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр( "ТекущийДокумент", СсылкаНаОбъект);
Запрос.УстановитьПараметр( "ПустойКонтрагент", Справочники.Контрагенты.Пу стаяСсылка());
Запрос.Текст ="
|ВЫБРАТЬ
| Номер,
| Дата,
| ДоговорКонтрагента,
| Организация,
| Контрагент КАК Получатель,
| ВЫБОР КОГДА Грузоотправитель = &ПустойКонтрагент
| ТОГДА Организация
| ИНАЧЕ Грузоотправитель КОНЕЦ КАК Грузоотправитель,
| ВЫБОР КОГДА Грузополучатель = &ПустойКонтрагент
| ТОГДА Контрагент
| ИНАЧЕ Грузополучатель КОНЕЦ КАК Грузополучатель,
| Организация КАК Руководители,
| Организация КАК Поставщик,
| СуммаДокумента,
| ВалютаДокумента,
| УчитыватьНДС,
| СуммаВключаетНДС
|ИЗ
| Документ.СчетНаОплатуПоку� �ателю КАК СчетНаОплатуПокупателю
|
|ГДЕ
| СчетНаОплатуПокупателю.Сс� �лка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать() ;
Шапка.Следующий();
СтрокаВыборкиПоляСодержан ия = ОбработкаТабличныхЧастей.� �олучитьЧастьЗапросаДляВы� �ораСодержания("СчетНаОпла� �у");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр( "ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст = "ВЫБРАТЬ
| ВложенныйЗапрос.Номенклат� �ра,
| ВЫРАЗИТЬ (ВложенныйЗапрос.Номенклат ура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное,
| ВложенныйЗапрос.Номенклат� �ра.Код КАК Код,
| ВложенныйЗапрос.Номенклат� �ра.Артикул КАК Артикул,
| ВложенныйЗапрос.Количеств� �,
| ВложенныйЗапрос.ЕдиницаИз� �ерения.Представление КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.ПроцентСк� �дкиНаценки
| + ВложенныйЗапрос.ПроцентАв� �оматическихСкидок КАК Скидка,
| ВложенныйЗапрос.Цена,
| ВложенныйЗапрос.Сумма,
| ВложенныйЗапрос.СуммаНДС,
| ВложенныйЗапрос.Характери� �тика,
| NULL КАК Серия,
| ВложенныйЗапрос.НомерСтро� �и КАК НомерСтроки,
| ВложенныйЗапрос.Метка КАК Метка
|ИЗ
| (ВЫБРАТЬ
| СчетНаОплату.Номенклатура КАК Номенклатура,
| СчетНаОплату.ЕдиницаИзмер� �ния КАК ЕдиницаИзмерения,
| СчетНаОплату.ПроцентСкидк� �Наценки КАК ПроцентСкидкиНаценки,
| СчетНаОплату.ПроцентАвтом� �тическихСкидок КАК ПроцентАвтоматическихСкид ок,
| СчетНаОплату.Цена КАК Цена,
| СУММА(СчетНаОплату.Количес тво) КАК Количество,
| СУММА(СчетНаОплату.Сумма) КАК Сумма,
| СУММА(СчетНаОплату.СуммаНД С) КАК СуммаНДС,
| СчетНаОплату.Характеристи� �аНоменклатуры КАК Характеристика,
| МИНИМУМ(СчетНаОплату.Номер Строки) КАК НомерСтроки,
| 0 КАК Метка
| ИЗ
| Документ.СчетНаОплатуПоку� �ателю.Товары КАК СчетНаОплату
|
| ГДЕ
| СчетНаОплату.Ссылка = &ТекущийДокумент
|
| СГРУППИРОВАТЬ ПО
| СчетНаОплату.Номенклатура,
| СчетНаОплату.ЕдиницаИзмер� �ния,
| СчетНаОплату.ПроцентСкидк� �Наценки,
| СчетНаОплату.ПроцентАвтом� �тическихСкидок,
| СчетНаОплату.Цена,
| СчетНаОплату.Характеристи� �аНоменклатуры
| ) КАК ВложенныйЗапрос
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетНаОплату.Номенклатура,
| Минимум(" + СтрокаВыборкиПоляСодержан ия + ") КАК Товар,
| СчетНаОплату.Номенклатура. Код КАК Код,
| СчетНаОплату.Номенклатура. Артикул КАК Артикул,
| Сумма(СчетНаОплату.Количес тво),
| СчетНаОплату.Номенклатура. ЕдиницаХраненияОстатков,
| СчетНаОплату.ПроцентСкидк� �Наценки + СчетНаОплату.ПроцентАвтом� �тическихСкидок,
| СчетНаОплату.Цена,
| Сумма(СчетНаОплату.Сумма),
| Сумма(СчетНаОплату.СуммаНД С),
| NULL,
| NULL,
| Минимум(СчетНаОплату.Номер Строки),
| 1
|ИЗ
| Документ.СчетНаОплатуПоку� �ателю.Услуги КАК СчетНаОплату
|
|ГДЕ
| СчетНаОплату.Ссылка = &ТекущийДокумент
| СГРУППИРОВАТЬ ПО
| СчетНаОплату.Номенклатура,
| СчетНаОплату.ПроцентСкидк� �Наценки,
| СчетНаОплату.ПроцентАвтом� �тическихСкидок,
| СчетНаОплату.Цена
|
|УПОРЯДОЧИТЬ ПО
| Метка,
| НомерСтроки";
ЗапросТовары = Запрос.Выполнить().Выгрузит ь();
// Выводим шапку накладной
ПараметрыПечати.Вставить("� �читыватьНДС", Шапка.УчитыватьНДС);
СведенияОПоставщике = УправлениеКонтактнойИнфор мацией.СведенияОЮрФизЛице( Шапка.Поставщик, Шапка.Дата);
Если Тип = "Счет" Тогда
ПараметрыПечати.Вставить("� �НН", СведенияОПоставщике.ИНН);
ПараметрыПечати.Вставить("� �ПП", СведенияОПоставщике.КПП);
ПредставлениеПоставщикаДл яПлатПоручения = "";
СтруктурнаяЕдиница = СсылкаНаОбъект.Структурна� �Единица;
Если ТипЗнч(СтруктурнаяЕдиница) = Тип("СправочникСсылка.Банк� �вскиеСчета") Тогда
Банк = ?(не ЗначениеЗаполнено(Структу� �наяЕдиница.БанкДляРасчето в), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДл� �Расчетов);
БИК = Банк.Код;
КоррСчет = Банк.КоррСчет;
ГородБанка = Банк.Город;
НомерСчета = СтруктурнаяЕдиница.НомерС� �ета;
ПараметрыПечати.Вставить("� �ИКБанкаПолучателя", БИК);
ПараметрыПечати.Вставить("� �анкПолучателя", Банк);
ПараметрыПечати.Вставить("� �анкПолучателяПредставлен� �е", СокрЛП(Банк) + " " + ГородБанка);
ПараметрыПечати.Вставить("� �четБанкаПолучателя", КоррСчет);
ПараметрыПечати.Вставить("� �четБанкаПолучателяПредст� �вление", КоррСчет);
ПараметрыПечати.Вставить("� �четПолучателяПредставлен� �е", НомерСчета);
ПараметрыПечати.Вставить("� �четПолучателя", НомерСчета);
ПредставлениеПоставщикаДл яПлатПоручения = СтруктурнаяЕдиница.ТекстК� �рреспондента;
КонецЕсли;
Если ПустаяСтрока(Представлени� �ПоставщикаДляПлатПоручен� �я) Тогда
ПредставлениеПоставщикаДл яПлатПоручения = ФормированиеПечатныхФорм.� �писаниеОрганизации(Сведен ияОПоставщике, "ПолноеНаименование,");
КонецЕсли;
ПараметрыПечати.Вставить("� �редставлениеПоставщикаДл� �ПлатПоручения", ПредставлениеПоставщикаДл яПлатПоручения);
КонецЕсли;
ПараметрыПечати.Вставить("� �екстЗаголовка", ОбщегоНазначения.Сформиро� �атьЗаголовокДокумента(Шап ка, "Счет на оплату"));
ПараметрыПечати.Вставить("� �екстПоставщик", ?(Тип = "Счет", "Поставщик:", "Исполнитель:"));
ПараметрыПечати.Вставить("� �редставлениеПоставщика", ФормированиеПечатныхФорм.� �писаниеОрганизации(Управл ениеКонтактнойИнформацией .СведенияОЮрФизЛице(Шапка.� �рганизация, Шапка.Дата), "ПолноеНаименование,ИНН,КП� �,ЮридическийАдрес,Телефон� �,"));
Если Шапка.Организация = Шапка.Грузоотправитель Тогда
ПараметрыПечати.Вставить("� �редставлениеГрузоотправи� �еля", ФормированиеПечатныхФорм.� �писаниеОрганизации(Управл ениеКонтактнойИнформацией .СведенияОЮрФизЛице(Шапка.� �рганизация, Шапка.Дата), "ПолноеНаименование,ИНН,КП� �,ЮридическийАдрес,Телефон� �,"));
Иначе
ПараметрыПечати.Вставить("� �редставлениеГрузоотправи� �еля", ФормированиеПечатныхФорм.� �писаниеОрганизации(Управл ениеКонтактнойИнформацией .СведенияОЮрФизЛице(Шапка.� �рузоотправитель, Шапка.Дата), "ПолноеНаименование,ИНН,КП� �,ФактическийАдрес,Телефон� �,"));
КонецЕсли;
СведенияОПолучателе = УправлениеКонтактнойИнфор мацией.СведенияОЮрФизЛице( Шапка.Получатель, Шапка.Дата);
ПараметрыПечати.Вставить("� �екстПокупатель", ?(Тип = "Счет", "Покупатель:", "Заказчик:"));
ПараметрыПечати.Вставить("� �редставлениеПолучателя", ФормированиеПечатныхФорм.� �писаниеОрганизации(Управл ениеКонтактнойИнформацией .СведенияОЮрФизЛице(Шапка.� �олучатель, Шапка.Дата), "ПолноеНаименование,ИНН,КП� �,ЮридическийАдрес,Телефон� �,"));
ПараметрыПечати.Вставить("� �редставлениеГрузополучат� �ля", ФормированиеПечатныхФорм.� �писаниеОрганизации(Управл ениеКонтактнойИнформацией .СведенияОЮрФизЛице(Шапка.� �рузополучатель, Шапка.Дата), "ПолноеНаименование,ИНН,КП� �,ФактическийАдрес,Телефон� �,"));
ПараметрыПечати.Вставить("� �стьСкидки", Ложь);
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
//Если ЗначениеЗаполнено(Выборка� �трокТовары.Скидка) Тогда
//// ПараметрыПечати.ЕстьСкидк� � = Истина;
// Прервать;
//КонецЕсли;
КонецЦикла;
ДопКолонка = Константы.ДополнительнаяК� �лонкаПечатныхФормДокумен� �ов.Получить();
ПараметрыПечати.Вставить("� �ыводитьКоды", Ложь);
Если ДопКолонка = Перечисления.Дополнительн� �яКолонкаПечатныхФормДоку� �ентов.Артикул Тогда
ПараметрыПечати.ВыводитьК� �ды = Истина;
Колонка = "Артикул";
ИначеЕсли ДопКолонка = Перечисления.Дополнительн� �яКолонкаПечатныхФормДоку� �ентов.Код Тогда
ПараметрыПечати.ВыводитьК� �ды = Истина;
Колонка = "Код";
КонецЕсли;
//Если ПараметрыПечати.ВыводитьК� �ды Тогда
// ПараметрыПечати.Вставить("� �мяКолонкиКодов", Колонка);
//КонецЕсли;
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
ВсегоБезСкидок = 0;
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
ПараметрыПозиции = Новый Структура;
ПараметрыПозиции.Вставить( "Номенклатура", ВыборкаСтрокТовары.Номенк� �атура);
ПараметрыПозиции.Вставить( "НомерСтроки", ЗапросТовары.Индекс(Выборк аСтрокТовары) + 1);
Если ПараметрыПечати.ВыводитьК� �ды Тогда
Если Колонка = "Артикул" Тогда
ПараметрыПозиции.Вставить( "Артикул", ВыборкаСтрокТовары.Артику� �);
Иначе
ПараметрыПозиции.Вставить( "Артикул", ВыборкаСтрокТовары.Код);
КонецЕсли;
КонецЕсли;
ПараметрыПозиции.Вставить( "Количество", ВыборкаСтрокТовары.Количе� �тво);
ПараметрыПозиции.Вставить( "ЕдиницаИзмерения", ВыборкаСтрокТовары.Единиц� �Измерения);
ПараметрыПозиции.Вставить( "Цена", ВыборкаСтрокТовары.Цена);
ПараметрыПозиции.Вставить( "Товар", СокрП(ВыборкаСтрокТовары.Н аименованиеПолное)
+ ФормированиеПечатныхФорм.� �редставлениеСерий(Выборка СтрокТовары));
//Скидка = Ценообразование.ПолучитьС� �ммуСкидки(ВыборкаСтрокТов ары.Сумма, ВыборкаСтрокТовары.Скидка) ;
//Если ПараметрыПечати.ЕстьСкидк� � Тогда
// ПараметрыПозиции.Вставить( "Скидка", Скидка);
// ПараметрыПозиции.Вставить( "СуммаБезСкидки", ВыборкаСтрокТовары.Сумма + Скидка);
//КонецЕсли;
ПараметрыПозиции.Вставить( "Сумма", ВыборкаСтрокТовары.Сумма);
Сумма = Сумма + ВыборкаСтрокТовары.Сумма;
СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаН� �С;
//ВсегоСкидок = ВсегоСкидок + Скидка;
//ВсегоБезСкидок = Сумма + ВсегоСкидок;
//#Если ВнешнееСоединение Тогда
//WEBПриложения.ПодготовитьСт руктуруДляВнешнегоСоедине ния(ПараметрыПозиции);
//#КонецЕсли
Позиции.Добавить(Параметры Позиции);
КонецЦикла;
ПараметрыПечати.Вставить("� �озиции", Позиции);
// Вывести Итого
Если ПараметрыПечати.ЕстьСкидк� � Тогда
ПараметрыПечати.Вставить("� �сегоСкидок", ВсегоСкидок);
ПараметрыПечати.Вставить("� �сегоБезСкидок", ВсегоБезСкидок);
КонецЕсли;
ПараметрыПечати.Вставить("� �сего", ОбщегоНазначения.ФорматСу� �м(Сумма));
// Вывести ИтогоНДС
Если ПараметрыПечати.Учитывать� �ДС Тогда
ПараметрыПечати.Вставить("� �ДС", ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:"));
ПараметрыПечати.Вставить("� �сегоНДС", ОбщегоНазначения.ФорматСу� �м(ЗапросТовары.Итог("Сумма� �ДС")));
ПараметрыПечати.Вставить("� �сегоКОплате", ОбщегоНазначения.ФорматСу� �м(Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС)));
КонецЕсли;
// Вывести Сумму прописью
СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
ПараметрыПечати.Вставить("� �тоговаяСтрока", "Всего наименований " + ЗапросТовары.Количество()
+ ", на сумму " + ОбщегоНазначения.ФорматСу� �м(СуммаКПрописи, Шапка.ВалютаДокумента));
ПараметрыПечати.Вставить("� �уммаПрописью", ОбщегоНазначения.Сформиро� �атьСуммуПрописью(СуммаКПр описи, Шапка.ВалютаДокумента));
// Вывести подписи
Если Тип = "Счет" Тогда
Руководители = РегламентированнаяОтчетно сть.ОтветственныеЛицаОрга� �изации(Шапка.Руководители, Шапка.Дата,);
Руководитель = Руководители.Руководитель;
ДолжностьРуководителя = Руководители.Руководитель� �олжность;
Бухгалтер = Руководители.ГлавныйБухга� �тер;
ПараметрыПечати.Вставить("� �ИОРуководителя", Руководитель);
ПараметрыПечати.Вставить("� �олжностьРуководителя", ДолжностьРуководителя);
ПараметрыПечати.Вставить("� �ИОБухгалтера", Бухгалтер);
Ответственный = СсылкаНаОбъект.Ответствен� �ый;
Если НЕ ЗначениеЗаполнено(СсылкаН� �Объект.Ответственный.ФизЛ� �цо) Тогда
ФИООтветственный = СокрЛП(СсылкаНаОбъект.Отве тственный);
Иначе
ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.� �амилияИмяОтчество(Ответст венный.ФизЛицо, Шапка.Дата);
ФамилияИмяОтчествоОтветст венного = ФамилияИмяОтчествоФизЛица .Фамилия + " " + ФамилияИмяОтчествоФизЛица .Имя + " " + ФамилияИмяОтчествоФизЛица .Отчество;
ФИООтветственный = ОбщегоНазначения.ФамилияИ� �ициалыФизЛица(ФамилияИмяО тчествоОтветственного);
КонецЕсли;
ПараметрыПечати.Вставить("� �ИООтветственный", ФИООтветственный);
КонецЕсли;
//#Если ВнешнееСоединение Тогда
//WEBПриложения.ПодготовитьСт руктуруДляВнешнегоСоедине ния(ПараметрыПечати);
//#КонецЕсли
Возврат ПараметрыПечати;
КонецФункции //ПолучитьПараметрыПечатиСч етаЗаказа()
// Функция создает табличный документ для печати счета и заказа,
// помещая в него готовые данные, переданные в виде структуры.
//
// Параметры:
// Тип - строка, содержит тип печатаемого документа (счет или заказ);
// ПараметрыПечати - структура с данными для печати.
//
// Возвращаемое значение:
// Табличный документ - сформированная печатная форма
//
Функция СоздатьТабличныйДокументП ечатиСчетаЗаказа(Тип, ПараметрыПечати)
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметров� �ечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПок� �пателя_СчетЗаказ";
Макет = ПолучитьМакет("Счет");
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заг� �ловокСЛоготипом");
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
Если Тип = "Счет" Тогда
ОбластьМакета = Макет.ПолучитьОбласть("Заг� �ловокСчета");
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Заг� �ловок");
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Пос� �авщик");
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Пок� �патель");
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
ОбластьНомера = Макет.ПолучитьОбласть("Шап� �аТаблицы|НомерСтроки");
//ОбластьКодов = Макет.ПолучитьОбласть("Шап� �аТаблицы|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Шап� �аТаблицы|Данные");
//ОбластьСкидок = Макет.ПолучитьОбласть("Шап� �аТаблицы|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Шап� �аТаблицы|Сумма");
ОбластьТовар = Макет.ПолучитьОбласть("Шап� �аТаблицы|Товар");
//Если Не ПараметрыПечати.ВыводитьК� �ды И ПараметрыПечати.ЕстьСкидк� � Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Шап� �аТаблицы|ТоварБезКодов");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Шап� �аТаблицы|ТоварБезСкидок");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И НЕ ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Шап� �аТаблицы|ТоварБезКодовИСк идок");
//КонецЕсли;
ТабДокумент.Вывести(Област ьНомера);
//Если ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьКодов.Параметры.Имя КолонкиКодов = ПараметрыПечати.ИмяКолонк� �Кодов;
// ТабДокумент.Присоединить(О бластьКодов);
//КонецЕсли;
ОбластьТовар.Параметры.Тов ар = "Товары (работы, услуги)";
ТабДокумент.Присоединить(О бластьТовар);
ТабДокумент.Присоединить(О бластьДанных);
//Если ПараметрыПечати.ЕстьСкидк� � Тогда
// ТабДокумент.Присоединить(О бластьСкидок);
//КонецЕсли;
ТабДокумент.Присоединить(О бластьСуммы);
ОбластьНомера = Макет.ПолучитьОбласть("Стр� �ка|НомерСтроки");
//ОбластьКодов = Макет.ПолучитьОбласть("Стр� �ка|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Стр� �ка|Данные");
////ОбластьСкидок = Макет.ПолучитьОбласть("Стр� �ка|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Стр� �ка|Сумма");
ОбластьТовар = Макет.ПолучитьОбласть("Стр� �ка|Товар");
//Если Не ПараметрыПечати.ВыводитьК� �ды И ПараметрыПечати.ЕстьСкидк� � Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Стр� �ка|ТоварБезКодов");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Стр� �ка|ТоварБезСкидок");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И НЕ ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Стр� �ка|ТоварБезКодовИСкидок");
//КонецЕсли;
Для каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл
Если не ЗначениеЗаполнено(Парамет� �ыПозиции.Номенклатура) Тогда
Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьНомера.Параметры.За полнить(ПараметрыПозиции);
ТабДокумент.Вывести(Област ьНомера);
//Если ПараметрыПечати.ВыводитьК� �ды Тогда
// //ОбластьКодов.Параметры.Зап олнить(ПараметрыПозиции);
// ТабДокумент.Присоединить(О бластьКодов);
//КонецЕсли;
ОбластьТовар.Параметры.Зап олнить(ПараметрыПозиции);
ТабДокумент.Присоединить(О бластьТовар);
ОбластьДанных.Параметры.За полнить(ПараметрыПозиции);
ТабДокумент.Присоединить(О бластьДанных);
//Если ПараметрыПечати.ЕстьСкидк� � Тогда
// ОбластьСкидок.Параметры.За полнить(ПараметрыПозиции);
// ТабДокумент.Присоединить(О бластьСкидок);
//КонецЕсли;
ОбластьСуммы.Параметры.Зап олнить(ПараметрыПозиции);
ТабДокумент.Присоединить(О бластьСуммы);
КонецЦикла;
// Вывести Итого
ОбластьНомера = Макет.ПолучитьОбласть("Ито� �о|НомерСтроки");
//ОбластьКодов = Макет.ПолучитьОбласть("Ито� �о|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Ито� �о|Данные");
//ОбластьСкидок = Макет.ПолучитьОбласть("Ито� �о|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Ито� �о|Сумма");
ОбластьТовар = Макет.ПолучитьОбласть("Ито� �о|Товар");
//Если Не ПараметрыПечати.ВыводитьК� �ды И ПараметрыПечати.ЕстьСкидк� � Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Ито� �о|ТоварБезКодов");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Ито� �о|ТоварБезСкидок");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И НЕ ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Ито� �о|ТоварБезКодовИСкидок");
//КонецЕсли;
ТабДокумент.Вывести(Област ьНомера);
//Если ПараметрыПечати.ВыводитьК� �ды Тогда
// ТабДокумент.Присоединить(О бластьКодов);
//КонецЕсли;
ТабДокумент.Присоединить(О бластьТовар);
ТабДокумент.Присоединить(О бластьДанных);
////Если ПараметрыПечати.ЕстьСкидк� � Тогда
//// //ОбластьСкидок.Параметры.За полнить(ПараметрыПечати);
//// ТабДокумент.Присоединить(О бластьСкидок);
////КонецЕсли;
ОбластьСуммы.Параметры.Зап олнить(ПараметрыПечати);
ТабДокумент.Присоединить(О бластьСуммы);
// Вывести ИтогоНДС
Если ПараметрыПечати.Учитывать� �ДС Тогда
ОбластьНомера = Макет.ПолучитьОбласть("Ито� �оНДС|НомерСтроки");
//ОбластьКодов = Макет.ПолучитьОбласть("Ито� �оНДС|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Ито� �оНДС|Данные");
//ОбластьСкидок = Макет.ПолучитьОбласть("Ито� �оНДС|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Ито� �оНДС|Сумма");
ОбластьТовар = Макет.ПолучитьОбласть("Ито� �оНДС|Товар");
//Если Не ПараметрыПечати.ВыводитьК� �ды И ПараметрыПечати.ЕстьСкидк� � Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Ито� �оНДС|ТоварБезКодов");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Ито� �оНДС|ТоварБезСкидок");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И НЕ ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Ито� �оНДС|ТоварБезКодовИСкидок ");
//КонецЕсли;
ТабДокумент.Вывести(Област ьНомера);
Если ПараметрыПечати.ВыводитьК� �ды Тогда
//ТабДокумент.Присоединить(О бластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Зап олнить(ПараметрыПечати);
ТабДокумент.Присоединить(О бластьТовар);
ОбластьДанных.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Присоединить(О бластьДанных);
//Если ПараметрыПечати.ЕстьСкидк� � Тогда
// ТабДокумент.Присоединить(О бластьСкидок);
//КонецЕсли;
ОбластьСуммы.Параметры.Зап олнить(ПараметрыПечати);
ТабДокумент.Присоединить(О бластьСуммы);
ОбластьНомера = Макет.ПолучитьОбласть("Все� �оКОплате|НомерСтроки");
//ОбластьКодов = Макет.ПолучитьОбласть("Все� �оКОплате|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Все� �оКОплате|Данные");
//ОбластьСкидок = Макет.ПолучитьОбласть("Все� �оКОплате|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Все� �оКОплате|Сумма");
ОбластьТовар = Макет.ПолучитьОбласть("Все� �оКОплате|Товар");
//Если Не ПараметрыПечати.ВыводитьК� �ды И ПараметрыПечати.ЕстьСкидк� � Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Все� �оКОплате|ТоварБезКодов");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Все� �оКОплате|ТоварБезСкидок");
//ИначеЕсли НЕ ПараметрыПечати.ЕстьСкидк� � И НЕ ПараметрыПечати.ВыводитьК� �ды Тогда
// ОбластьТовар = Макет.ПолучитьОбласть("Все� �оКОплате|ТоварБезКодовИСк идок");
//КонецЕсли;
ТабДокумент.Вывести(Област ьНомера);
Если ПараметрыПечати.ВыводитьК� �ды Тогда
//ТабДокумент.Присоединить(О бластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Зап олнить(ПараметрыПечати);
ТабДокумент.Присоединить(О бластьТовар);
ОбластьДанных.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Присоединить(О бластьДанных);
//Если ПараметрыПечати.ЕстьСкидк� � Тогда
// ТабДокумент.Присоединить(О бластьСкидок);
//КонецЕсли;
ОбластьСуммы.Параметры.Зап олнить(ПараметрыПечати);
ТабДокумент.Присоединить(О бластьСуммы);
КонецЕсли;
// Вывести Сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть("Сум� �аПрописью");
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Тек� �т");
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
// Вывести подписи
Если Тип = "Счет" Тогда
ОбластьМакета = Макет.ПолучитьОбласть("Под� �алСчета");
Иначе
ОбластьМакета = Макет.ПолучитьОбласть("Под� �алЗаказа");
КонецЕсли;
ОбластьМакета.Параметры.За полнить(ПараметрыПечати);
ТабДокумент.Вывести(Област ьМакета);
Возврат ТабДокумент;
КонецФункции // СоздатьТабличныйДокументП ечатиСчетаЗаказа()
// Функция формирует табличный документ с печатной формой заказа или счета,
// разработанного методистами
//
// Возвращаемое значение:
// Табличный документ - сформированная печатная форма
//
Функция ПечатьСчетаЗаказа(Тип)
Возврат СоздатьТабличныйДокументП ечатиСчетаЗаказа(Тип, ПолучитьПараметрыПечатиСч етаЗаказа(Тип));
КонецФункции
// Процедура осуществляет печать документа. Можно направить печать на
// экран или принтер, а также распечатать необходмое количество копий.
//
// Название макета печати передается в качестве параметра,
// по переданному названию находим имя макета в соответствии.
//
// Параметры:
// НазваниеМакета - строка, название макета.
//
Функция Печать() Экспорт
КоличествоЭкземпляров=1;
НаПринтер=Ложь;
ИмяМакета="Счет";
ТабДокумент = ПечатьСчетаЗаказа(ИмяМаке� �а);
Если ТабДокумент <> Неопределено Тогда
УниверсальныеМеханизмы.На� �ечататьДокумент(ТабДокуме нт, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.Сформиро� �атьЗаголовокДокумента(Ссы лкаНаОбъект, ""), СсылкаНаОбъект);
КонецЕсли;
//Если Не ТабДокумент.ПроверитьВыво� �(ОбластьМакета) Тогда
//ТабДокумент.ВывестиГоризо� �тальныйРазделительСтрани� �();
//ТабДокумент .Вывести("ПодвалСчета");
//КонецЕсли;
КонецФункции // Печать
Быстрый переход
1С - Предприятие 8.0, 8.1, 8.2, 8.3
Вверх
- Навигация
- Кабинет
- Личные сообщения
- Подписки
- Кто на сайте
- Поиск по форуму
- Главная страница форума
- Форум
- Литература
- Крипто
- СБИС
- Компьютерные технологии
- Андеграунд
- Мобильная связь
- Отзывы
- Интернет
- FRB Club
- FRB
Похожие темы
-
как настроить счета покупателям в 1с 8.2
от Изумрудна в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 4Последнее сообщение: 01.02.2012, 16:28
Социальные закладки