Всем привет. У меня есть внешняя печатная форма (Во вложении). В качестве макета выступает документ MSWord ПримерВордовскойПечати, добавлен в Active Document. Задача: в 1с предприятии, а не в конфигурации, в разделе продажи -> документы продажи(все) -> печать и вывести в печати именно тот документ, который я сделал (ПримерВордовскойПечати). так как я еще совсем новичок, обошел все форумы, написал код программы, в модуле объекта, в в дополнительные отчеты и обработки, загрузил этот документ, зашел в раздел продажи -> документы продажи(все) -> печать-> ПримерВордПечати и выводит такую ошибку:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(235)}: Слишком много фактических параметров
ВнешняяОбработкаОбъект.Печать(
пока я обошел все форумы я уже запутался. посмотрите мой код (Во вложении) и объясните начинающему нормально, как эту ошибку устранить
почему функция, а не процедура? кому и что она должна возвращать?
почему в модуле обработки, а не формы?
почему вызов серверного метода? на сервере нужно только макет и нужные данные получить, а выводить по-любому на клиенте. на сервере может(скорее всего) и офис не установлен.
делайте вызовклиентскогометода
в модуле обработки убирайте свою функцию
в форме
&НаСервере
Функция ПолучитьМакетНаСервере()
Обработка = РеквизитФормыВЗначение("Объект");
Возврат Обработка.ПолучитьМакет("НужныйМакет");
КонецФункции
вообще я это все из примеров брал.
переделал так, как ты написал (во вложении),
ошибка следующая:
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(412)}: Слишком много фактических параметров
ФормаОбработки.Печать(ВыполняемаяКоманда.Идентификатор, ОбъектыНазначения);
{ВнешняяОбработка.ПримерВордовскойПечати.Форма.Форма.Форма(10)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
Договор = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ПФ_WORD_Договор");
по причине:
Метод недоступен на клиенте
Потому, что это должно быть с дериктивой &НаСервере
&НаСервере
Функция ПолучитьМакетНаСервере()
Обработка = РеквизитФормыВЗначение("Объект");
Возврат Обработка.ПолучитьМакет("НужныйМакет");
КонецФункции
{ВнешняяОбработка.ПримерВордовскойПечати.Форма.Форма.Форма(10)}: Ошибка при вызове метода контекста (ПолучитьМакетНаСервере)
Договор = ПолучитьМакетНаСервере();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
(15) в свой макет загружаешь свой "шаблон.doc" в формате двоичных данных. Двочные данные - это сам файл.
Потом, по логике, этот файл локально сохраняется во временных файлах и COMОбъект("Word.Application") загружает этот сохраненный документ.
Дальше крути как хочешь.
(17) Если написанные строчки кода не несут для вас смысловой нагрузки(т.е. что, откуда и куда), то вам нужно идти к самым истокам изучения программирования 1с.