helpf.pro
Регистрация

v8: автоматическая Печать договоров в УПП 1.3

boyarincev
20.08.2015 14:34Прочитано: 4079

Добрый день, я начинающий чайник в программировании 1с, и поставлена задача печати договоров с контрагентами на автомате, по кнопке печать. Хотелось бы поинтересоваться есть материал для данного задания или существует каканибуть внешняя форма? 

Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
20.08.2015 17:08Ответ № 1

печать как? просто в 1С используя табличный документ или нужна печать в Ворд файл?

Вот примеры работы с Табличным документом 1С

IBReiter
21.08.2015 08:41Ответ № 2

Материалы есть и внешние формы есть.

Вам нужно для начала определиться, откуда вы будете печатать договор.

boyarincev
21.08.2015 13:06Ответ № 3

конечно мне проще и удобнее освоить печать через word а именно с помощью автозамены переменных в форме... не знаю даже с чего начать... 

IBReiter
21.08.2015 13:34Ответ № 4

Насчет проще и удобнее ворд - тут вопрос...

Там все по стандартной схеме, создаете обработку, в ней реквизит ссылка на объект - это объект конфигурации, из которого вы хотите договор печатать, и далее уже создаете функцию печать в модуле объекта.

Для примера можете посмотреть _Primer.epf

boyarincev
21.08.2015 13:48Ответ № 5

извините что выкладываю ссылки на другие ресурсы, но хотелось бы получить чтото подобное http://www.modber.ru/catalog/item3340.html имеется УПП 1.3.

1)создал внешнюю обработку ПечатьВорд2) сделал .doc где вставил все нижеперечисленное в нужных местах docvariable NomerDogovora, DataDoc, Principal, Manager, Organization, NDateDov3)создал макет с двоичными данными, где указал файл из пункта 2.4) Добавил код в ПечатьВорд: Модуль объекта:Функция ПолучитьМакетСервер()Возврат ПолучитьМакет("Макет1");КонецФункцииПРоцедура НапечататьДокумент(Объект)Word = Новый COMОбъект("Word.Application");Макет = ПолучитьМакетСервер();временныйПуть = КаталогВременныхФайлов();имяВременногоФайла = временныйПуть + "gph.doc";Макет.Записать(имяВременногоФайла);ТекДок = Word.Documents.ADD(имяВременногоФайла);СтруктураДоверенности =ПолучитьДанныеДоверенности(СсылкаНаОбъект.Менеджер);НомерДатаДоверенности = "№ " + СтруктураДоверенности.Номер + " от " + СтруктураДоверенности.Дата;ТекДок.Variables("NomerDogovora").Value=СокрЛП(Строка(СсылкаНаОбъект.Номер));ТекДок.Variables("DateDok").Value=Строка(Формат(СсылкаНаОбъект.Дата,"ДЛФ = ДД"));ТекДок.Variables("Organization").Value=СокрЛП(СсылкаНаОбъект.Организация.НаименованиеПолное);ТекДок.Variables("Menager").Value=Строка(СсылкаНаОбъект.Менеджер);ТекДок.Variables("NDateDov").Value=Строка(НомерДатаДоверенности);ТекДок.Variables("Principal").Value=Строка(СсылкаНаОбъект.Контрагент);ТекДок.Fields.Update();Word.ActiveWindow.View.ShowFieldCodes = False;Word.Visible=Истина;КонецПроцедуры

5) В следствии получил следующее - напоминаю, я начинающий ЧАЙНИК!{ВнешнийОтчет.ПечатьВорд.МодульОбъекта(19,50)}: Переменная не определена (СсылкаНаОбъект)ТекДок.Variables("Organization").Value=СокрЛП(<<?>>СсылкаНаОбъект.Организация.НаименованиеПолное); (Проверка: Толстый клиент (обычное приложение)){ВнешнийОтчет.ПечатьВорд.МодульОбъекта(20,45)}: Переменная не определена (СсылкаНаОбъект)ТекДок.Variables("Menager").Value=Строка(<<?>>СсылкаНаОбъект.Менеджер); (Проверка: Толстый клиент (обычное приложение)){ВнешнийОтчет.ПечатьВорд.МодульОбъекта(22,47)}: Переменная не определена (СсылкаНаОбъект)ТекДок.Variables("Principal").Value=Строка(<<?>>СсылкаНаОбъект.Контрагент); (Проверка: Толстый клиент (обычное приложение)){ВнешнийОтчет.ПечатьВорд.МодульОбъекта(14,27)}: Процедура или функция с указанным именем не определена (ПолучитьДанныеДоверенности)СтруктураДоверенности =<<?>>ПолучитьДанныеДоверенности(СсылкаНаОбъект.Менеджер); (Проверка: Толстый клиент (обычное приложение))6) Что не так? что не сделал?

boyarincev
21.08.2015 14:00Ответ № 6

Не знаю как удалить предидущее сообщение, но поправил...

извините что выкладываю ссылки на другие ресурсы, но хотелось бы получить чтото подобное http://www.modber.ru/catalog/item3340.html имеется УПП 1.3.

1)создал внешнюю обработку ПечатьВорд

2) сделал .doc где вставил все нижеперечисленное в нужных местах docvariable NomerDogovora, DataDoc, Principal, Manager, Organization, NDateDov

3)создал макет с двоичными данными, где указал файл из пункта 2.

4) Добавил код в ПечатьВорд: Модуль объекта:

Функция ПолучитьМакетСервер()

Возврат ПолучитьМакет("Макет1");

КонецФункции

ПРоцедура НапечататьДокумент(Объект)

Word = Новый COMОбъект("Word.Application");

Макет = ПолучитьМакетСервер();

временныйПуть = КаталогВременныхФайлов();

имяВременногоФайла = временныйПуть + "gph.doc";

Макет.Записать(имяВременногоФайла);

ТекДок = Word.Documents.ADD(имяВременногоФайла);

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

НомерДатаДоверенности = "№ " + СтруктураДоверенности.Номер + " от " + СтруктураДоверенности.Дата;

ТекДок.Variables("NomerDogovora").Value=СокрЛП(Строка(СсылкаНаОбъект.Номер));

ТекДок.Variables("DateDok").Value=Строка(Формат(СсылкаНаОбъект.Дата,"ДЛФ = ДД"));

ТекДок.Variables("Organization").Value=СокрЛП(СсылкаНаОбъект.Организация.НаименованиеПолное);

ТекДок.Variables("Menager").Value=Строка(СсылкаНаОбъект.Менеджер);

ТекДок.Variables("NDateDov").Value=Строка(НомерДатаДоверенности);

ТекДок.Variables("Principal").Value=Строка(СсылкаНаОбъект.Контрагент);

ТекДок.Fields.Update();

Word.ActiveWindow.View.ShowFieldCodes = False;

Word.Visible=Истина;

КонецПроцедуры

5) В следствии получил следующее - напоминаю, я начинающий ЧАЙНИК!

{ВнешнийОтчет.ПечатьВорд.МодульОбъекта(19,50)}: Переменная не определена (СсылкаНаОбъект)ТекДок.Variables("Organization").Value=СокрЛП

(<<?>>СсылкаНаОбъект.Организация.НаименованиеПолное); (Проверка: Толстый клиент (обычное приложение))

{ВнешнийОтчет.ПечатьВорд.МодульОбъекта(20,45)}: Переменная не определена (СсылкаНаОбъект)ТекДок.Variables("Menager").Value=Строка

(<<?>>СсылкаНаОбъект.Менеджер); (Проверка: Толстый клиент (обычное приложение))

{ВнешнийОтчет.ПечатьВорд.МодульОбъекта(22,47)}: Переменная не определена (СсылкаНаОбъект)ТекДок.Variables("Principal").Value=Строка

(<<?>>СсылкаНаОбъект.Контрагент); (Проверка: Толстый клиент (обычное приложение))

{ВнешнийОтчет.ПечатьВорд.МодульОбъекта(14,27)}: Процедура или функция с указанным именем не определена (ПолучитьДанныеДоверенности)СтруктураДоверенности =

<<?>>ПолучитьДанныеДоверенности(СсылкаНаОбъект.Менеджер); (Проверка: Толстый клиент (обычное приложение))

6) Что не так? что не сделал?

IBReiter
21.08.2015 14:23Ответ № 7

Я же вам файл обработки выложил, возьмите его и переделайте как вам нужно.

В нем интуитивно все понятно, написан для ЗУП 2.5.

Можете в зарплатной базе отладчиком посмотреть процесс заполнения и переделать его уже под упп

boyarincev
21.08.2015 14:32Ответ № 8

спасибо, не заметил... могу ли я вам задавать вопросы по мере выполнения?!!!

IBReiter
21.08.2015 14:44Ответ № 9

Можете;)

Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.