Имя: Пароль:
1C
 
Странное поведение ВПФ
0 НоваяВолна
 
06.09.18
10:30
Создал ВПФ, как внешнюю с формой. Протестировал, работает. Подключаю ее в документ, печатную форму выводит правильно, но выдает ошибку

{ОбщийМодуль.УниверсальныеМеханизмы.Модуль(1386)}: Поле объекта не обнаружено (КоличествоЭкземпляров)
        ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров;

Вот эта функция:

Функция НапечататьДокумент(ПечДокумент, КоличествоЭкземпляров = 1, НаПринтер = Ложь, Заголовок = "", Ссылка = Неопределено, ПараметрыПечДокумента = Неопределено) Экспорт

    Если ПечДокумент = Неопределено тогда
        Возврат Неопределено;
    КонецЕсли;

    // Получить необходимое количество копий
    Если КоличествоЭкземпляров > 0 Тогда
        ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров;
    КонецЕсли;

    Если НЕ ПечДокумент.АвтоМасштаб
       И НЕ ЗначениеЗаполнено(ПечДокумент.ИмяПринтера) Тогда
        ПечДокумент.АвтоМасштаб = Истина;
    КонецЕсли;

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

        НаПринтер.Добавить(ПечДокумент);
    КонецЕсли;
    Возврат Неопределено;
КонецФункции // НапечататьДокумент()


По точке останова проверял во внешнем файле. И Параметр ПечДокумент выгладит так:

https://d.radikal.ru/d28/1809/d3/e12a8ae839ce.jpg

т.е. КоличествоЭкземпляров там есть.

Что не так, понять не могу.
1 НоваяВолна
 
06.09.18
13:50
..
2 Очевидно
 
06.09.18
14:47
...
3 Очевидно
 
06.09.18
14:49
... после
    Если ПечДокумент = Неопределено тогда
        Возврат Неопределено;
    КонецЕсли;

Добавь :

Если не ТипЗнч(ПечДокумент) = Тип("ТабличныйДокумент") Тогда
Сообщить("Печ документ = "+СокрЛП(ПечДокумент)+" и тип у него сейчас :"+СокрЛП(ТипЗнч(ПечДокумент))+"");
КонецЕсли;