8.х Печатные формы в 1С 8.1

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ВладимирЛ, 8 апр 2010.

  1. TopicStarter Overlay
    ВладимирЛ
    Offline

    ВладимирЛ

    Регистрация:
    8 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Доброго дня. Подскажите, кто может, как через конфигуратор настроить что-бы печатные формы товарной накладной и счет-фактуры помещалась по максимуму на одной странице. а то при распечатывании часть номенклатуры печатается на первой странице, а часть на второй странице (при этом внизу страницы остается много места, могла бы поместиться и вся номенклатура и подписи руководителя и бухгалтера, и того кто отпуск разрешил). Надоело уже две страницы полупустые печатать.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Пусть они при печати ставят по ширене страницы. Если в конфигураторе то можно так

    Код:
    ТабличныйДокумент.АвтоМаштаб=Истина;
    ТабличныйДокумент.ЭкземпляровНаСтранице=1;
    
  3. TopicStarter Overlay
    ВладимирЛ
    Offline

    ВладимирЛ

    Регистрация:
    8 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    А можно попорядку: куда идти по шагам, а то я новичек в этом деле и не хочу напороть косяков в конфигурации. Заранее благодарен.
  4. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Пока вы не скажете, какая база, по порядку что-то сказать весьма сложно.
  5. TopicStarter Overlay
    ВладимирЛ
    Offline

    ВладимирЛ

    Регистрация:
    8 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Бухгалтерия предприятия, редакция 1.6 (1.6.24.7)
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Если не хотите писать в конфигураторе то пользователь перед каждым распечатыванием пусть заходит в настройк печати и указывает там по ширине странице. и экземпляров на страницу 1.

    если хотите то можно вставить во внешней печатной форме перд возвратом написать вот эти 2 строчки

    Код:
    ТабличныйДокумент.АвтоМаштаб=Истина;
    ТабличныйДокумент.ЭкземпляровНаСтранице=1;
    Возврат ТабличныйДокумент;
    
  7. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    0. Делаем резервную копию!!! Эсперементируем на ней. Когда будет готово, можно такое же сделать в боевой.

    Для реализации товаров и услуг:

    1. Идём в модуль документа РеализацияТоваровИУслуг.
    2. Ищем процедуру "Печать"
    3. Втыкаем следующие две строки:
    Код:
    ТабличныйДокумент.АвтоМаштаб=Истина;
    ТабличныйДокумент.ЭкземпляровНаСтранице=1;
    
    
    
    прямо перед строкой
    Код:
    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), НепосредственнаяПечать);
    
    
    
    Для счёт-фактуры выданной:

    1. Идём в модуль документа СчетФактураВыданный.
    2. Ищем процедуру "Печать"
    3. Втыкаем следующие две строки:
    Код:
    ТабличныйДокумент.АвтоМаштаб=Истина;
    ТабличныйДокумент.ЭкземпляровНаСтранице=1;
    
    
    
    прямо перед строкой
    Код:
    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), НепосредственнаяПечать);
    
    
    
    Обновляем, пробуем, смотрим, что не так.

    Разумеется, этот вариант отнюдь не единственный: предложение господина Draco ничуть не хуже и имеет много плюсов.
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Не надо в типовую изменения вносить-делайте это все внешними печатными формами
  9. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    В принципе, согласен: я испорчен работой с конфигурацией, у которой от типовой осталось только название, а изменения вносятся по пять раз на дню. Освоение внешней печатной формы позволит избежать дальнейших проблем с обновлением, которые возникают при редактировании конфигурации. Так что, господин ВладимирЛ, лучше прислушайтесь к мудрому совету Draco, а не ко мне, испорченному работой с конфигурацией, в которой уже забыли, как она выглядела, до того, как за неё принялся программист.

    Но, как опытный параноик со стажем, всё равно, предлагаю сделать резервную копию.
  10. TopicStarter Overlay
    ВладимирЛ
    Offline

    ВладимирЛ

    Регистрация:
    8 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Для реализации товаров и услуг:

    1. Идём в модуль документа РеализацияТоваровИУслуг.
    2. Ищем процедуру "Печать"



    А как зайти в этот модуль, я ж новичек, поясните....
  11. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Замечание: метод, которым вы сейчас идёте (непосредственное изменение конфигурации), невыгоден тем, что при последующих обновлениях вам придётся переносить вручную эти изменения в новый релиз. Внешние печатные формы лишены этого недостатка, и пользоваться ими - мудро.

    Кстати, новички бывают разные. Бывают такие новички, что старички стесняются своих способностей.

    Теперь, по вопросу.
    1. Открываем конфигуратор.
    2. Открываем (если оно не открыто) окно конфигурации (Конфигурация->Открыть конфигурацию)
    3. В дереве ищем, среди документов, интересующий нас документ.
    4. Щёлкаем по документу правой кнопкой и в контекстном меню выбираем "Открыть модуль объекта".
  12. TopicStarter Overlay
    ВладимирЛ
    Offline

    ВладимирЛ

    Регистрация:
    8 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Код:
    Перем мВалютаРегламентированногоУчета Экспорт;
    
    ////////////////////////////////////////////////////////////////////////////////
    // ЭКСПОРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА
    
    #Если Клиент Тогда
    
    // Функция формирует табличный документ с печатной формой накладной,
    //
    // Возвращаемое значение:
    //  Табличный документ - печатная форма накладной
    //
    Функция ПечатьДокумента()
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |	Номер,
    |	Дата,
    |	ДоговорКонтрагента,
    |	Контрагент КАК Получатель,
    |	Организация,
    |	Организация КАК Поставщик,
    |	СуммаДокумента,
    |	ВалютаДокумента,
    |	УчитыватьНДС,
    |	СуммаВключаетНДС
    |ИЗ
    |	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |	РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    
    ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("РеализацияТоваровУслуг");
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |	Номенклатура,
    |	ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
    |	Номенклатура.Код КАК Код,
    |	Количество,
    |	КоличествоМест,
    |	ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |	Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаХранения,
    |	Цена,
    |	Сумма,
    |	СуммаНДС,
    |	СтранаПроисхождения КАК СтранаПроисхождения,
    |	НомерГТД КАК НомерГТД,
    |   НомерСтроки,
    |	1 КАК ID
    |ИЗ 
    |	(ВЫБРАТЬ
    |		Номенклатура         КАК Номенклатура,
    |		ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
    |		Цена                 КАК Цена,
    |		СтавкаНДС            КАК СтавкаНДС,
    |		СтранаПроисхождения  КАК СтранаПроисхождения,
    |		НомерГТД             КАК НомерГТД,
    |		СУММА(Количество)    КАК Количество,
    |		СУММА(КоличествоМест)КАК КоличествоМест,
    |		СУММА(Сумма)         КАК Сумма,
    |		СУММА(СуммаНДС)      КАК СуммаНДС,
    |		МИНИМУМ(НомерСтроки) КАК НомерСтроки
    |	ИЗ
    |		Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |	ГДЕ
    |		РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |	СГРУППИРОВАТЬ ПО
    |		Номенклатура,
    |		ЕдиницаИзмерения,
    |		Цена,
    |		СтавкаНДС,
    |		СтранаПроисхождения,
    |		НомерГТД
    |	) КАК ВложенныйЗапросПоТоварам
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |	Номенклатура,
    |	ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК Строка(1000)),
    |	Номенклатура.Код КАК Код,
    |	Количество,
    |	NULL,
    |	NULL,
    |	NULL,
    |	Цена,
    |	Сумма,
    |	0,
    |	NULL,
    |	NULL,
    |	НомерСтроки,
    |	2
    |	
    |ИЗ
    |	Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |	РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |	" + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |	" + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
    |	Номенклатура.Код КАК Код,
    |	Количество,
    |	NULL,
    |	NULL,
    |	Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаХранения,
    |	Цена,
    |	Сумма,
    |	СуммаНДС,
    |	NULL,
    |	NULL,
    |	НомерСтроки,
    |	3
    |	
    |ИЗ
    |	Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |	РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |	ID,
    |	НомерСтроки";
    ЗапросТовары = Запрос.Выполнить().Выгрузить();
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная";
    
    Макет = ПолучитьМакет("Накладная");
    
    // Выводим шапку накладной
    



    У меня там вот что, и куда все эти строки вставлять? Извиняюсь за то что я такой тормоз.

    А с внешними печатными формами возится, я думаю для меня это будет полный пипец. Я вас тогда вообще замучаю. Но если вам не трудно напишите как все сделать внешней печатной формой, я в принципе помучаюсь, но это после. А сейчас мне хотябы для себя добить этот вопрос: правка стандартной конфигурации.
  13. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Прошу обратить внимание:
    А теперь к вопросу:
    Воткните
    Код:
    ТабличныйДокумент.АвтоМаштаб=Истина;
    ТабличныйДокумент.ЭкземпляровНаСтранице=1;
    
    
    прямо перед конструкцией "Возврат", раз вы решили применить настройку не для всех печатных форм этого документа, а только для некоторых определённых.
  14. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Лучше чем уж акое вносить в конфигурацию научите бухов в настройках печати нажимать по ширине и 1 экземпляр на страницу
  15. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Это им пригодится ещё в жизни, но по собственному опыту знаю - бывают индивиды, которые не способны запомнить даже такую мелочь и ещё возмущаются, что им это надо делать.

    Кстати, автору темы настоятельно рекоммендую ознакомиться с азами логики программирования (для этого годится любой из доступных трактатов для новичков), а так же освоить поиск в синтаксис-помощнике (Ctrl + Shift + F1 для вызова). Этого набора уже достаточно для того, чтобы решить подавляющее большинство вопросов по конфигурированию в 1С.
  16. Gfdtk
    Offline

    Gfdtk Опытный в 1С

    Регистрация:
    28 апр 2008
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    книжка по программированию на 8.0 или 8.1 автора Радченко, для начала самое то.
  17. TopicStarter Overlay
    ВладимирЛ
    Offline

    ВладимирЛ

    Регистрация:
    8 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Код:
    // Вывести Сумму прописью
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
    ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество()
    + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента);
    ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента);
    ТабДокумент.Вывести(ОбластьМакета);
    
    // Вывести подписи
    ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ТабДокумент.Вывести(ОбластьМакета);
    ТабличныйДокумент.АвтоМаштаб=Истина;
    ТабличныйДокумент.ЭкземпляровНаСтранице=1;
    Возврат ТабДокумент;
    
    

    вот так воткнуть?
  18. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
  19. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Лучше вот так
    (с комментариями, для облечшения поиска в будущем)

    Код:
    // Вывести подписи
    ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ТабДокумент.Вывести(ОбластьМакета);
    //Имя_Программиста_++_Изменение_от_2010.04.14_Печать_Формы_на_одной_странице
    ТабличныйДокумент.АвтоМаштаб=Истина;
    ТабличныйДокумент.ЭкземпляровНаСтранице=1;
    //Имя_Программиста_--_Изменение_от_2010.04.14_Печать_Формы_на_одной_странице
    Возврат ТабДокумент;
    
    
    P.S.: не забывайте благодарить.
  20. TopicStarter Overlay
    ВладимирЛ
    Offline

    ВладимирЛ

    Регистрация:
    8 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    выдает ошибку "переменная не определена"
Похожие темы
  1. ChekFedor
    Ответов:
    9
    Просмотров:
    2.872
  2. zphoenix
    Ответов:
    4
    Просмотров:
    645
  3. wojas
    Ответов:
    2
    Просмотров:
    758
Загрузка...

Поделиться этой страницей