Имя: Пароль:
1C
1С v8
Вызов серверной процедуры в модуле формы
0 Alex1979rak
 
26.09.11
06:34
Создал внешний отчет. В нем создал форму. В модуле формы вот такой текст:
&НаСервере
Процедура ВыводРезультата()
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    КонтрактыСПокупателями.Ссылка,
   |    КонтрактыСПокупателями.Товары.(
   |        Товар,
   |        Количество
   |    )
   |ИЗ
   |    Документ.КонтрактыСПокупателями КАК КонтрактыСПокупателями";
   

   Результат = Запрос.Выполнить();
   
   ТЗ_Контракты = Результат.Выгрузить();

КонецПроцедуры

&НаКлиенте
Процедура Сформировать(Команда)
   
   ВыводРезультата();
       
КонецПроцедуры

При вызове процедуры ВыводРезультата() выдает ошибку: Не обнаружен метод Выгрузить(). Если меняю директиву процедуры ВыводРезультата() на &НаСервереБезКонтекста, то все работает. Почему?
1 ZanderZ
 
26.09.11
06:36
может реквизит есть с таким именем ...
2 Alex1979rak
 
26.09.11
06:39
(1) Реквизита с таким именем нет. Плюс ко всему в этой процедура ВыводРезультата не могу получить доступ к макету отчета.
3 ZanderZ
 
26.09.11
06:42
(2) РеквизитФормыВЗначение("Объект").ПолучитьМакет(ИмяМакета);
4 Alex1979rak
 
26.09.11
08:35
ап
5 Alex1979rak
 
26.09.11
08:37
Так почему же метод Выгрузить не видно на сервере из модуля формы?
6 Alex1979rak
 
26.09.11
08:56
(1) Прошу прощения. У меня в форме есть такой реквизит с именем Результат. Поэтому на сервере код и не выполнялся, а ругался. А на сервере без контекста реквизит не было видно, и поэтому не было ругани. Спасибо. Все заработало. Ура!
7 Jolly Roger
 
26.09.11
09:07
когда ж одинэсники научатся описывать переменные?..
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший