Коллеги, прошу помощи!
Переписываю печатные формы с 8.2 на 8.3 и идет ошибка по печатной форме к док. "Реализация товаров и услуг" при печати документа:
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(412)}: Метод объекта не обнаружен (Печать)
ФормаОбработки.Печать(ВыполняемаяКоманда.Идентификатор, ОбъектыНазначения);
Бухгалтерия предприятия, редакция 3.0 (3.0.49.21)
Вот по сути и вся печать в модуле объекта:
Функция Печать() Экспорт
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "АктПриемаПередачи";
Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Продавец = СсылкаНаОбъект.Организация.НаименованиеПолное;
Шапка.Параметры.ИННПродавца = СсылкаНаОбъект.Организация.ИНН;
Шапка.Параметры.Покупатель = СсылкаНаОбъект.Контрагент.НаименованиеПолное;
Шапка.Параметры.ИННПокупателя = СсылкаНаОбъект.Контрагент.ИНН;
ТабДокумент.Вывести(Шапка);
ГенДир = ОбщегоНазначения.ОтветственныеЛица(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата);
ОсновнойТекст = МАкет.ПолучитьОбласть("ОсновнойТекст");
ОсновнойТекст.Параметры.Дата = Формат(СсылкаНаОбъект.Дата, "ДЛФ=Д");
ОсновнойТекст.Параметры.Номер = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект);
ОсновнойТекст.Параметры.ДатаДоговора = Формат(СсылкаНаОбъект.ДоговорКонтрагента.Дата, "ДЛФ=Д");
ОсновнойТекст.Параметры.НомерДоговора = СсылкаНаОбъект.ДоговорКонтрагента.Наименование;
//ОсновнойТекст.Параметры.ГенДир = ГенДир.Руководитель;
ОсновнойТекст.Параметры.НачалоПериода = Формат(НачалоМесяца(СсылкаНаОбъект.Дата), "ДЛФ=Д");
ОсновнойТекст.Параметры.КонецПериода = Формат(КонецМесяца(СсылкаНаОбъект.Дата), "ДЛФ=Д");
ТабДокумент.Вывести(ОсновнойТекст);
ШапкаСтрока = Макет.ПолучитьОбласть("ШапкаСтрока");
ТабДокумент.Вывести(ШапкаСтрока);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура,
| РеализацияТоваровУслугТовары.Количество,
| РеализацияТоваровУслугТовары.СуммаНДС,
| ВЫБОР
| КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
| ТОГДА РеализацияТоваровУслугТовары.Сумма - ЕСТЬNULL(РеализацияТоваровУслугТовары.СуммаНДС, 0)
| ИНАЧЕ РеализацияТоваровУслугТовары.Сумма
| КОНЕЦ КАК Сумма,
| РеализацияТоваровУслугТовары.Цена,
| ВЫБОР
| КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
| ТОГДА РеализацияТоваровУслугТовары.Сумма
| ИНАЧЕ РеализацияТоваровУслугТовары.Сумма + РеализацияТоваровУслугТовары.СуммаНДС
| КОНЕЦ КАК СуммаСНДС
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
РЕзультат = Запрос.Выполнить().Выбрать();
ИтогоСумма = 0;
ИтогоСуммаНДС = 0;
ИтогоСуммаСНДС = 0;
НомерСтроки = 0;
Пока Результат.Следующий() Цикл
Строка = Макет.ПолучитьОбласть("Строка");
НомерСтроки = НомерСтроки + 1;
Строка.Параметры.Заполнить(Результат);
Строка.Параметры.НомерСтроки = НомерСтроки;
Строка.Параметры.Номенклатура = Результат.Номенклатура.Наименование +" за " + УказатьМесяц(Месяц(СсылкаНаОбъект.Дата))+ " " +Формат(Год(СсылкаНаОбъект.Дата), "ЧГ=0")+ "г.";
ИтогоСумма = ИтогоСумма + Результат.Сумма;
ИтогоСуммаНДС = ИтогоСуммаНДС + Результат.СуммаНДС;
ИтогоСуммаСНДС = ИтогоСуммаСНДС + Результат.СуммаСНДС;
ТабДокумент.Вывести(Строка);
КонецЦикла;
ИтогоСтрока = МАкет.ПолучитьОбласть("ИтогоСтрока");
ИтогоСтрока.Параметры.ИтогоСумма = ИтогоСумма;
ИтогоСтрока.Параметры.ИтогоСуммаНДС = ИтогоСуммаНДС;
ИтогоСтрока.Параметры.ИтогоСуммаСНДС = ИтогоСуммаСНДС;
ТабДокумент.Вывести(ИтогоСтрока);
Подвал = Макет.ПолучитьОбласть("Подвал");
Подвал.Параметры.Организация = СсылкаНаОбъект.Организация.Наименование;
Подвал.Параметры.ГенДир = ГЕнДир.Руководитель;
ТабДокумент.Вывести(Подвал);
Возврат ТабДокумент;
КонецФункции
Функция УказатьМесяц(НомерМесяца)
Если НомерМесяца = 1 Тогда
Возврат "январь";
ИначеЕсли НомерМесяца = 2 Тогда
Возврат "февраль";
ИначеЕсли НомерМесяца = 3 Тогда
Возврат "март"
ИначеЕсли НомерМесяца = 4 Тогда
Возврат "апрель";
ИначеЕсли НомерМесяца = 5 Тогда
Возврат "май";
ИначеЕсли НомерМесяца = 6 Тогда
Возврат "июнь";
ИначеЕсли НомерМЕсяца = 7 Тогда
Возврат "июль";
ИначеЕсли НомерМесяца = 8 Тогда
Возврат "август";
ИначеЕсли НомерМесяца = 9 Тогда
Возврат "сентябрь";
ИначеЕсли НомерМесяца = 10 Тогда
Возврат "октябрь";
ИначеЕсли НомерМесяца = 11 Тогда
Возврат "ноябрь";
ИначеЕсли НомерМесяца = 12 Тогда
Возврат "декабрь";
КонецЕсли;
КонецФункции
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //возможны варианты - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов,
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Акт приема-передачи КОМ"); //имя под kt обработка зарегистрирована будет в справочнике внешних обработок
ПараметрыРегистрации.Вставить("Версия", "1.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма к документу РеализацияТоваровУслуг ");
//команды
ТаблицаКоманд = Новый ТаблицаЗначений;
ТаблицаКоманд.Колонки.Добавить("Представление"); //как будет выглядеть описание печ.формы для пользователя
ТаблицаКоманд.Колонки.Добавить("Идентификатор"); //имя нашего макета
ТаблицаКоманд.Колонки.Добавить("Использование"); //ВызовСерверногоМетода
ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение"); //Истина
ТаблицаКоманд.Колонки.Добавить("Модификатор"); //ПечатьМХL
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = "Акт приема-передачи КОМ";
НоваяКоманда.Идентификатор = "Макет"; //Внешняя печатная форма
НоваяКоманда.Использование = "ВызовКлиентскогоМетода"; //здесь можно прописать использование как серверного так и клиентского, отличие в том, что серверный метод будет обращаться к экспортной процедуре из модуля объекта, клиентский - к экспортной процедуре из модуля формы объекта
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "ПечатьMXL";
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Но у меня не получается , ошибка та же:
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(412)}: Метод объекта не обнаружен (Печать)
ФормаОбработки.Печать(ВыполняемаяКоманда.Идентификатор, ОбъектыНазначения);
(16)Александр, что-то не догоняю, убираю ВызовКлиентскогоМетода, ошибка:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(3326)}: Получение элемента по индексу для значения не определено
КомандаОписание.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок[КомандаОписание.Использование];
(19)Александр, спасибо, уже лучше!
Но ругается на:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(247)}: В обработчике печати не был сформирован табличный документ для: Макет
ВызватьИсключение(ТекстСообщенияОбОшибке);