Проблема с получением макета во внешнем отчете #754524


#0 by Fire-Rex
Добрый день! Делаю внешний отчет кассовая книга для БСП 3.0. Задача - изменить счет в выборке. Все запросы идут через два десятка общих модулей, нашел отладчиком тот, в котором запрос формируется - перетянул в отчет. Синтакс-помошник говорит все нормально, но в отладке ругается: Макет = ЭтотОбъект.ПолучитьМакет("КассоваяКнига"). Где я накололся?
#1 by jurassic
тебе всё рассказали русским по белому
#2 by Fire-Rex
Макет = ПолучитьМакет("КассоваяКнига") Переделал. В "ЭтотОбъект" проблема?
#3 by 1Сергей
>>Где я накололся? в подъезде... Макет перетянул в отчет?
#4 by Fire-Rex
перетянул
#5 by StillEnough
если это отчет - тогда пиши ОтчетОбъект.ПолучитьМакет. А вообще смотри на сервере или на клиенте получаешь, мб в этом проблема.
#6 by Fire-Rex
Да, насчет Сервер/Клиент тоже думал. Пробовал и так и так.
#7 by StillEnough
саму ошибку напишите сюда
#8 by jurassic
не надо. мы обожаем загадки
#9 by StillEnough
слишком рано еще у меня для загадок (:
#10 by Fire-Rex
{Форма.ФормаОтчета.Форма}: Метод объекта не обнаружен (ПолучитьМакет)     Макет = ЭтотОбъект.ПолучитьМакет("КассоваяКнига");
#11 by 1Сергей
см
#12 by jurassic
а что, СП правда утверждает, что у формы можно получить макет?
#13 by Fire-Rex
{Форма.ФормаОтчета.Форма(886,10)}: Переменная не определена (ОтчетОбъект)     Макет = <<?>>ОтчетОбъект.ПолучитьМакет("КассоваяКнига"); (Проверка: Сервер
#14 by Goggy
Ну чтож ты... Даю подсказку, чтоб ты тоже подумал своей головешкой. -------------------------------------------------------- РеквизитФормыВЗначение (FormAttributeToValue) Синтаксис: РеквизитФормыВЗначение(<ИмяРеквизита>, <Тип>) Параметры: Тип: Строка. Имя реквизита формы, который необходимо преобразовать. Может быть указан реквизит данных формы (см. описание параметра <Объект> метода ДанныеФормыВЗначение). <Тип> (необязательный) Тип: Тип. Тип значения, получаемого из реквизита формы (данных формы). Если данный параметр не указан, то он также получается из реквизита формы. Если реквизит является составным типом и значение параметра не указано, генерируется исключение времени выполнения. Возвращаемое значение: Тип: Произвольный. Описание: Преобразует указанный реквизит формы в объект прикладного типа. Доступность: Сервер, мобильное приложение(сервер).
#15 by StillEnough
смотри в теме 3 пост примерно код готовый. делай по аналогии
#16 by Fire-Rex
Что-то не пойму
#17 by Fire-Rex
#18 by Fire-Rex
Как теперь перед запросом обратиться к макету?
#19 by jurassic
#20 by Fire-Rex
{Форма.ФормаОтчета.Форма(2154)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)     ЭтотОбъект=РеквизитФормыВЗначение("Объект"); по причине: Недопустимое значение параметра (параметр номер '1')
#21 by Fire-Rex
Что-то пошло не так, Сэр
#22 by jurassic
будешь искать реквизит формы Объект?
#23 by Fire-Rex
Ребят, не ругайтесь только. На форме основной реквизит - "Отчет". Переделал, теперь вот что: {Форма.ФормаОтчета.Форма(2154)}: Поле объекта недоступно для записи (ЭтотОбъект)     ЭтотОбъект = РеквизитФормыВЗначение("Отчет");
#24 by Fire-Rex
Я, видимо, не правильно понимаю "Объект"
#25 by jurassic
>Поле объекта недоступно для записи это значит, что туда писать ничего нельзя
#26 by Timon1405
как насчет НикогдаНеНазывайСвоюПеременнуюЭтотОбъект = РеквизитФормыВЗначение("Отчет"); ?
#27 by Fire-Rex
Да,спасибо, так и сделал
#28 by Fire-Rex
ЭтотОтчет
#29 by hhhh
ЭтотОбъект слово уже занято. Это Форма сама. Никак поверх нее Объект не запихнете.
#30 by Fire-Rex
Да-да, спасибо большое! Разобрался - понял.
#31 by Fire-Rex
Еще вопрос. Мне для каждого макета отдельную функцию прописывать? Или так пойдет:
#32 by jurassic
#33 by Fire-Rex
#34 by jurassic
можешь выкинуть уже свою функцию и получать макет непосредственно перед употреблением
#35 by Fire-Rex
Не понял
#36 by jurassic
в уже было почти правильно
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С