|
Помогите разобраться | ☑ | ||
---|---|---|---|---|
0
bad001
03.07.12
✎
07:04
|
Создаю внешнею форму. Пишет ошибку Метод объекта не обнаружен (Печать). По отладке ссылается на ОбщийМодульУниверсальныеМеханизмы на строку ТабДокумент = Обработка.Печать();
В чем проблема подскажите? Вот код: Функция Печать() Экспорт ЗапросШапка = Новый Запрос; ЗапросШапка.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); ЗапросШапка.Текст = "ВЫБРАТЬ | Номер, | Дата, | ДоговорКонтрагента, | Контрагент КАК Получатель, | Организация КАК Поставщик, | Организация, | СуммаДокумента, | ВалютаДокумента, | УчитыватьНДС, | СуммаВключаетНДС |ИЗ | Документ.РеализацияУслугПоПереработке КАК РеализацияУслугПоПереработке | |ГДЕ | РеализацияУслугПоПереработке.Ссылка = &ТекущийДокумент"; Шапка = ЗапросШапка.Выполнить().Выбрать(); Шапка.Следующий(); ЗапросУслуги = Новый Запрос; ЗапросУслуги.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); ЗапросУслуги.Текст = "ВЫБРАТЬ | РеализацияУслугПоПереработке.Содержание КАК Товар, | СУММА(РеализацияУслугПоПереработке.Количество) КАК Количество, | РеализацияУслугПоПереработке.Цена, | СУММА(РеализацияУслугПоПереработке.Сумма) КАК Сумма, | РеализацияУслугПоПереработке.СтавкаНДС, | СУММА(РеализацияУслугПоПереработке.СуммаНДС) КАК СуммаНДС, | МИНИМУМ(РеализацияУслугПоПереработке.НомерСтроки) КАК НомерСтроки |ИЗ | (ВЫБРАТЬ | ВЫРАЗИТЬ(РеализацияУслугПоПереработкеУслуги.Содержание КАК СТРОКА(1000)) КАК Содержание, | РеализацияУслугПоПереработкеУслуги.Количество КАК Количество, | РеализацияУслугПоПереработкеУслуги.Цена КАК Цена, | РеализацияУслугПоПереработкеУслуги.Сумма КАК Сумма, | РеализацияУслугПоПереработкеУслуги.СтавкаНДС КАК СтавкаНДС, | РеализацияУслугПоПереработкеУслуги.СуммаНДС КАК СуммаНДС, | РеализацияУслугПоПереработкеУслуги.НомерСтроки КАК НомерСтроки | ИЗ | Документ.РеализацияУслугПоПереработке.Услуги КАК РеализацияУслугПоПереработкеУслуги | ГДЕ | РеализацияУслугПоПереработкеУслуги.Ссылка = &ТекущийДокумент) КАК РеализацияУслугПоПереработке | |СГРУППИРОВАТЬ ПО | РеализацияУслугПоПереработке.Содержание, | РеализацияУслугПоПереработке.СтавкаНДС, | РеализацияУслугПоПереработке.Цена | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; ТаблицаУслуги = ЗапросУслуги.Выполнить().Выгрузить(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияУслугПоПереработке_Акт"; Макет = ПолучитьМакет("Акт"); ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); НазваниеДокумента = "Акт оказания услуг по переработке "; ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Акт"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата); ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,"); ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика; ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); СведенияОКонтрагенте = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата); ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,"); ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя; ОбластьМакета.Параметры.Получатель = Шапка.Получатель; ТабДокумент.Вывести(ОбластьМакета); // Вывести табличную часть ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьСтроки = Макет.ПолучитьОбласть("Строка"); ТабДокумент.Вывести(ОбластьМакета); НомерСтроки = 0; Для Каждого СтрокаТабличнойЧасти Из ТаблицаУслуги Цикл НомерСтроки = НомерСтроки + 1; ОбластьСтроки.Параметры.Заполнить(СтрокаТабличнойЧасти); ОбластьСтроки.Параметры.НомерСтроки = НомерСтроки; ОбластьСтроки.Параметры.Товар = СокрЛП(СтрокаТабличнойЧасти.Товар); ТабДокумент.Вывести(ОбластьСтроки); КонецЦикла; Если ТаблицаУслуги <> Неопределено Тогда Сумма = ТаблицаУслуги.Итог("Сумма"); СуммаНДС = ТаблицаУслуги.Итог("СуммаНДС"); Иначе Сумма = 0; СуммаНДС = 0; КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("Итого"); ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма); ТабДокумент.Вывести(ОбластьМакета); Если Шапка.УчитыватьНДС Тогда ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС); ОбластьМакета.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС", " Сумма НДС"); ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего оказано услуг " + НомерСтроки + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // ПечатьАктаОбОказанииУслуг() |
|||
1
Ненавижу 1С
гуру
03.07.12
✎
07:05
|
надеюсь этот код в модуле объекта обработки, а не формы?
|
|||
2
bad001
03.07.12
✎
07:06
|
Ошибку выдает только в предприятии. В конфигураторе ничего не видит
|
|||
3
bad001
03.07.12
✎
07:07
|
Модуль объекта. Создал внешняю обработку
|
|||
4
bad001
03.07.12
✎
07:09
|
Ну т.е. файл-новый-внешняя обработка-модуль объекта:)
|
|||
5
DimVad
03.07.12
✎
07:10
|
Ну я бы тупо попробовал переименовать функцию в Печать_, и посмотрел, что получается...
|
|||
6
Мимохожий Однако
03.07.12
✎
07:10
|
Поставь отладчик на плохую строчку.
|
|||
7
SOLO1C
03.07.12
✎
07:11
|
Проверь тип переменной Обработка
|
|||
8
SOLO1C
03.07.12
✎
07:11
|
твоя ли это внешня форма ?
|
|||
9
alkov
03.07.12
✎
07:12
|
Файл обработки в справочнике забыл обновить?
|
|||
10
bad001
03.07.12
✎
07:15
|
Ну я бы тупо попробовал переименовать функцию в Печать_, и посмотрел, что получается... - ТОже самое
твоя ли это внешня форма ? Я вытащил код из Акта об услугах Пока до редактирования макета не дошло. Файл обработки в справочнике забыл обновить? - Ничего не обновлял:) |
|||
11
alkov
03.07.12
✎
07:17
|
(10) Ну так потому и не видит. Зайди в элемент справочника внешних отчётов и обработок и заново укажи файл обработки жёлтой кнопочкой справа
|
|||
12
bad001
03.07.12
✎
07:22
|
где это? Не могу найти
|
|||
13
alkov
03.07.12
✎
07:23
|
(12) Там, где ты добавлял внешнюю печатную форму
|
|||
14
bad001
03.07.12
✎
07:25
|
сервис - Дополнительные отчеты и обработки- Внешнии печатные формы?
|
|||
15
bad001
03.07.12
✎
07:26
|
или справочники внешние обработки?
|
|||
16
alkov
03.07.12
✎
07:27
|
(14) Да, найди тут элемент печатной формы, который ты добавил, и заново укажи обработку
|
|||
17
Ненавижу 1С
гуру
03.07.12
✎
07:27
|
(14)да
|
|||
18
bad001
03.07.12
✎
07:31
|
т.е. сервис - Дополнительные отчеты и обработки- Внешнии печатные формы-добавить-выбрал файл внешней обработки-добавил представление объекта
|
|||
19
bad001
03.07.12
✎
07:36
|
если так то без изменений
|
|||
20
alkov
03.07.12
✎
07:38
|
(19) Не так
|
|||
21
bad001
03.07.12
✎
07:40
|
объясни на пальцах:)
|
|||
22
alkov
03.07.12
✎
07:46
|
(21) Куда ещё пальцовей-то?
В базе, а конкретней, в элементе справочника внешних обработок (внешних печатных форм) хранится не ссылка на внешнюю обработку (как в 7.7), а сама обработка. При вызове печатной формы она извлекается из базы во временный файл и открывается. В твоём случае проблема, видимо, в том, что сохранённая тобой версия обработки отличается от той, что сейчас хранится в базе. Соответственно, нужно обновить версию в базе. Для этого нужно зайти в тот элемент справочника внешних печатных форм, что ты создал, и заново выбрать там обработку и сохранить элемент |
|||
23
Rovan
гуру
03.07.12
✎
07:51
|
еще возможно проблема в имени обработки (не путать с именем файла) -
желательно он не должен совпадать с именем существующей в базе |
|||
24
bad001
03.07.12
✎
08:10
|
вообщем нет по прежнему ошибка.
|
|||
25
0_Serg_0
03.07.12
✎
08:22
|
(0)
ещё там нет - СсылкаНаОбъект ;) |
|||
26
bad001
03.07.12
✎
09:10
|
Спасибо всем. Особенно alkov. С его помощью разобрался. Дело было в замене ЭтотОбъект.Ссылка на СсылкуНаОбъект
|
|||
27
bad001
03.07.12
✎
09:12
|
Ошибка времени выполнения:
{ВнешняяОбработка.ПечатьАктаОбОказанииУслуг.МодульОбъекта(3))}:Поле объекта не обнаружено (ДополнительнаяКолонкаПечатныхФормДокументов) в модуле ВнешняяОбработка.ПечатьАктаОбОказанииУслуг.МодульОбъекта строка 3 Код: Функция Печать() Экспорт ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ТекстКодАртикул = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; ТекстКодАртикул = "Код"; Иначе ВыводитьКоды = Ложь; Колонка = ""; ТекстКодАртикул = "Код"; КонецЕсли; Если ВыводитьКоды Тогда ОбластьШапки = "ШапкаТаблицыСКодом"; ОбластьСтроки = "СтрокаСКодом"; Иначе ОбластьШапки = "ШапкаТаблицы"; ОбластьСтроки = "Строка"; КонецЕсли; ЗапросШапка = Новый Запрос; ЗапросШапка.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); ЗапросШапка.Текст = "ВЫБРАТЬ | Номер, | Дата, | ДоговорКонтрагента, | Контрагент КАК Получатель, | Организация КАК Поставщик, | Организация, | СуммаДокумента, | ВалютаДокумента, | УчитыватьНДС, | СуммаВключаетНДС |ИЗ | Документ.РеализацияУслугПоПереработке КАК РеализацияУслугПоПереработке | |ГДЕ | РеализацияУслугПоПереработке.Ссылка = &ТекущийДокумент"; Шапка = ЗапросШапка.Выполнить().Выбрать(); Шапка.Следующий(); ЗапросУслуги = Новый Запрос; ЗапросУслуги.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); ЗапросУслуги.Текст = "ВЫБРАТЬ | РеализацияУслугПоПереработке.Содержание КАК Товар, | СУММА(РеализацияУслугПоПереработке.Количество) КАК Количество, | РеализацияУслугПоПереработке.Цена, | СУММА(РеализацияУслугПоПереработке.Сумма) КАК Сумма, | РеализацияУслугПоПереработке.СтавкаНДС, | СУММА(РеализацияУслугПоПереработке.СуммаНДС) КАК СуммаНДС, | МИНИМУМ(РеализацияУслугПоПереработке.НомерСтроки) КАК НомерСтроки, | РеализацияУслугПоПереработке.КодАртикул КАК КодАртикул, | РеализацияУслугПоПереработке.ЕдиницаИзмерения |ИЗ | (ВЫБРАТЬ | ВЫРАЗИТЬ(РеализацияУслугПоПереработкеУслуги.Содержание КАК СТРОКА(1000)) КАК Содержание, | РеализацияУслугПоПереработкеУслуги.Количество КАК Количество, | РеализацияУслугПоПереработкеУслуги.Цена КАК Цена, | РеализацияУслугПоПереработкеУслуги.Сумма КАК Сумма, | РеализацияУслугПоПереработкеУслуги.СтавкаНДС КАК СтавкаНДС, | РеализацияУслугПоПереработкеУслуги.СуммаНДС КАК СуммаНДС, | РеализацияУслугПоПереработкеУслуги.НомерСтроки КАК НомерСтроки, | РеализацияУслугПоПереработкеУслуги.Номенклатура КАК КодАртикул, | РеализацияУслугПоПереработкеУслуги.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения | ИЗ | Документ.РеализацияУслугПоПереработке.Услуги КАК РеализацияУслугПоПереработкеУслуги | ГДЕ | РеализацияУслугПоПереработкеУслуги.Ссылка = &ТекущийДокумент) КАК РеализацияУслугПоПереработке | |СГРУППИРОВАТЬ ПО | РеализацияУслугПоПереработке.Содержание, | РеализацияУслугПоПереработке.СтавкаНДС, | РеализацияУслугПоПереработке.Цена, | РеализацияУслугПоПереработке.КодАртикул, | РеализацияУслугПоПереработке.ЕдиницаИзмерения | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; ТаблицаУслуги = ЗапросУслуги.Выполнить().Выгрузить(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияУслугПоПереработке_Акт"; Макет = ПолучитьМакет("Акт"); ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); НазваниеДокумента = "Акт оказания услуг по переработке "; ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Акт"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата,); ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации); ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика; ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); СведенияОКонтрагенте = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата); ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте); ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя; ОбластьМакета.Параметры.Получатель = Шапка.Получатель; ТабДокумент.Вывести(ОбластьМакета); // Вывести табличную часть ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки); Если ВыводитьКоды Тогда ОбластьМакета.Параметры.ИмяКодАртикул = ТекстКодАртикул; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки); НомерСтроки = 0; Для Каждого СтрокаТабличнойЧасти Из ТаблицаУслуги Цикл НомерСтроки = НомерСтроки + 1; ОбластьМакета.Параметры.Заполнить(СтрокаТабличнойЧасти); ОбластьМакета.Параметры.НомерСтроки = НомерСтроки; ОбластьМакета.Параметры.Товар = СокрЛП(СтрокаТабличнойЧасти.Товар); ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; Если ТаблицаУслуги <> Неопределено Тогда Сумма = ТаблицаУслуги.Итог("Сумма"); СуммаНДС = ТаблицаУслуги.Итог("СуммаНДС"); Иначе Сумма = 0; СуммаНДС = 0; КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("Итого"); ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма); ТабДокумент.Вывести(ОбластьМакета); Если Шапка.УчитыватьНДС Тогда ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС); ОбластьМакета.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС", " Сумма НДС"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Всего"); ОбластьМакета.Параметры.Итог = ОбщегоНазначения.ФорматСумм(?(Шапка.СуммаВключаетНДС, Сумма, Сумма + СуммаНДС)); ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего оказано услуг " + НомерСтроки + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); ОтветственныеЛица = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Шапка.Организация, Шапка.Дата); ОбластьМакета.Параметры.Отпустил = ОтветственныеЛица.Руководитель; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // Печать |
|||
28
butterbean
03.07.12
✎
09:13
|
(27) типа нету у тебя такой коснтанты
|
|||
29
butterbean
03.07.12
✎
09:13
|
(28)+ или перечисления
|
|||
30
0_Serg_0
03.07.12
✎
09:14
|
(27)
зачем выложил? думаешь и остальные не умеют внешнии печ.формы делать?? |
|||
31
bad001
03.07.12
✎
09:15
|
30 тут другой код
|
|||
32
bad001
03.07.12
✎
09:16
|
butterbean как это поправить?
|
|||
33
0_Serg_0
03.07.12
✎
09:17
|
(31)
после "Константы." - показывается твоё поле в подсказке? |
|||
34
butterbean
03.07.12
✎
09:20
|
(32) для начала убедиться, что их действительно нет
|
|||
35
bad001
03.07.12
✎
09:35
|
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (ДополнительнаяКолонкаПечатныхФормДокументов) в коде ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Костанты такой нет |
|||
36
bad001
03.07.12
✎
09:36
|
Как ее создать?:)
|
|||
37
0_Serg_0
03.07.12
✎
09:36
|
самописька?О_о
|
|||
38
bad001
03.07.12
✎
10:52
|
кто нибудь знает почему может рисунок в макете не отображаться?
|
|||
39
Pro-tone
модератор
03.07.12
✎
10:54
|
(38) в пофигураторе виден?
|
|||
40
bad001
03.07.12
✎
10:55
|
в макете виден При предворительном просмотре нет
|
|||
41
bad001
03.07.12
✎
10:56
|
один раз получилось вывести на экран. Но сдвинул на самый вверх. Теперь даже так не выходят
|
|||
42
Ksandr
03.07.12
✎
10:57
|
Посмотри, нет ли в обработке #если клиент тогда
|
|||
43
bad001
03.07.12
✎
10:59
|
это где?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |