Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Май 2019, 18:11
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: УНФ 1.6 Программно сформировать типовую ПФ и сохранить  (Прочитано 137 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн buketov.av

  • ***
  • Сообщений: 162
  • РЕПУТАЦИЯ: 8
  • КПД: 5%
  • смутные...
  • Регистрация: 2017-07-10
    • Skype: buketov.av
  • Сайт: 
  • Профессия: Разработчик 1С
Всем добрый вечер!

1С:Предприятие 8.3 (8.3.13.1644)
Управление нашей фирмой, редакция 1.6 (1.6.15.65)

Очень нужна помощь и подсказка.
Сделал внешнюю обработку, по расписанию она выполняет ряд действий, одно из действий это создание на основании счета на оплату, акта выполненных работ, счета фактуры, копирует старый счет на оплату и вносит в него некоторые изменения.
Так вот, теперь мне необходимо программно, из моей внешней обработки, сформировать типовые ПФ Акта выполненных работ, нового счет на оплату и УПД, сохранить и отправить клиенту, который указан в счете на оплату.
Как программно сформировать определенные типовые ПФ для определенных документов, затем их сохранить в pdf и все это дело отправить?
Всем заранее спасибо!


Оффлайн buketov.av

  • ***
  • Сообщений: 162
  • РЕПУТАЦИЯ: 8
  • КПД: 5%
  • смутные...
  • Регистрация: 2017-07-10
    • Skype: buketov.av
  • Сайт: 
  • Профессия: Разработчик 1С
на данный момент получилось сделать так, но пока не разобрался как УПД сформировать:
Код:
            //получаем ПФ Счета на оплату для отправки по почту клиенту
            ОбъектДляСервера      = РеквизитФормыВЗначение("Объект");   
            КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетНаОплату");   
            ПараметрыВывода       = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
           
            ОбъектыПечатиСчета = Новый СписокЗначений;
           
            МассивОбъектов = Новый Массив();
            МассивОбъектов.Добавить(ПродлевающийСчет.Ссылка);
           
            Документы.СчетНаОплату.Печать(МассивОбъектов,ПараметрыВывода, КоллекцияПечатныхФорм, ОбъектыПечатиСчета, ПараметрыВывода);
           
            СтрСчет = КоллекцияПечатныхФорм[0];
            СчетНаОплатуПФ = СтрСчет.ТабличныйДокумент;
            СчетНаОплатуПФ.Защита = Истина;
            ВремФайлСчета = ПолучитьИмяВременногоФайла("pdf");
            СчетНаОплатуПФ.Записать(ВремФайлСчета,ТипФайлаТабличногоДокумента.PDF);
           
            //получаем ПФ Акта выполненных работ для отправки по почту клиенту
            ОбъектДляСервера      = РеквизитФормыВЗначение("Объект");   
            КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("АктОбОказанииУслуг");   
            ПараметрыВывода       = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
           
            ОбъектыПечати = Новый СписокЗначений;
           
            МассивОбъектов = Новый Массив();
            МассивОбъектов.Добавить(НовыйАктВР.Ссылка);
           
            Документы.АктВыполненныхРабот.Печать(МассивОбъектов,ПараметрыВывода, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
           
            СтрАкт = КоллекцияПечатныхФорм[0];
            АктПФ = СтрАкт.ТабличныйДокумент;
            АктПФ.Защита = Истина;
            ВремФайлАкт = ПолучитьИмяВременногоФайла("pdf");
            АктПФ.Записать(ВремФайлАкт,ТипФайлаТабличногоДокумента.PDF);

            Письмо.Вложения.Добавить(ВремФайлСчета);           
            Письмо.Вложения.Добавить(ВремФайлАкт);

Оффлайн wise

  • *****
  • Сообщений: 875
  • РЕПУТАЦИЯ: 130
  • КПД: 15%
  • Кто сгорел, того не подожжешь
  • Регистрация: 2013-03-21
  • Сайт: 
  • Профессия: Ученик 1С
(1) УПД также из АктВыполненныхРабот
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Оффлайн buketov.av

  • ***
  • Сообщений: 162
  • РЕПУТАЦИЯ: 8
  • КПД: 5%
  • смутные...
  • Регистрация: 2017-07-10
    • Skype: buketov.av
  • Сайт: 
  • Профессия: Разработчик 1С
(1) УПД также из АктВыполненныхРабот

чет не получается
подскажите тогда, пожалуйста, как и где указать, чтобы сформировался УПД, а не Акт выполненных работ

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

ОбъектыПечати = Новый СписокЗначений; 

МассивОбъектов = Новый Массив();
МассивОбъектов.Добавить(НовыйАктВР.Ссылка);

Документы.АктВыполненныхРабот.Печать(МассивОбъектов,ПараметрыВывода, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

СтрАкт       = КоллекцияПечатныхФорм[0];
АктПФ        = СтрАкт.ТабличныйДокумент;
АктПФ.Защита = Истина;
ВремФайлАкт  = ПолучитьИмяВременногоФайла("pdf");
АктПФ.Записать(ВремФайлАкт,ТипФайлаТабличногоДокумента.PDF);

Добавлено: 15 Мар 2019, 14:55

Итоговый рабочий код:

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

ОбъектыПечатиСчета = Новый СписокЗначений; 

МассивОбъектов = Новый Массив();
МассивОбъектов.Добавить(ПродлевающийСчет.Ссылка);

Документы.СчетНаОплату.Печать(МассивОбъектов,ПараметрыВывода, КоллекцияПечатныхФорм, ОбъектыПечатиСчета, ПараметрыВывода);

СтрСчет          = КоллекцияПечатныхФорм[0];
СчетНаОплатуПФ   = СтрСчет.ТабличныйДокумент;
СчетНаОплатуПФ.Защита = Истина;
ВремФайлСчета         = ПолучитьИмяВременногоФайла("pdf");
СчетНаОплатуПФ.Записать(ВремФайлСчета,ТипФайлаТабличногоДокумента.PDF);

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

ОбъектыПечати = Новый СписокЗначений; 

МассивОбъектов = Новый Массив();
МассивОбъектов.Добавить(НовыйАктВР.Ссылка);

Документы.АктВыполненныхРабот.Печать(МассивОбъектов,ПараметрыВывода, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

СтрАкт       = КоллекцияПечатныхФорм[0];
АктПФ        = СтрАкт.ТабличныйДокумент;
АктПФ.Защита = Истина;
ВремФайлАкт  = ПолучитьИмяВременногоФайла("pdf");
АктПФ.Записать(ВремФайлАкт,ТипФайлаТабличногоДокумента.PDF);


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

ОбъектыПечати = Новый СписокЗначений;

МассивОбъектов = Новый Массив();
МассивОбъектов.Добавить(НовыйАктВР.Ссылка);

Обработки.ПечатьСчетФактура.Печать(МассивОбъектов,ПараметрыВывода, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

СтрАкт       = КоллекцияПечатныхФорм[0];
АктПФ        = СтрАкт.ТабличныйДокумент;
АктПФ.Защита = Истина;
ВремФайлУпд  = ПолучитьИмяВременногоФайла("pdf");
АктПФ.Записать(ВремФайлУпд,ТипФайлаТабличногоДокумента.PDF);

Письмо.Вложения.Добавить(ВремФайлСчета);
Письмо.Вложения.Добавить(ВремФайлАкт);
Письмо.Вложения.Добавить(ВремФайлУпд);


Последний раз редактировалось: buketov.av; 15 Мар 2019, 14:55. Причина: Объединение сообщений

Оффлайн buketov.av

  • ***
  • Сообщений: 162
  • РЕПУТАЦИЯ: 8
  • КПД: 5%
  • смутные...
  • Регистрация: 2017-07-10
    • Skype: buketov.av
  • Сайт: 
  • Профессия: Разработчик 1С
Вот таким образом победил правильное отображение файлов в отправляемом письме:
Код:

       ДвоичныеДанные = Новый ДвоичныеДанные(ВремФайлСчета);
       Письмо.Вложения.Добавить(ДвоичныеДанные, Строка(ПродлевающийСчет) + ".PDF");
           
       ДвоичныеДанные = Новый ДвоичныеДанные(ВремФайлАкт);
       Письмо.Вложения.Добавить(ДвоичныеДанные, Строка(НовыйАктВР) + ".PDF");
           
       ДвоичныеДанные = Новый ДвоичныеДанные(ВремФайлУпд);
      Письмо.Вложения.Добавить(ДвоичныеДанные, Строка(НовыйСчетФактура) + ".PDF");


Теги:
 

Программно открыть отчет скд и отчет подключенный как внешний отчет

Автор 1ckaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5143
Последний ответ 02 Фев 2015, 10:06
от 1cka
Как открыть программно открыть форму контрагента?

Автор VzonderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3455
Последний ответ 18 Янв 2017, 12:32
от sertak
Программно добавить "Содержание" в товарную часть

Автор Артур СРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 1756
Последний ответ 02 Окт 2016, 17:22
от Артур С
"Доступ к информационной базе разрешен" программно

Автор 12040Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1943
Последний ответ 10 Янв 2017, 10:20
от LexaK
Как программно открыть форму и закрыть с записью, чтобы отработал метод перед записью

Автор con2rРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 7719
Последний ответ 13 Июн 2017, 12:17
от Whisper

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
35 Сообщений
wise wise
33 Сообщений
AIFrame AIFrame
32 Сообщений
alexandr_ll
31 Сообщений
DmitriyF DmitriyF
13 Сообщений
SGIRG SGIRG
12 Сообщений
Shohana
11 Сообщений
vova-1c@xaker.ru
11 Сообщений
kiksi
10 Сообщений
Мария112689
10 Сообщений

* Кто онлайн

  • Точка Гостей: 391
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal