Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 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
Сообщений: 8351
Пост №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
Сообщений: 8351
Пост №5
 
20.05.2011 10:37

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

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

"Функция Печать(ДокументОбъект, ТабДокумент) Экспорт<br> ДокументОбъект = СсылкаНаОбъект;<br> ТабДокумент = неопределено;<br>////////////////////////////////////////////////////////­////////////////////<br> ДатаОбращ = СокрЛП(Строка(Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy")));<br> ДатаПост = СокрЛП(Строка(Формат(СсылкаНаОбъект.ДатаНачала, "ДФ=dd.MM.yyyy")));<br> ФИО = СокрЛП(Строка(СсылкаНаОбъект.Заказчик));<br> Авто = СокрЛП(Строка(СсылкаНаОбъект.Автомобиль));<br> <br> //Пробег<br> Запрос = Новый Запрос;<br> Запрос.Текст = "ВЫБРАТЬ<br>                   | АвтомобилиСрезПоследних.Значение<br>                   |ИЗ<br>                   | РегистрСведений.Автомобили.СрезПоследних КАК АвтомобилиСрезПоследних<br>                   |ГДЕ<br>                   | АвтомобилиСрезПоследних.Автомобиль = &Авто<br>                   | И АвтомобилиСрезПоследних.ВидЗначения = &Пробег";<br> Запрос.УстановитьПараметр("Авто", СсылкаНаОБъект.Автомобиль);<br> Запрос.УстановитьПараметр("Пробег", Перечисления.ДополнительнаяИнформацияАвтомобилей.Пробег);<br> Результат = Запрос.Выполнить().Выбрать();<br> Пока Результат.Следующий() Цикл<br>       Пробег = СокрЛП(Строка(Результат.Значение));<br> КонецЦикла; <br> ГодВып = СокрЛП(Строка(СсылкаНаОбъект.Автомобиль.ГодВыпуска));<br> Причина = СокрЛП(СсылкаНаОбъект.ПричинаОбращения);<br> <br> //История<br> Запрос = Новый Запрос;<br> //Это последний заказ-наряд<br> Запрос.Текст = "ВЫБРАТЬ<br>                   | ЗаказНаряд.Ссылка,<br>                   | МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата<br>                   |ИЗ<br>                   | Документ.ЗаказНаряд КАК ЗаказНаряд<br>                   |ГДЕ<br>                   | ЗаказНаряд.Автомобиль = &авто<br>                   |<br>                   |СГРУППИРОВАТЬ ПО<br>                   | ЗаказНаряд.Ссылка";<br> Запрос.УстановитьПараметр("авто", ссылканаобъект.Автомобиль);<br> Результат = Запрос.Выполнить().Выбрать();<br> Пока Результат.Следующий() Цикл<br>       ПослЗаказСсылка = Результат.Ссылка;<br> КонецЦикла;<br> История = """";<br> <br> Если НЕ ПослЗаказСсылка.Пустая() тогда<br>       //Если последнее было ТО<br>       Если ПослЗаказСсылка.ВидРемонта = Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000004") тогда<br>            История = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " + <br>            СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " + <br>            СокрЛП(ПослЗАказСсылка.Рекомендации);<br>       //Если последнее не ТО <br>       Иначе<br>            //Что делали последним<br>            ПослИстория = """";<br>            ПослИстория = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " + <br>            СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " + <br>            СокрЛП(ПослЗАказСсылка.Рекомендации);<br><br>            //Найти последнее ТО<br>            Запрос = Новый Запрос;<br>            //Это последний заказ-наряд<br>            Запрос.Текст = "ВЫБРАТЬ<br>                   | ЗаказНаряд.Ссылка,<br>                   | МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата<br>                   |ИЗ<br>                   | Документ.ЗаказНаряд КАК ЗаказНаряд<br>                   |ГДЕ<br>                   | ЗаказНаряд.Автомобиль = &авто И ЗаказНаряд.ВидРемонта = &ВидРемонта<br>                   |<br>                   |СГРУППИРОВАТЬ ПО<br>                   | ЗаказНаряд.Ссылка";<br>            Запрос.УстановитьПараметр("авто", ссылканаобъект.Автомобиль);<br>            Запрос.УстановитьПараметр("ВидРемонта", Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000004"));<br>            Результат = Запрос.Выполнить().Выбрать();<br>            Пока Результат.Следующий() Цикл<br>             ПослЗаказСсылка = Результат.Ссылка;<br>            КонецЦикла;<br>            Если НЕ ПослЗаказСсылка.Пустая() тогда<br>             История = СокрЛП(Строка(ПослЗаказСсылка.ВидРемонта)) + " от " + <br>             СокрЛП(Строка(Формат(ПослЗаказСсылка.Дата, "ДФ=dd.MM.yyyy")))+ ". Рекомендации: " + <br>             СокрЛП(ПослЗАказСсылка.Рекомендации)+ "; " + ПослИстория;<br>            Иначе <br>             История = ПослИстория;<br>            КонецЕсли;<br>       КонецЕсли;<br> КонецЕсли;<br> <br> // Установленное дополнительное оборудование<br> СписокВидов = Новый Массив;<br> СписокВидов.Добавить(СПравочники.ВидыРемонта.ДополнительноеОборудование);<br> СписокВидов.Добавить(Справочники.ВидыРемонта.КомплектацияАвтомобиля);<br> СписокВидов.Добавить(Справочники.ВидыРемонта.НайтиПоКоду("ЦБ000005"));<br> Запрос = Новый Запрос;<br> Запрос.Текст = "ВЫБРАТЬ<br>                   | ЗаказНарядТовары.Номенклатура<br>                   |ИЗ<br>                   | Документ.ЗаказНаряд.Товары КАК ЗаказНарядТовары<br>                   |ГДЕ<br>                   | ЗаказНарядТовары.Ссылка В<br>                   |            (ВЫБРАТЬ<br>                   |             ЗаказНаряд.Ссылка КАК Ссылка<br>                   |            ИЗ<br>                   |             Документ.ЗаказНаряд КАК ЗаказНаряд<br>                   |            ГДЕ<br>                   |             ЗаказНаряд.Автомобиль = &авто<br>                   |             И ЗаказНаряд.ВидРемонта В (&СписокВидов))";<br> Запрос.УстановитьПараметр("СписокВидов", СписокВидов);<br> Запрос.УстановитьПараметр("Авто", СсылкаНаОбъект.Автомобиль);<br> Результат = Запрос.Выполнить().Выбрать();<br> ДопОборуд = """";<br> счетчик = 1;<br> Пока Результат.Следующий() Цикл<br>       Если счетчик = 1 тогда<br>            ДопОборуд = СокрЛП(Строка(Результат.Номенклатура)) + "; ";<br>            счетчик = счетчик + 1;<br>       Иначе<br>             ДопОборуд = ДопОборуд + СокрЛП(Строка(Результат.Номенклатура)) + "; ";<br>       КонецЕсли;<br> КонецЦикла;<br> <br> //Дополнительные Услуги<br> ДопУслуги = """";<br> Если СсылкаНаОбъект.ДопМойкаТехнологическая = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = "Технологическая мойка; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопМойкаПолностью = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "мойка полностью; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопМойкаДвигатель = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "мойка двигателя; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопМойкаСверху = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "мойка сверху; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопАвтонабор = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "автонабор; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопБалансировкаКолес = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "балансировка колес; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопБрызговики = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "брызговики; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопДиагностическийСтенд = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "диагностический стенд; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопКоврыВБагажник = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "ковры в багажник; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопКоврыВСалон = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "ковры в салон; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопКомплектЛамп = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "комплект ламп; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопПредложениеВременногоРешения = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "предложение временного решения; ";<br> КонецЕсли;<br> Если СсылкаНаОбъект.ДопЩетки = Перечисления.ОтветДопРаботы.Да тогда<br>       ДопУслуги = ДопУслуги + "щетки; ";<br> КонецЕсли;<br><br> <br>////////////////////////////////////////////////////////­////////////// <br> АктивныйДокумент = ПолучитьМакет("БланкНаСервис");<br> Документ = АктивныйДокумент.Получить();<br> Документ.Content.Find.Execute("<датаобращ>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДатаОбращ);<br> Документ.Content.Find.Execute("<датапост>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДатаПост);<br> Документ.Content.Find.Execute("<фио>", Ложь, Истина, Ложь, , , Истина, , Ложь, фио);<br> Документ.Content.Find.Execute("<авто>", Ложь, Истина, Ложь, , , Истина, , Ложь, авто);<br> Документ.Content.Find.Execute("<пробег>", Ложь, Истина, Ложь, , , Истина, , Ложь, пробег);<br> Документ.Content.Find.Execute("<годвып>", Ложь, Истина, Ложь, , , Истина, , Ложь, годвып);<br> Документ.Content.Find.Execute("<причина>", Ложь, Истина, Ложь, , , Истина, , Ложь, причина);<br> Документ.Content.Find.Execute("<история>", Ложь, Истина, Ложь, , , Истина, , Ложь, история);<br> Документ.Content.Find.Execute("<допоборуд>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДопОборуд);<br> Документ.Content.Find.Execute("<допуслуги>", Ложь, Истина, Ложь, , , Истина, , Ложь, ДопУслуги);<br> Документ.Application.Visible = Истина; <br> Документ.Activate();<br>       <br> Возврат ТабДокумент;<br>КонецФункции // Печать"

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

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

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

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

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

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

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

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

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

Читают тему:

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