Вход | Регистрация

1С:Предприятие ::

Метки: 

1С Расширение

Я
   first_may
 
04.02.18 - 18:08
Добрый вечер.

Хочу, что бы после печати комплекта документов, было выполнено прикрепление файлов. Конфа на поддержке. Поэтому сделал расширение и в него добавил событие

&После("ВыполнитьКомандуПечати")
Процедура Расш_ПечатьКомплектаДокументов_ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ВладелецФормы, ПараметрыПечати)
    ФорматыСохранения = Новый Массив;
    ФорматыСохранения.Добавить(ТипФайлаТабличногоДокумента.PDF);
    
    РезультатВыбора = Новый Структура;
    РезультатВыбора.Вставить("УпаковатьВАрхив", Истина);
    РезультатВыбора.Вставить("ФорматыСохранения", ФорматыСохранения);
    РезультатВыбора.Вставить("ВариантСохранения", "Присоединить");
    РезультатВыбора.Вставить("ПапкаДляСохранения", "");
    РезультатВыбора.Вставить("ОбъектДляПрикрепления", МассивОбъектов[0]);
    РезультатВыбора.Вставить("ПереводитьИменаФайловВТранслит", Истина);
    РезультатВыбора.Вставить("АдресКомплектаПечатныхФорм", ПараметрыПечати.АдресКомплектаПечатныхФорм);
    
    ФайлыВоВременномХранилище = ПоместитьТабличныеДокументыВоВременноеХранилище(РезультатВыбора);
    //ПрисоединитьПечатныеФормыКОбъекту(ФайлыВоВременномХранилище, МассивОбъектов[0]);

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

тут же написал, взяв из формы сохранения
&НаСервере
Функция ПоместитьТабличныеДокументыВоВременноеХранилище(ПереданныеНастройки) Экспорт
...

но когда делаю проверку, то получаю сообщение
{Расширение_ПечатьКомплектаДокументов ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(196,30)}: Процедура или функция с указанным именем не определена (ПоместитьТабличныеДокументыВоВременноеХранилище)
    ФайлыВоВременномХранилище = <<?>>ПоместитьТабличныеДокументыВоВременноеХранилище(РезультатВыбора); (Проверка: Тонкий клиент)


Подскажите пож, как правильно указать директивы?
 
 
   first_may
 
1 - 04.02.18 - 18:26
Нужна помощь. Очень.
   Неверный Параметр И
 
2 - 04.02.18 - 18:39
> УправлениеПечатьюКлиент
> &НаСервере

Ничего не смущает?
   first_may
 
3 - 04.02.18 - 18:43
(2) а как надо?
   first_may
 
4 - 04.02.18 - 18:53
(2) но код в форме ПечатьДокументов такой же
то есть
&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
    
    Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("ОбщаяФорма.СохранениеПечатнойФормы") Тогда
        
        Если ВыбранноеЗначение <> Неопределено И ВыбранноеЗначение <> КодВозвратаДиалога.Отмена Тогда
            ФайлыВоВременномХранилище = ПоместитьТабличныеДокументыВоВременноеХранилище(ВыбранноеЗначение);
            Если ВыбранноеЗначение.ВариантСохранения = "СохранитьВПапку" Тогда
                СохранитьПечатныеФормыВПапку(ФайлыВоВременномХранилище, ВыбранноеЗначение.ПапкаДляСохранения);
            Иначе
                ЗаписанныеОбъекты = ПрисоединитьПечатныеФормыКОбъекту(ФайлыВоВременномХранилище, ВыбранноеЗначение.ОбъектДляПрикрепления);


а внутри вызываются фунции НаСервере.
   Неверный Параметр И
 
5 - 04.02.18 - 19:10
(3) Надо разместить серверный метод в месте, где доступен серверный контекст.
   first_may
 
6 - 04.02.18 - 19:17
(5) то есть в расширении подключен модуль УправлениеПечатьюКлиент

в котором 
&После("ВыполнитьКомандуПечати")
Процедура Расш_ПечатьКомплектаДокументов_ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ВладелецФормы, ПараметрыПечати)
    ФорматыСохранения = Новый Массив;
    ФорматыСохранения.Добавить(ТипФайлаТабличногоДокумента.PDF);
    
    РезультатВыбора = Новый Структура;
    РезультатВыбора.Вставить("УпаковатьВАрхив", Истина);
    РезультатВыбора.Вставить("ФорматыСохранения", ФорматыСохранения);
    РезультатВыбора.Вставить("ВариантСохранения", "Присоединить");
    РезультатВыбора.Вставить("ПапкаДляСохранения", "");
    РезультатВыбора.Вставить("ОбъектДляПрикрепления", МассивОбъектов[0]);
    РезультатВыбора.Вставить("ПереводитьИменаФайловВТранслит", Истина);
    РезультатВыбора.Вставить("АдресКомплектаПечатныхФорм", ПараметрыПечати.АдресКомплектаПечатныхФорм);
    
    ФайлыВоВременномХранилище = УправлениеПечатью.ПоместитьТабличныеДокументыВоВременноеХранилище(РезультатВыбора);
    УправлениеПечатью.ПрисоединитьПечатныеФормыКОбъекту(ФайлыВоВременномХранилище, МассивОбъектов[0]);
КонецПроцедуры




а
    ФайлыВоВременномХранилище = УправлениеПечатью.ПоместитьТабличныеДокументыВоВременноеХранилище(РезультатВыбора);
    УправлениеПечатью.ПрисоединитьПечатныеФормыКОбъекту(ФайлыВоВременномХранилище, МассивОбъектов[0]);

надо поместить в модуль, у которого в свойствах установлен флаг Сервер?
   Неверный Параметр И
 
7 - 04.02.18 - 19:25
(6) И установлен флаг вызова сервера.


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует