Имя: Пароль:
1C
1С v8
Тестирование Печатной Формы Внешней Обработки на Клиенте
0 ivangrant
 
23.12.19
14:27
Выдает ошибку внешняя обработка:
{ВнешняяОбработка.итПечатнаяФормаТ6а.Форма.Форма.Форма(17)}: Метод объекта не обнаружен (СформироватьПечатнуюФормуЗдесь)
ТабДок = Об.СформироватьПечатнуюФормуЗдесь(ДокументОтгулСписком, ТабДок);

Код в модуле формы:

[code]
// Формирование документа для подготовки к печати
&НаКлиенте
Процедура ЗагрузитьСписок(Команда)
    ТабДок = Новый ТабличныйДокумент;
    ТабДок = ВывестиДокумент(Объект.ДокументОтгулСписком, ТабДок);
    Табдок.Показать();
КонецПроцедуры

&НаСервере
Функция ВывестиДокумент(ДокументОтгулСписком, ТабДок)
    Об = РеквизитФормыВЗначение("Объект");
    ТабДок = Об.СформироватьПечатнуюФормуЗдесь(ДокументОтгулСписком, ТабДок);
КонецФункции
[/code]

Чего ей ещё нужно?
1 dka80
 
23.12.19
14:31
СформироватьПечатнуюФормуЗдесь - Экспорт стоит?
2 ivangrant
 
23.12.19
14:35
(1) Оф кос!

Функция СформироватьПечатнуюФормуЗдесь(СсылкаНаОбъект, ОбъектыПечати) Экспорт
    
    Макет = ПолучитьМакет("ит_ПФ_MXL_Т6а");
    //ДокОбъект = РеквизитФормыВЗначение("Объект");
    ПечатнаяФорма = Новый ТабличныйДокумент;
    ПечатнаяФорма.Очистить();
    ПечатнаяФорма.АвтоМасштаб = Истина;
    ПечатнаяФорма.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    //ПечатнаяФорма.МасштабПечати = 90; //На случай, если понадобится уменьшать документ по вертикали, чтобы влезал на один лист\\
    Шапка = Макет.ПолучитьОбласть("Шапка");
    Шапка.Параметры.ОрганизацияНаименованиеСокращенное = СсылкаНаОбъект.Организация.НаименованиеПолное;
    Шапка.Параметры.НомерНаПечать                      = СсылкаНаОбъект.Номер;
    Шапка.Параметры.Дата                               = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy");    
    ПечатнаяФорма.Вывести(Шапка);
    ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ПечатнаяФорма.Вывести(ШапкаТаблицы);        
    СотрудникиСписком = ЗапросПоСотрудникам(СсылкаНаОбъект);
    Строка = Макет.ПолучитьОбласть("Строка");
    Для Каждого Сотрудник Из СотрудникиСписком Цикл
        Строка.Параметры.Заполнить(Сотрудник);
        Строка.Параметры.ТабельныйНомер = УдалитьЛидирующиеНулиИзНомераОбъекта(Сотрудник.ТабельныйНомер);
        ПечатнаяФорма.Вывести(Строка);
    КонецЦикла;
    //ПечатнаяФорма.ВывестиГоризонтальныйРазделительСтраниц();
    Подвал = Макет.ПолучитьОбласть("Подвал");
    Если СсылкаНаОбъект.Организация.Наименование = "" Тогда
        Подвал.Параметры.ДолжностьРуководителя = "";
        Подвал.Параметры.РуководительИОФамилия = "";
    Иначе
        Подвал.Параметры.ДолжностьРуководителя = СсылкаНаОбъект.ДолжностьРуководителя;
        
        Фамилия = СсылкаНаОбъект.Руководитель.Фамилия;
        Имя = СсылкаНаОбъект.Руководитель.Имя;
        Отчество = СсылкаНаОбъект.Руководитель.Отчество;
        РуководительИОФамилия = Лев(Имя,1)+ ". " + Лев(Отчество,1) + ". " + Фамилия + "";
        Подвал.Параметры.РуководительИОФамилия = РуководительИОФамилия;
    КонецЕсли;
    
    ПечатнаяФорма.Вывести(Подвал);    
    Возврат ПечатнаяФорма;    
КонецФункции
3 dka80
 
23.12.19
14:39
Буква "С" в "СформироватьПечатнуюФормуЗдесь" в одном случае латинская, в другом русская
4 ivangrant
 
24.12.19
06:11
(3) Нет. Все буквы русские.
5 ivangrant
 
24.12.19
06:26
UPD!
Задачку решил.
А причина была в том, что на одном из форумов посоветовали подключить в модуль объекта:
#Если ТолстыйКлиентОбычноеПриложение Тогда
Когда это удалил, всё заработало.
______
А зачем мне это посоветовали? Нужно было в табельном номере сотрудника удалить префиксы, нули, и символы. Пытался подключить экспортную функцию УдалитьЛидирующиеНулиИзНомераОбъекта.
В итоге больше подошла функция НомерНаПечать.
6 ДенисЧ
 
24.12.19
06:41
(5) Мда... Плохо быть...
7 Автосервис
 
24.12.19
06:47
(6) Держи себя в руках)))
8 dka80
 
24.12.19
08:59
(5) и где в приведенном куске кода "#Если ТолстыйКлиентОбычноеПриложение Тогда"? Все врут (с) Доктор Хаус
9 Василий Алибабаевич
 
24.12.19
09:03
(8) В модуле объекта!!? О-о-о-о...
10 dka80
 
24.12.19
09:48
(9) а что, в модуле объекта такого быть не может? Посмотрел сейчас ЗУП - там куча мест в модулях объектов, где есть такая конструкция
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.