ed-str
Гость
|
|
« Ответ #4 : 10-10-2008 00:49 » |
|
//****************************************************************************** // Печать(СразуНаПринтер, КолЭкз) // // Параметры: // СразуНаПринтер - (1) если печать на принтер, (0) - с предварительным просмотром // КолЭкз - количество экземпляров печати // // Возвращаемое значение: // нет. // // Описание: // Процедура Печать(СразуНаПринтер = 0,КолЭкз = 1) Перем НачПовт, КонПовт; ИсхТабл = СоздатьОбъект("Таблица"); НачПовт = 0; КонПовт = 0; // Секция ЗаголовокСчета ПечФирма = ""; Банк = ""; Счет = ""; БИК = ""; СчетБанка = ""; ПолучательИНН = ПолучитьИНН(Фирма.ЮрЛицо.ИНН); ПолучательКПП = ПолучитьКПП(Фирма.ЮрЛицо.ИНН); Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(БанковскийСчет, "БанковскийСчет"); Параметры.ДобавитьЗначение(1, "Режим"); глРеквизитыПлательщикаПолучателя(Параметры); ПечФирма = Параметры.Получить("Результат"); Банк = Параметры.Получить("СтрокаБанка"); Счет = Параметры.Получить("РасчетныйСчет"); БИК = Параметры.Получить("БИК"); СчетБанка = Параметры.Получить("КоррСчет");
ИсхТабл.ВывестиСекцию("ЗаголовокСчета"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("ЗаголовокСчета"); // секция Заголовок ИсхТабл.ВывестиСекцию("Заголовок"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Заголовок"); // Секция Поставщик Поставщик = "ИНН " + ПолучитьИНН(Фирма.ЮрЛицо.ИНН) + " " + "КПП " + ПолучитьКПП(Фирма.ЮрЛицо.ИНН) + " " + СокрЛП(Фирма.ЮрЛицо.ПолнНаименование) + " " + глПредставлениеАдреса(Фирма.ЮрЛицо.ЮрАдрес); Если ПустоеЗначение(Фирма.ЮрЛицо.Телефоны) = 0 Тогда Поставщик = Поставщик + ", тел. " + Фирма.ЮрЛицо.Телефоны; КонецЕсли; ИсхТабл.ВывестиСекцию("Поставщик"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Поставщик"); // Секция Покупатель Покупатель = "";
Если ПустоеЗначение(Контрагент) = 0 Тогда Если Контрагент.ЮрФизЛицо.Выбран() = 1 Тогда Покупатель = СокрЛП(Контрагент.ЮрФизЛицо.ПолнНаименование); Если ПустоеЗначение(Контрагент.ЮрФизЛицо.ИНН) = 0 Тогда Покупатель = "ИНН " + ПолучитьИНН(Контрагент.ЮрФизЛицо.ИНН) + " " + "КПП " + ПолучитьКПП(Контрагент.ЮрФизЛицо.ИНН) + " " + Покупатель; КонецЕсли; Если ПустоеЗначение(Контрагент.ЮрФизЛицо.Телефоны) = 0 Тогда Покупатель = Покупатель + ", тел. " + Контрагент.ЮрФизЛицо.Телефоны; КонецЕсли; КонецЕсли; КонецЕсли;
ИсхТабл.ВывестиСекцию("Покупатель"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Покупатель"); СекцСкидка = ?(ПустоеЗначение(Скидка) = 0, "Скидка", ""); // Секция Шапка таблицы ИсхТабл.ВывестиСекцию("ШапкаТаблицы" + СекцСкидка); КонПовт = НачПовт + ИсхТабл.ВысотаСекции("ШапкаТаблицы" + СекцСкидка); ИсхТабл.ПовторятьПриПечатиСтроки(НачПовт + 1, КонПовт); // выводим табличную часть НомСтроки = 0; ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл НомСтроки = НомСтроки + 1; ИсхТабл.ВывестиСекцию("Строка" + СекцСкидка); КонецЦикла; СуммаИтог = Итог("Сумма"); // секция Итого ИсхТабл.ВывестиСекцию("Итого"); // секция ИтогоНДС Если УчитыватьНДС = 1 Тогда СуммаНДСИтог = Итог("СуммаНДС"); Если СуммаВклНДС = 0 Тогда СуммаИтог = СуммаИтог + СуммаНДСИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНДС") иначе ИсхТабл.ВывестиСекцию("Секция_16"); КонецЕсли; // секция ИтогоНП Если УчитыватьНП = 1 Тогда СуммаНПИтог = Итог("СуммаНП"); Если СуммаВклНП = 0 Тогда СуммаИтог = СуммаИтог + СуммаНПИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНП"); КонецЕсли; // секция СуммаПрописью ИсхТабл.ВывестиСекцию("СуммаПрописью"); // секция Подписи ИсхТабл.ВывестиСекцию("Подписи");
Если СразуНаПринтер = 0 Тогда ИсхТабл.Опции(0,0,0,0,ПарСтрДок,ПарСтрДок);
Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда ИсхТабл.Защита(1); Иначе ИсхТабл.Защита(0); КонецЕсли; ИсхТабл.ТолькоПросмотр(1);
ИсхТабл.Показать(глНазваниеДокументаВжурнале(Контекст),""); Иначе ИсхТабл.ПараметрыСтраницы(,,,,,,,,,1,,); ИсхТабл.КоличествоЭкземпляров(КолЭкз); ИсхТабл.Напечатать(0); КонецЕсли; // секция Секция_15 ИсхТабл.ВывестиСекцию("Секция_15"); КонецПроцедуры // Печать()
|