Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 4
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Ім'я файлу при друку в pdf          
logistbondarenko Подменю пользователя
сообщение 26.07.24, 9:48
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 1 раз
Рейтинг: 0

BAF (8.3.19.1529)
Business automation software for accounting, edition 2.1 (2.1.25.5)

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

   // Получаем запросом необходимые данные.
   Запрос = Новый Запрос();
   Запрос.Текст =
   "ВЫБРАТЬ
   |  СчетНаОплатуПокупателю.Ссылка КАК Ссылка,
   ......................
   |ГДЕ
   |  СчетНаОплатуПокупателю.Ссылка В(&МассивОбъектов)
   ......................
   |";
   Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
   Шапка = Запрос.Выполнить().Выбрать();

   ПервыйДокумент = Истина;

   Пока Шапка.Следующий() Цикл
     Если Не ПервыйДокумент Тогда
       // Все документы нужно выводить на разных страницах.
       ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
     КонецЕсли;
     ПервыйДокумент = Ложь;
     // Запомним номер строки, с которой начали выводить текущий документ.
     НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

     ......................

     // В табличном документе зададим имя области, в которую был
     // выведен объект. Нужно для возможности печати покомплектно.
     УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
       НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);

   КонецЦикла;
   Возврат ТабличныйДокумент;
КонецФункции


Підкажіть, будь ласка, де можно указати назву документи при друку макета в пдф, зараз всі документи називаються "Таблиця".
заздалегідь вдячний.

volodya1122 Подменю пользователя
сообщение 26.07.24, 10:21
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 352
Из: Тернопіль
Спасибо сказали: 139 раз
Рейтинг: 141.7

logistbondarenko @ Сегодня, 10:48 * ,

в цій функції ви формуєте сам табличний документ. І повертаєте його в іншу свою процедуру з якої друкуєте.
Не зовсім зрозуміло як ви друкуєте в ПДФ.
1. Виводиться на екран форма і ви через Файл/СохранитьКак (зберігаєте в ПДФ?
2. Програмно зберігається в ПДФ в вашім модулі куди повертаєте Табличний документ?
3. Друкуєте через ПДФ принтер?

Якщо перший варіанта то там має бути щось таке:

ТабличныйДокумент.Показать("назва під якою я хочу зберегти свій документ")


Сообщение отредактировал volodya1122 - 26.07.24, 10:23

logistbondarenko Подменю пользователя
сообщение 26.07.24, 11:00
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 1 раз
Рейтинг: 0

volodya1122 @ Сегодня, 11:21 * ,
ТабличныйДокумент.Показать("назва під якою я хочу зберегти свій документ")

А куди це вписати?
В модулі менеджера воно не діє

AnryMc Подменю пользователя
сообщение 26.07.24, 12:39
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 421
Спасибо сказали: 118 раз
Рейтинг: 121.1

Попробуйте:

// В табличном документе зададим имя области, в которую был 
     // выведен объект. Нужно для возможности печати покомплектно.
     УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
       НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);

   КонецЦикла;

   ТабличныйДокумент.ИспользуемоеИмяФайла = "назва під якою я хочу зберегти свій документ";

   Возврат ТабличныйДокумент;
КонецФункции


Цитата
Тип: Строка.
Содержит имя файла, в который сохраняется документ, если пользователь выполнил команду "Сохранить".
Данное свойство будет заполняться:
1. при программной установке значения;
2. при интерактивном открытии документа из файла;
3. при вызове метода Показать, если в нем указано имя файла;
4. при вызове пользователем команды "Сохранить как…".
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер).


Цитата(logistbondarenko @ 26.07.24, 12:00) *
А куди це вписати?
В модулі менеджера воно не діє


Там откуда вызывается печать

З.Ы. от обратного: там куда функция возвращает ТабличныйДокумент ;-)

Сообщение отредактировал AnryMc - 26.07.24, 12:22

denis84 Подменю пользователя
сообщение 29.07.24, 9:36
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 471
Из: Украина
Спасибо сказали: 154 раз
Рейтинг: 155.8

logistbondarenko @ 26.07.24, 10:48 * ,
// Сформировать печатные формы объектов
//
// ВХОДЯЩИЕ:
//   ИменаМакетов    - Строка    - Имена макетов, перечисленные через запятую
//   МассивОбъектов  - Массив    - Массив ссылок на объекты которые нужно распечатать
//
// ИСХОДЯЩИЕ:
//   КоллекцияПечатныхФорм - Таблица значений - Сформированные табличные документы
//   ПараметрыВывода       - Структура        - Параметры сформированных табличных документов
//
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АктНаданняПослуг", НСтр("ru='Акт надання послуг';uk='Акт надання послуг'"),
                                                         ПечатьАктНаданняПослуг(МассивОбъектов, ОбъектыПечати, ПараметрыВывода));
КонецПроцедуры

// Функция формирует табличный документ с печатной формой акта об обказании услуг
//
// Возвращаемое значение:
//  Табличный документ - печатная форма акта
//
Функция ПечатьАктНаданняПослуг(МассивОбъектов, ОбъектыПечати, ПараметрыВывода)

    УстановитьПривилегированныйРежим(Истина);
    
    ЗапросШапка = Новый Запрос;
    ЗапросШапка.Текст =
    "ВЫБРАТЬ
    |    Номер,
    |    Дата,
    |    ДоговорКонтрагента,
    |    ДоговорКонтрагента.Дата          КАК ДоговорДата,
    |    ДоговорКонтрагента.Номер         КАК ДоговорНомер,
    |    ДоговорКонтрагента.НаименованиеДляПечати КАК ДоговорНаименованиеДляПечати,
    |    Получил КАК ПредставительПокупателя,
    |    ПредставительОрганизации КАК ПредставительПоставщика,
    |    Контрагент  КАК Покупатель,
    |    Контрагент.ЮридическоеФизическоеЛицо КАК ПокупательЮрФизЛицо,
    |    Организация КАК Поставщик,
    |    Организация,
    |    Сделка,
    |    СуммаДокумента,
    |    ВалютаДокумента,
    |    БанковскийСчетОрганизации,
    |    СуммаВключаетНДС,
    |    ВЫРАЗИТЬ(МестоСоставленияДокумента КАК СТРОКА(1000)) КАК МестоСоставленияДокумента
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";

    ЗапросУслуги = Новый Запрос;
    ЗапросУслуги.Текст = "
    |ВЫБРАТЬ
    |    НомерСтроки  КАК НомерСтрокиТЧ,
    |    Номенклатура КАК Номенклатура,
    |    Содержание КАК Товар,
    |    Номенклатура.Код КАК Код,
    |    Номенклатура.Артикул КАК Артикул,
    |    Количество,
    |    Номенклатура.БазоваяЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
    |    Цена,
    |    Сумма,
    |    СуммаСкидки,
    |    СуммаБезСкидки,
    |    СтавкаНДС,
    |    СуммаНДС
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    НомерСтрокиТЧ
    |";
    
    ЗапросТЧТовары = Новый Запрос;
    ЗапросТЧТовары.Текст =
    "ВЫБРАТЬ
    |    Номенклатура,
    |    Номенклатура.НаименованиеПолное КАК Товар,
    |    Номенклатура.Код КАК Код,
    |    Номенклатура.Артикул  КАК Артикул,
    |    Количество,
    |    ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    Цена,
    |    СуммаБезСкидки,
    |    СуммаСкидки,
    |    Сумма,
    |    СуммаНДС,
    |   НомерСтроки,
    |    1 КАК ID
    |ИЗ
    |    (ВЫБРАТЬ
    |        Номенклатура         КАК Номенклатура,
    |        ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
    |        Цена                 КАК Цена,
    |        СтавкаНДС            КАК СтавкаНДС,
    |        СУММА(Количество)    КАК Количество,
    |        СУММА(Сумма)         КАК Сумма,
    |        СУММА(СуммаБезСкидки)КАК СуммаБезСкидки,
    |        СУММА(СуммаСкидки)   КАК СуммаСкидки,
    |        СУММА(СуммаНДС)      КАК СуммаНДС,
    |        МИНИМУМ(НомерСтроки) КАК НомерСтроки
    |    ИЗ
    |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |    ГДЕ
    |        РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |    СГРУППИРОВАТЬ ПО
    |        Номенклатура,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        СтавкаНДС
    |    ) КАК ВложенныйЗапросПоТоварам ";
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.АвтоМасштаб = Истина;

    Макет = ПолучитьМакет("Акт");
    
    // печать производится на языке, указанном в настройках
    КодЯзыкаПечать = ПараметрыВывода.КодЯзыкаДляМногоязычныхПечатныхФорм;
    Макет.КодЯзыкаМакета = КодЯзыкаПечать;

        ......
    
    УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент,НомерСтрокиНачало, ОбъектыПечати, Ссылка);
    ТабДокумент.ПолеСверху        = 3;
    ТабДокумент.ПолеСнизу         = 3;
    ТабДокумент.ПолеСлева         = 5;
    ТабДокумент.ПолеСправа        = 5;    
    ТабДокумент.ТолькоПросмотр = Истина;    
    Возврат ТабДокумент;
КонецФункции // ПечатьАктНаданняПослуг()


ось так вказував назву документу для зберігання

AnryMc Подменю пользователя
сообщение 29.07.24, 11:07
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 421
Спасибо сказали: 118 раз
Рейтинг: 121.1

Цитата(denis84 @ 29.07.24, 10:36) *
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АктНаданняПослуг", НСтр("ru='Акт надання послуг';uk='Акт надання послуг'"),
ПечатьАктНаданняПослуг(МассивОбъектов, ОбъектыПечати, ПараметрыВывода));


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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 06.12.24, 16:24
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!