#0
by svchernova
Разрабатываю документ для тонкого клиента. Хочу обратиться к метаданным. &НаСервере Ругается: {Документ.Страхование.Форма.ФормаДокументаУпр.Форма}: Метод объекта не обнаружен (Метаданные) Как обратиться к метаданным документа в моём случае?
#1
by DrShad
Синтаксис: Метаданные Возвращаемое значение: Тип: ОбъектМетаданных: Справочник. Описание: Предоставляет доступ к объекту описания метаданных справочника. Другой путь получения того же значения - через свойство глобального контекста Метаданные. Например: Метаданные.Справочники.Номенклатура. Доступность: Сервер, толстый клиент, внешнее соединение
#4
by svchernova
и Спасибо :) Это сработало. Пытаюсь обработать смену даты документа и проверить его номер. На тонком клиенте ошибка {Документ.Страхование.Форма.ФормаДокументаУпр.Форма}: Ошибка при установке значения атрибута контекста (Объект) ПроверитьНомер(Объект, мТекущаяДатаДокумента); по причине: Нельзя изменять поле, содержащее объект данных формы Уже совсем крыша съехала у меня.
#7
by GROOVY
Объект в форме это ДанныеФормы, Не надо их никуда передавать. Передавайте сам объект: РеквизитФормыВЗначение
#8
by svchernova
Чёрт возьми. Меня. Не понимаю! Я просто пытаюсь интерактивно поменять дату документа. На событие "При изменении" Даты документа навесила процедуру Вываливает сообщение "Нельзя изменять поле, содержащее объект данных формы ".
#9
by svchernova
Период смены номера у меня = год, и РазностьДат = 0. Вроде как должна поменяться дата.. без пробле. Нет, откуда-то вылазит ошибка, какчерт из табакерки
#10
by GROOVY
Хотя гонять объект туда-сюда ради проверки даты - это извращение. Переписывайте свою процедуру ПроверитьНомер.
#11
by svchernova
Может быть, после Ваших лекций перестану быть извращенкой.Пока могу только категориями толстого клиента мыслить.
#12
by svchernova
Нельзя изменять поле, содержащее объект данных формы. А если мне нужно изменить дату документа..
#13
by Поручик
Посмотреть, как реализовано в типовых не предлагать? Или во франях принято изобретать лисапеды?
#15
by Mort
По-хорошему, процедура не должна копаться во внутренностях своих параметров. Плюс в этой задаче нет ничего такого, что бы потребовало участие сервера - кроме выяснения периодичности документа, которое можно сделать, например сразу при создании на сервере и запомнить в какой-нить реквизит подходящего типа. Для простоты примера в строковой: &НаСервере .... Где-то на клиенте: .... и т.д.
#16
by Mort
+ Собсна если пользователи меняют дату раз в день, кэшировать такое значение не имеет смысла. Просто привел как пример того, что можно обойтись без вызова сервера.
#17
by svchernova
Знаешь, что до меня оеально не доходит? (Ответ "Ничего" - не самый правильный, я начала понимать немножко). Я не понимаю, в каком месте своего кода я "Вызываю сервер"
#19
by svchernova
я написала. Но даже если я всё тело процедуры закомментирую, то ошибка всё равно вываливается
#20
by Mort
ПроверитьНомер(Объект, мТекущаяДатаДокумента); - вызывает функцию на сервере. Поскольку директива &наСервере (а не &НаСервереБезКонтекста), у тебя вся форма прется на сервер и объект передавать не нужно, он там и так будет. Но так делать неправильно.
#22
by Mort
И ещё, вот тут &НаКлиенте дата уже изменена. Сравнивать её с самой собою можно, но не рекомендуется. Сделай реквизит формы СтараяДата и там храни старое значение.
#23
by svchernova
Начинает доходить.. Славатегосподи. Твоя функция как раз-таки взволновала до крайности :))) Я начала её писать :))
#31
by svchernova
Ты понимаешь, в чем дело. я о твоём примере. Переменная ПериодичностьНомераСтрокой определяется на сервере. Но затем эта переменная используется в процедуре И её не видно на клиенте.
#34
by svchernova
Вон как.. Получается, что ВСЕ переменные, которые будут использоваться как на клиенте, так и на сервере, нужно прописать в реквизитах формы, правильно?
#37
by svchernova
и а тебе только позавидовать можно. Стаж 6 лет и времени вагон, все книжки прочесть успел. и вопросов нубских не задаёшь. умница.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v8 строка подключения V8.Connect
- Волшебнику и всем кто поможет по теме "v8 УРБД на v8 за четыре шага"
- v8: при v8 = Новый COMОбъект("V8.Application") дает ошибку ..
- v8: Не могу подключиться из V8 к V8
- v8: есть ли аналоги openconf для 1с v8
- v8: Как удалить 1С v8 ?
- v8: УФ - показать фотографию наподобие ПоказатьОповещениеПользователя()
- v8: Методика написания конфигураций на УФ, общие модули. Подскажите неофиту УФ
В этой группе 1С
- V82.application не работает вместо V82.COMConnector
- Сортировка выборки ПланыОбмена.ВыбратьИзменения()
- Отчет с группировками разных сущностей по горизонтали
- Управляемое приложение, глобальные переменные
- проблема с принтером zebra s4m
- v7: Изменить флаг "Пропускать при вводе" программно
- Кто нибудь в камине 3.0 место рождения сотрудника выгружал?
- Регистр сведений Объекты доступа документов и как от него избавиться?
- Сериализатор XDTO
- Синхронизация справочников между 7.7 и 8.1
- Какой должна быть дисперсия случайной величины?
- Как 1с 8.2 спрятать в трей?
- ЗУП Реорганизация организации
- Как программно удалять регламентные задания
- УПП 1.3.16. Вылезла ошибка при возврате поставщику из переработки.
- 1С КОРП Валюта регламентированного учета
- Доступ к реквизиту объекта через имя реквизита в переменной.
- УСН в БГУ. Кто как решает?
- удаление данных из регистров
- Продажа валюты в УПП