Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Печать внешней обработки

Печать внешней обработки
Я
   LittlePumpkin
 
23.07.20 - 13:28
Добрый день! Управление торговлей 11
Создал внешнюю обработку для печати документа "Реализация товаров и услуг" по необходимому макету. При попытке запустить выдает ошибку:

Метод объекта не обнаружен (Печать)
{ОбщийМодуль.УправлениеПечатью.Модуль(1510)}:    ВнешняяОбработкаОбъект.Печать(
{ОбщаяФорма.ПечатьДокументов.Форма(413)}:        УправлениеПечатью.ПечатьПоВнешнемуИсточнику(

Процедуру Печать сделал экспортной. Не понимаю в чем проблема, подскажите пожалуйста.
   LittlePumpkin
 
1 - 23.07.20 - 13:39
В общем модуле "Управление печатью" сваливается здесь
ВнешняяОбработкаОбъект.Печать(
        ПараметрыИсточника.ОбъектыНазначения,
        КоллекцияПечатныхФорм,
        ОбъектыПечати,
        ПараметрыВывода);

Функцию "Печать" в обработке сделал так:

&НаКлиенте
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт 
    
    ПараметрыПечати = Новый Структура;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДВнешний") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
            КоллекцияПечатныхФорм,
            "УПДВнешний",
            НСтр("ru = 'Реализация товаров'"),
            СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати, ПараметрыПечати),
            ,
            "УниверсальныйПередаточныйДокумент");
    КонецЕсли;

КонецПроцедуры
   Галахад
 
2 - 23.07.20 - 13:45
Угу. В общем модуле "&НаКлиенте".
   LittlePumpkin
 
3 - 23.07.20 - 13:54
То есть проблема в том, что с сервера не видно клиентскую функцию правильно понимаю?
Но проблема тогда в том, что функция "Печать" вызывает функцию "СформироватьПечатнуюФормуНакладная" в которой используется "установить параметр" для запроса. А "установить параметр" на сервере недоступен. Поэтому обе функции ("печать" и "СформироватьПечатнуюФормуНакладная") приходится определять на клиенте. Подскажите как разрешить этот момент?
   LittlePumpkin
 
4 - 23.07.20 - 13:58
Наверное непонятно написал. Схема такая
Печать -----> СформироватьПечатнуюФомуНакладная
                       |
                       |
                   используется "установить параметр" для запроса

При определении функций на сервере ругается на "установить параметр"
   Uzyf
 
5 - 23.07.20 - 14:01
Ты про этот параметр?

УстановитьПараметр (SetParameter)
Синтаксис:
УстановитьПараметр(<Имя>, <Значение>)
Параметры:
<Имя> (обязательный)
Тип: Строка.
Имя устанавливаемого параметра. Оно должно соответствовать требованиям, предъявляемым к именованию переменных встроенного языка.
<Значение> (обязательный)
Тип: Произвольный.
Значение устанавливаемого параметра.
Описание:
Устанавливает параметр запроса. Параметры доступны для обращения в тексте запроса. С помощью этого метода можно передавать переменные в запрос, например, для использования в условиях запроса.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
   LittlePumpkin
 
6 - 23.07.20 - 14:10
Да, про этот, при определении на сервере выдает 

Процедура или функция с указанным именем не определена (УстановитьПараметр)
                <<?>>УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", Неопределено); (Проверка: Сервер)
   Uzyf
 
7 - 23.07.20 - 14:13
(6)
Пример:
Запрос.УстановитьПараметр("ДатаКонца", РабочаяДата);
Запрос.УстановитьПараметр("Товар", ВыбТовар);
   LittlePumpkin
 
8 - 23.07.20 - 14:15
Да, про него, используется так:
Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
                УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", Неопределено);
            Иначе
                НомерСтроки = НомерСтроки + 1;
                УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", НомерСтроки);
            КонецЕсли;
   Uzyf
 
9 - 23.07.20 - 14:19
(8) это какая-то ваша процедура, которая не описана у вас. Запрос.УстановитьПараметр - это другое

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