Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Обращение к функции в модуле объекта  (Прочитано 18843 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Gunslinger
Постоялец

ru
Offline Offline

« : 25-06-2010 09:54 » new

Функция ПечатьЗаявка() Экспорт
   ТабДокумент = Новый ТабличныйДокумент;

   // Зададим параметры макета
   ТабДокумент.ПолеСверху              = 0;
   ТабДокумент.ПолеСлева               = 5;
   ТабДокумент.ПолеСнизу               = 0;
   ТабДокумент.ПолеСправа              = 5;
   ТабДокумент.АвтоМасштаб             = Истина;
   ТабДокумент.ОриентацияСтраницы      = ОриентацияСтраницы.Ландшафт;

   Макет       = ПолучитьМакет("Макет");
   Возврат ТабДокумент;
КонецФункции
Вот функция.

Процедура Кнопка2Нажатие(Элемент)
   ТабДокумент = ПечатьЗаявка();
   ТабДокумент.Показать();
КонецПроцедуры
Вот пытаюсь вызвать.. когда делал внешнюю печатную форму на базе ТТН стандартной - работало, а сейчас {Форма.ФормаЗаявки(131,16)}: Процедура или функция с указанным именем не определена (ПечатьЗаявка)
   ТабДокумент = <<?>>ПечатьЗаявка();
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #1 : 25-06-2010 13:22 » 

ПечатьЗаявка()- метод его должен вызывать объект, те же находишься не в контексте модуля объекта или формы, где определена Функция ПечатьЗаявка() Экспорт
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 25-06-2010 18:59 » 

Функция ПечатьЗаявка() Экспорт - это где объявлено?
Если в модуле документа - то тогда нужно вызывать для объекта (как написал Dest):
Код:
ДокОб=ДокументСсылка.ПолучитьОбъект();
ТабДокумент = ДокОб.ПечатьЗаявка();
Записан
Gunslinger
Постоялец

ru
Offline Offline

« Ответ #3 : 28-06-2010 04:46 » 

У меня не документ. функция ПечатьЗаявка() объявлена в модуле объекта внешнего отчета а вызвать я ее пытаюсь из формы того отчета...
Записан
Gunslinger
Постоялец

ru
Offline Offline

« Ответ #4 : 28-06-2010 04:59 » 

Причем из другой формы этого же отчета вызывается нормально.. Вообще не пойму причину...
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 28-06-2010 08:46 » 

Чтобы из формы объекта иметь возможность обратится к модулю напрямую (т.е. просто написав имя функции) нужно чтобы эта форма была формой объекта, т.е. для случая отчета - на ней обязательно должен быть реквизит ОтчетОбъект:

* 1cv8_reportform.png (16.53 Кб - загружено 5892 раз.)
Записан
Gunslinger
Постоялец

ru
Offline Offline

« Ответ #6 : 28-06-2010 09:17 » 

Форма не основная, такой реквизит я просто руками добавил - не работает...
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 28-06-2010 09:27 » 

Форма не обязательно должна быть основной, но обязательно - формой объекта. Добавления реквизита руками мало, т.к. он не свяжется с объектом. Нужно в свойствах формы заполнить атрибут Данные (извини за укр. интерфейс):

* 1cv8_reportformdata.png (6.85 Кб - загружено 6003 раз.)
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #8 : 28-06-2010 11:33 » 

О Украинская 1с!
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 28-06-2010 21:37 » 

Offtopic:
8.2 по умолчанию ставит интерфейс, выбранный в региональных настройках. ИМХО - это правильно...
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines