Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

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

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Другие решения на платформе "1С:Предприятие 8"]

Метод объекта не обнаружен(Печать)

agile_roman
читатель
офлайн
Дата регистрации: 06.02.2010
Сообщений: 51
Пост №1
 
19.05.2011 17:46

Конфигурация Альфа-Авто 4.1. Внешняя печатная форма. В качестве макета - документ Word. В модуле обработки описана функция Печать() Экспорт. и в ней написано "возврат неопределено". А перед этим код, вызывающий вордовский макет, заполняющий его и активизурующий. В документе при попытке напечатать - сообщение "Обработчик печатной формы БланкНаСервис (внешняя): {Справочник.ВнешниеПечатныеФормы(100)}: Метод объекта не обнаружен (Печать)". Подскажите, пожалуйста, в чем может быть дело.

agile_roman
читатель
офлайн
Дата регистрации: 06.02.2010
Сообщений: 51
Пост №2
 
20.05.2011 08:55

up

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8343
Пост №3
 
20.05.2011 10:09

Платформа не 8.2 случайно?

agile_roman
читатель
офлайн
Дата регистрации: 06.02.2010
Сообщений: 51
Пост №4
 
20.05.2011 10:19

8.1

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8343
Пост №5
 
20.05.2011 10:37

Может выложите текст модуля этой обработки?

agile_roman
читатель
офлайн
Дата регистрации: 06.02.2010
Сообщений: 51
Пост №6
 
20.05.2011 10:42

"Функция Печать(ДокументОбъект, ТабДокумент) Экспорт
ДокументОбъект = СсылкаНаОбъект;
ТабДокумент = неопределено;
////////////////////////////////////////////////////////­////////////////////
ДатаОбращ = СокрЛП(Строка(Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy")));
ДатаПост = СокрЛП(Строка(Формат(СсылкаНаОбъект.ДатаНачала, "ДФ=dd.MM.yyyy")));
ФИО = СокрЛП(Строка(СсылкаНаОбъект.Заказчик));
Авто = СокрЛП(Строка(СсылкаНаОбъект.Автомобиль));

//Пробег
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
                   | АвтомобилиСрезПоследних.Значение
                   |ИЗ
                   | РегистрСведений.Автомобили.СрезПоследних КАК АвтомобилиСрезПоследних
                   |ГДЕ
                   | АвтомобилиСрезПоследних.Автомобиль = &Авто
                   | И АвтомобилиСрезПоследних.ВидЗначения = &Пробег";
Запрос.УстановитьПараметр("Авто", СсылкаНаОБъект.Автомобиль);
Запрос.УстановитьПараметр("Пробег", Перечисления.ДополнительнаяИнформацияАвтомобилей.Пробег);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
       Пробег = СокрЛП(Строка(Результат.Значение));
КонецЦикла;
ГодВып = СокрЛП(Строка(СсылкаНаОбъект.Автомобиль.ГодВыпуска));
Причина = СокрЛП(СсылкаНаОбъект.ПричинаОбращения);

//История
Запрос = Новый Запрос;
//Это последний заказ-наряд
Запрос.Текст = "ВЫБРАТЬ
                   | ЗаказНаряд.Ссылка,
                   | МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата
                   |ИЗ
                   | Документ.ЗаказНаряд КАК ЗаказНаряд
                   |ГДЕ
                   | ЗаказНаряд.Автомобиль = &авто
                   |
                   |СГРУППИРОВАТЬ ПО
                   | ЗаказНаряд.Ссылка";
Запрос.УстановитьПараметр("авто", ссылканаобъект.Автомобиль);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
       ПослЗаказСсылка = Результат.Ссылка;
КонецЦикла;
История = """";

Если НЕ ПослЗаказСсылка.Пустая() тогда
       //Если последнее было ТО
       Если ПослЗаказСсылка.ВидРемонта = Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000004") тогда
            История = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " +
            СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " +
            СокрЛП(ПослЗАказСсылка.Рекомендации);
       //Если последнее не ТО
       Иначе
            //Что делали последним
            ПослИстория = """";
            ПослИстория = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " +
            СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " +
            СокрЛП(ПослЗАказСсылка.Рекомендации);

            //Найти последнее ТО
            Запрос = Новый Запрос;
            //Это последний заказ-наряд
            Запрос.Текст = "ВЫБРАТЬ
                   | ЗаказНаряд.Ссылка,
                   | МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата
                   |ИЗ
                   | Документ.ЗаказНаряд КАК ЗаказНаряд
                   |ГДЕ
                   | ЗаказНаряд.Автомобиль = &авто И ЗаказНаряд.ВидРемонта = &ВидРемонта
                   |
                   |СГРУППИРОВАТЬ ПО
                   | ЗаказНаряд.Ссылка";
            Запрос.УстановитьПараметр("авто", ссылканаобъект.Автомобиль);
            Запрос.УстановитьПараметр("ВидРемонта", Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000004"));
            Результат = Запрос.Выполнить().Выбрать();
            Пока Результат.Следующий() Цикл
             ПослЗаказСсылка = Результат.Ссылка;
            КонецЦикла;
            Если НЕ ПослЗаказСсылка.Пустая() тогда
             История = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " +
             СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " +
             СокрЛП(ПослЗАказСсылка.Рекомендации)+ "; " + ПослИстория;
            Иначе
             История = ПослИстория;
            КонецЕсли;
       КонецЕсли;
КонецЕсли;

// Установленное дополнительное оборудование
СписокВидов = Новый Массив;
СписокВидов.Добавить(СПравочники.ВидыРемонта.ДополнительноеОборудование);
СписокВидов.Добавить(Справочники.ВидыРемонта.КомплектацияАвтомобиля);
СписокВидов.Добавить(Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000005"));
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
                   | ЗаказНарядТовары.Номенклатура
                   |ИЗ
                   | Документ.ЗаказНаряд.Товары КАК ЗаказНарядТовары
                   |ГДЕ
                   | ЗаказНарядТовары.Ссылка В
                   |            (ВЫБРАТЬ
                   |             ЗаказНаряд.Ссылка КАК Ссылка
                   |            ИЗ
                   |             Документ.ЗаказНаряд КАК ЗаказНаряд
                   |            ГДЕ
                   |             ЗаказНаряд.Автомобиль = &авто
                   |             И ЗаказНаряд.ВидРемонта В (&СписокВидов))";
Запрос.УстановитьПараметр("СписокВидов", СписокВидов);
Запрос.УстановитьПараметр("Авто", СсылкаНаОбъект.Автомобиль);
Результат = Запрос.Выполнить().Выбрать();
ДопОборуд = """";
счетчик = 1;
Пока Результат.Следующий() Цикл
       Если счетчик = 1 тогда
            ДопОборуд = СокрЛП(Строка(Результат.Номенклатура)) + "; ";
            счетчик = счетчик + 1;
       Иначе
             ДопОборуд = ДопОборуд + СокрЛП(Строка(Результат.Номенклатура)) + "; ";
       КонецЕсли;
КонецЦикла;

//Дополнительные Услуги
ДопУслуги = """";
Если СсылкаНаОбъект.ДопМойкаТехнологическая = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = "Технологическая мойка; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопМойкаПолностью = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "мойка полностью; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопМойкаДвигатель = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "мойка двигателя; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопМойкаСверху = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "мойка сверху; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопАвтонабор = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "автонабор; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопБалансировкаКолес = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "балансировка колес; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопБрызговики = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "брызговики; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопДиагностическийСтенд = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "диагностический стенд; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопКоврыВБагажник = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "ковры в багажник; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопКоврыВСалон = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "ковры в салон; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопКомплектЛамп = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "комплект ламп; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопПредложениеВременногоРешения = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "предложение временного решения; ";
КонецЕсли;
Если СсылкаНаОбъект.ДопЩетки = Перечисления.ОтветДопРаботы.Да тогда
       ДопУслуги = ДопУслуги + "щетки; ";
КонецЕсли;


////////////////////////////////////////////////////////­//////////////
АктивныйДокумент = ПолучитьМакет("БланкНаСервис");
Документ = АктивныйДокумент.Получить();
Документ.Content.Find.Execute("<датаобращ>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДатаОбращ);
Документ.Content.Find.Execute("<датапост>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДатаПост);
Документ.Content.Find.Execute("<фио>", Ложь, Истина, Ложь, , , Истина, , Ложь, фио);
Документ.Content.Find.Execute("<авто>", Ложь, Истина, Ложь, , , Истина, , Ложь, авто);
Документ.Content.Find.Execute("<пробег>", Ложь, Истина, Ложь, , , Истина, , Ложь, пробег);
Документ.Content.Find.Execute("<годвып>", Ложь, Истина, Ложь, , , Истина, , Ложь, годвып);
Документ.Content.Find.Execute("<причина>", Ложь, Истина, Ложь, , , Истина, , Ложь, причина);
Документ.Content.Find.Execute("<история>", Ложь, Истина, Ложь, , , Истина, , Ложь, история);
Документ.Content.Find.Execute("<допоборуд>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДопОборуд);
Документ.Content.Find.Execute("<допуслуги>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДопУслуги);
Документ.Application.Visible = Истина;
Документ.Activate();
      
Возврат ТабДокумент;
КонецФункции // Печать"

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №7
 
20.05.2011 10:44

> Функция Печать(ДокументОбъект, ТабДокумент) Экспорт
Именно в этом дело.
Ищется и вызывается:

Функция Печать () Экспорт
...
КонецФункции

agile_roman
читатель
офлайн
Дата регистрации: 06.02.2010
Сообщений: 51
Пост №8
 
20.05.2011 10:47

Конфигурация Альфа Авто. Разработчики на сайте раруса советуют делать именно через два параметра, как написано у меня.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8343
Пост №9
 
20.05.2011 11:10

В Альфа-Авто вроде бы есть возможность держать обработку во внешнем файле, а не размещать ее в реквизите справочника как хранилище значения. Поэтому можно "прогнать" отладчиком и посмотреть у какого вообще объекта программа пытается найти метод "Печать".

agile_roman
читатель
офлайн
Дата регистрации: 06.02.2010
Сообщений: 51
Пост №10
 
20.05.2011 11:12

все верно, спасибо, прогнал и вычислил что ссылку на объект надо вставлять сразу же в печать, т.е. печать(ссылканаобъект, табдокумент)

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги