![]() |
|
Параметры страницы | ☑ | ||
---|---|---|---|---|
0
inmortal203
02.10.12
✎
11:21
|
Добрый день! Нужно чтобы при печати стояли по умолчанию параметры страницы. Этот код платформа игнорит
ТабДокумент.ПолеСверху = 5; ТабДокумент.ПолеСлева = 5; ТабДокумент.ПолеСнизу = 5; ТабДокумент.ПолеСправа = 5; ТабДокумент.МасштабПечати = 96; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; кто знает причину, получит печеньку) |
|||
1
Cube
02.10.12
✎
11:23
|
(0) Ну если это весь код, то я бы его тоже проигнорировал :)
|
|||
2
inmortal203
02.10.12
✎
11:25
|
намек понят)
Функция ПечатьТТН() ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ТоварКод = "Артикул"; Иначе ТоварКод = "Код"; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПогрузкаТовараСостав.Контрагент, | ПогрузкаТовараСостав.КоличествоПоОтгрузке КАК Колво |ИЗ | Документ.ПогрузкаТовара.Состав КАК ПогрузкаТовараСостав |ГДЕ | ПогрузкаТовараСостав.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); тбСостав = Запрос.Выполнить().Выгрузить(); тбСостав.Свернуть("Контрагент", "Колво"); Автотранспорт = Справочники.Автотранспорт.НайтиПоРеквизиту("Водитель", Водитель); ТабДокумент = Новый ТабличныйДокумент; // Зададим параметры макета ТабДокумент.ПолеСверху = 5; ТабДокумент.ПолеСлева = 5; ТабДокумент.ПолеСнизу = 5; ТабДокумент.ПолеСправа = 5; ТабДокумент.МасштабПечати = 96; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; Макет = ПолучитьМакет("ТТН"); КодЯзыкаПечать = "uk"; Для Каждого Стр из тбСостав Цикл // Выводим общие реквизиты шапки СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Организация, Дата); Если ТипЗнч(Стр.Контрагент) = Тип("СправочникСсылка.Подразделения") Тогда СведенияОПокупателе = Стр.Контрагент; СведенияОГрузополучателе = Стр.Контрагент; Иначе СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Стр.Контрагент, Дата); СведенияОГрузополучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Стр.Контрагент, Дата); КонецЕсли; СведенияОГрузоотправитель = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Организация, Дата); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.НомерДокумента = "ПТ"+Число(Номер); ОбластьМакета.Параметры.ДатаДокумента = Дата; ОбластьМакета.Параметры.Грузоотправитель = Организация; ОбластьМакета.Параметры.Грузополучатель = Стр.Контрагент; ОбластьМакета.Параметры.Плательщик = Стр.Контрагент; ОбластьМакета.Параметры.ГрузоотправительПредставление = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование,ИНН,ЮридическийАдрес,Телефоны,НомерСчета,Банк,МФО,КодПоЕДРПОУ"); Если ТипЗнч(Стр.Контрагент) = Тип("СправочникСсылка.Подразделения") Тогда ОбластьМакета.Параметры.ГрузополучательПредставление = Стр.Контрагент; ОбластьМакета.Параметры.ПлательщикПредставление = Стр.Контрагент; ОбластьМакета.Параметры.ГрузополучательЕДРПОУ = ""; ОбластьМакета.Параметры.ПлательщикЕДРПОУ = ""; Иначе ОбластьМакета.Параметры.ГрузополучательПредставление = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,МФО,КодПоЕДРПОУ"); ОбластьМакета.Параметры.ПлательщикПредставление = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,МФО,КодПоЕДРПОУ"); ОбластьМакета.Параметры.ГрузополучательЕДРПОУ = ?(ЗначениеЗаполнено(СведенияОГрузополучателе.КодПоЕДРПОУ), СведенияОГрузополучателе.КодПоЕДРПОУ, СведенияОГрузополучателе.КодПоДРФО); ОбластьМакета.Параметры.ПлательщикЕДРПОУ = ?(ЗначениеЗаполнено(СведенияОПокупателе.КодПоЕДРПОУ), СведенияОПокупателе.КодПоЕДРПОУ, СведенияОПокупателе.КодПоДРФО); КонецЕсли; ОбластьМакета.Параметры.ГрузоотправительЕДРПОУ = ?(ЗначениеЗаполнено(СведенияОГрузоотправитель.КодПоЕДРПОУ), СведенияОГрузоотправитель.КодПоЕДРПОУ, СведенияОГрузоотправитель.КодПоДРФО); //ОбластьМакета.Параметры.МаркаИГосНомерАвтомобиля = МаркаИГосНомерАвтомобиля; ОбластьМакета.Параметры.МаркаИГосНомерАвтомобиля = Автотранспорт.Марка +" "+ Автотранспорт.НомерАвтомобиля; ОбластьМакета.Параметры.ФИОВодителя = Водитель; ОбластьМакета.Параметры.ВидПеревозки = "Вантажна"; ОбластьМакета.Параметры.ГосНомерПрицепа = Автотранспорт.НомерПрицепа; ОбластьМакета.Параметры.ПунктПогрузки = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ЮридическийАдрес"); //ОбластьМакета.Параметры.ПунктРазгрузки = ПунктРазгрузки; ОбластьМакета.Параметры.ПунктРазгрузки = ""; ОбластьМакета.Параметры.ОрганизацияПеревозчик = Организация; ТабДокумент.Вывести(ОбластьМакета); СтрокНаСтранице = 23; СтрокШапки = 10; СтрокПодвала = 9; НомерСтраницы = 1; // Выводим заголовок таблицы ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); ТабДокумент.Вывести(ЗаголовокТаблицы); // Выводим многострочную часть докмента ОбластьМакета = Макет.ПолучитьОбласть("Строка"); //Если НЕ ЗначениеЗаполнено(ВыборкаСтрок.Номенклатура) Тогда // Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); // Продолжить; //КонецЕсли; //ОбластьМакета.Параметры.Заполнить(ВыборкаСтрок); ОбластьМакета.Параметры.ТоварНаименование = "Труба димохідна та комплектуючі"; ТабДокумент.Вывести(ОбластьМакета); // увеличим итоги по дукументу ИтогоКоличество = ИтогоКоличество + Стр.Колво; // Выводим итоги по документу в целом ОбластьМакета = Макет.ПолучитьОбласть("Всего"); ОбластьМакета.Параметры.ИтогоКоличество = ИтогоКоличество; //ОбластьМакета.Параметры.ИтогоСуммаСНДС = ИтогоСуммаСНДС; ТабДокумент.Вывести(ОбластьМакета); // Выводим подвал документа ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Организация, Дата,); Руководитель = Руководители.Руководитель; // Отпуск товара разрешил Если НЕ ЗначениеЗаполнено(Ответственный) Тогда ФИООтпускРазрешил = Руководитель; ДолжностьОтпускРазрешил = Руководители.РуководительДолжность; Иначе ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Ответственный, Дата); ПодразделениеДолжностьФизЛица = ФормированиеПечатныхФорм.ДолжностьОтветственногоЛицаОрганизации(Ответственный, Дата, Организация); ФамилияИмяОтчествоОтпускРазрешил = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество; ФИООтпускРазрешил = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускРазрешил); ДолжностьОтпускРазрешил = ПодразделениеДолжностьФизЛица.Должность; КонецЕсли; ОбластьМакета.Параметры.ОтпускРазрешилДолжность = ?(ЗначениеЗаполнено(ДолжностьОтпускРазрешил), ДолжностьОтпускРазрешил, "Директор"); //ОбластьМакета.Параметры.НомерДоверенности = Шапка.ДоверенностьНомер; //ОбластьМакета.Параметры.ДатаДоверенности = Формат(Шапка.ДоверенностьДата, "ДФ = ""дд.ММ.гггг"""); //ОбластьМакета.Параметры.ОтпущеноНаСуммуПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(ИтогоСуммаСНДС, глЗначениеПеременной("ВалютаРегламентированногоУчета"), КодЯзыкаПечать); ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; Возврат ТабДокумент; КонецФункции // ПечатьТТН() |
|||
3
hhhh
02.10.12
✎
11:31
|
(2) вроде поля пользователь настраивает.
|
|||
4
ssh2006
02.10.12
✎
11:34
|
Посмотри как дальше выводится документ, нет ли там установки Автомасштаба
|
|||
5
ssh2006
02.10.12
✎
11:35
|
Да и в коде добавь еще Автомасштаб = ложь
|
|||
6
inmortal203
02.10.12
✎
11:42
|
о масштабе больше нигде упоминаний нет. добавил сию строчку
ТабДокумент.АвтоМасштаб =Ложь; все старания тщетны... |
|||
7
ssh2006
02.10.12
✎
11:43
|
Как дальше выводится документ, каким кодом?
|
|||
8
inmortal203
02.10.12
✎
11:51
|
Дальше ползет сюда...
|
|||
9
inmortal203
02.10.12
✎
11:51
|
Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
Если ЭтоНовый() Тогда Предупреждение("Документ можно распечатать только после его записи"); Возврат; ИначеЕсли Не УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов(Проведен) Тогда Предупреждение("Недостаточно полномочий для печати непроведенного документа!"); Возврат; КонецЕсли; Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда Возврат; КонецЕсли; Если ТипЗнч(ИмяМакета) = Тип("ДвоичныеДанные") Тогда ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(Ссылка, ИмяМакета); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; // //Носников 15.02.2010 //ИначеЕсли ИмяМакета = ("Заявка") Тогда // ТабДокумент = ПечатьСчетаЗаказа(ТипЗнч(ИмяМакета)); // // Если ТабДокумент = Неопределено Тогда // Возврат // КонецЕсли; // //!Носников 15.02.2010 //Коломоец - печать Накладной на отгрузку >>> ИначеЕсли ИмяМакета = ("КоррПогрузкаТоваровСклад") Тогда ТабДокумент = ПечатьКорректировкаПогрузкаТоваровСклад(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("КоррПогрузкаТоваровБух") Тогда ТабДокумент = ПечатьКорректировкаПогрузкаТоваровБух(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("КоррОчередностьПогрузки") Тогда ТабДокумент = ПечатьКорректировкаОчередностьПогрузки(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("КоррСписокНоменклатуры") Тогда ТабДокумент = ПечатьКорректировкаСписокНоменклатуры(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("КоррСписокКонтрагентов") Тогда ТабДокумент = ПечатьКорректировкаСписокКонтрагентов(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = "1Т" Или ИмяМакета = "_1Т" Тогда ТабДокумент = ПечатьТТН(); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("СписокКонтрагентов") Тогда ТабДокумент = ПечатьСписокКонтрагентов(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("СписокНоменклатуры") Тогда ТабДокумент = ПечатьСписокНоменклатуры(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("ОчередностьПогрузки") Тогда ТабДокумент = ПечатьОчередностьПогрузки(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("ПогрузкаТоваровСклад") Тогда ТабДокумент = ПечатьПогрузкаТоваровСклад(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; ИначеЕсли ИмяМакета = ("ПогрузкаТоваровБух") Тогда ТабДокумент = ПечатьПогрузкаТоваровБух(ТипЗнч(ИмяМакета)); Если ТабДокумент = Неопределено Тогда Возврат КонецЕсли; //Коломоец - печать Накладной на отгрузку <<< КонецЕсли; УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), Ссылка); КонецПроцедуры // Печать |
|||
10
ssh2006
02.10.12
✎
11:55
|
Что в процедуре НапечататьДокумент?
|
|||
11
inmortal203
02.10.12
✎
11:55
|
затем общий модуль...
НаПринтер = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ПечатьДокументовБезПредварительногоПросмотра") = Истина; Расшифровка = СтрокаКнопки.Расшифровка; Если ТипЗнч(Расшифровка) = Тип("Структура") Тогда ТабДокумент = НапечататьВнешнююФорму(Объект.Ссылка, Расшифровка); НапечататьДокумент(ТабДокумент, 0, НаПринтер, ?(ЭтоДокумент, ОбщегоНазначения.СформироватьЗаголовокДокумента(Объект), Строка(Объект)), Объект.Ссылка); Иначе Объект.Печать(Расшифровка, 0, НаПринтер); |
|||
12
Maxus43
02.10.12
✎
11:56
|
код из (0) перенеси в перед
Возврат ТабДокумент; |
|||
13
Darky
02.10.12
✎
11:58
|
В Функции ПечатьТТН() возвращай Неопределено и перед этим ТабДокумент.Показать();
|
|||
14
inmortal203
02.10.12
✎
11:59
|
уже переносил, эффекта ноль...
|
|||
15
inmortal203
02.10.12
✎
11:59
|
Процедура НапечататьДокумент(ПечДокумент, КоличествоЭкземпляров = 1, НаПринтер = Ложь, Заголовок = "", Ссылка = Неопределено, ИсточникМакета = Неопределено) Экспорт
Если ПечДокумент = Неопределено тогда Возврат; КонецЕсли; // Получить необходимое количество копий Если КоличествоЭкземпляров > 0 Тогда ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров; КонецЕсли; Если НЕ ПечДокумент.АвтоМасштаб И НЕ ЗначениеЗаполнено(ПечДокумент.ИмяПринтера) Тогда ПечДокумент.АвтоМасштаб = Истина; КонецЕсли; Если ТипЗнч(НаПринтер) = Тип("Булево") Тогда Если НаПринтер Тогда ПечДокумент.Вывод = ИспользованиеВывода.Разрешить; ПечДокумент.Напечатать(); Иначе ФормаПечати = ПолучитьОбщуюФорму("ПечатьДокументов",, Новый УникальныйИдентификатор); ФормаПечати.ОбъектПечати = Ссылка; ФормаПечати.ПечатныйДокумент = ПечДокумент; ФормаПечати.ЭлементыФормы.ПолеТабличногоДокумента.АвтоМасштаб = Истина; ФормаПечати.Заголовок = Заголовок; ФормаПечати.Защита = УправлениеДопПравамиПользователей.ЗащитаТаблиц(); //ФормаПечати.ИсточникМакета = ИсточникМакета; ФормаПечати.Открыть(); КонецЕсли; ИначеЕсли ТипЗнч(НаПринтер) = Тип("Массив") Тогда ПечДокумент.Вывод = ИспользованиеВывода.Разрешить; ПечДокумент.Напечатать(); НаПринтер.Добавить(ПечДокумент); КонецЕсли; КонецПроцедуры // НапечататьДокумент() |
|||
16
inmortal203
02.10.12
✎
12:07
|
Darky, получи заслуженную печеньку :) сейчас проверю как будет происходить печать...
|
|||
17
inmortal203
02.10.12
✎
12:12
|
все ок
печеньки розданы, тема закрыта) |
|||
18
ssh2006
02.10.12
✎
12:13
|
Думаю дело здесь:
Если НЕ ПечДокумент.АвтоМасштаб И НЕ ЗначениеЗаполнено(ПечДокумент.ИмяПринтера) Тогда ПечДокумент.АвтоМасштаб = Истина; КонецЕсли; Проверь в отладчике вот это НЕ ЗначениеЗаполнено(ПечДокумент.ИмяПринтера) Добавь перед установкой полей ТабДокумент.ИмяПараметровПечати = "бла бла" |
|||
19
Darky
02.10.12
✎
12:15
|
Грасиас :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |