Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как считать значение реквизита на управляемой форме?          
OLL Подменю пользователя
сообщение 23.10.11, 21:59
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте!!
Никак не могу узнать значение реквизита на управляемой форме.....

Мне нужно узнать дату, которую только-что указали в реквизите ДатаОклада на управляемой форме, перед проведением....
тоесть, как-бы так, в модуле объекта документа, в процедуре ОбработкаПроведения:
1.сначала считать дату с формы...как???
2. проверить ее
3. провести документ


только начала учить 1с((( помогите пожалуйста)

logist Подменю пользователя
сообщение 23.10.11, 22:13
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(OLL @ 23.10.11, 22:59) *
1.сначала считать дату с формы...как???

Никак. Хотя можете ПриЗаписи формы передать ее в Хранилище, а при проведении считать от туда. Только это через Ж

Цитата(OLL @ 23.10.11, 22:59) *
только начала учить 1с((( помогите пожалуйста)

У Вас вероятно сама реализация задачи не правильно построена. Зачем при проведении использовать данные которые не хранятся в самом объекте (вероятно ж дата не является расчетным значением)?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: OLL,

OLL Подменю пользователя
сообщение 23.10.11, 22:29
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

хорошо, спасибо...я поняла...)))

тогда скажите пожалуйста, как мне просто обратиться к этому реквизиту? можно ли это сделать?)) спасибо!!

logist Подменю пользователя
сообщение 23.10.11, 22:36
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(OLL @ 23.10.11, 23:29) *
тогда скажите пожалуйста, как мне просто обратиться к этому реквизиту? можно ли это сделать?)) спасибо!!

Ну написал же, "просто" нельзя из модуля объекта обратиться к реквизиту формы.
В модуле формы он доступен по своему имени или ЭтаФорма.ИмяРевизита


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: OLL,

DartRomanius Подменю пользователя
сообщение 24.10.11, 8:57
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Ээээ... тут наверное в корне неправильно вопрос поставлен.

Для топик-стартера -

Для управляемых форм следует вбить в голову что:

имеем 3-х-уровневую архитектуру.
следовательно - есть понятия

данные формы на клиенте (практически не имеют отношения к фактическим данным, только видимая часть).
данные формы на сервере (имеют отношения к данным, но скорее к конкретному объекту данных).
собственно уровень данных базы.

Следовательно все изменения касающиеся работы с визуальной частью следует размещать в 1-м случае (за исключением доступа к реальным данным)

Грубо в касательстве документа выглядит так:
Модуль объекта -> Модуль формы (серверная часть) -> Модуль формы (клиентская часть).

ЗЫ: То есть на модуле формы (клиентская часть) невозможна такая конструкция:
СтороннийОбъектСсылка.РеквизитСтороннегоОбъекта


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Спасибо сказали: OLL,

vbi Подменю пользователя
сообщение 27.10.11, 11:01
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

А в самом документе (не на форме) есть такой реквизит "ДатаОклада"? Если нет - создайте его, свяжите с тем что на форме и будет Вам счастье!
А лучше:
1. Найдите Ваш документ в конфигураторе, раскройте все плюсики (реквизиты, формы, макеты)
2. Сделайте скриншот этого всего и сюда

Цитата
Мне нужно узнать дату, которую только-что указали в реквизите ДатаОклада на управляемой форме, перед проведением....


3. Код "узнавания даты" тоже сюда smile.gif


Signature
Впроваджую, супроводжую

kivals Подменю пользователя
сообщение 27.10.11, 17:25
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 105
Из: Киев
Спасибо сказали: 27 раз
Рейтинг: 0

Чтобы при записи в модуле объекта проверить изменение реквизита (независимо от метода изменения и клиента) нужно понимать, что
а) ЭтотОбъект содержит новые (измененные) данные
б) Ссылка содержит данные, сохраненные в БД
Таким образом сравнение
ЭтотОбъект.НужныйРеквизит = ЭтотОбъект.Ссылка.НужныйРеквизит
даст Истина если реквизит не менялся
(можно записать проще: НужныйРеквизит = Ссылка.НужныйРеквизит, т.к. в модуле объекта мы и так к объекту обращаемся, но ИМХО с ЭтотОбъект нагляднее)

P.S. Я пользуюсь этим методом в событии ПередЗаписью, так что в событии ПриЗаписи его не проверял, а ПослеЗаписи он точно не работает

logist Подменю пользователя
сообщение 27.10.11, 17:59
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(kivals @ 27.10.11, 18:25) *
Чтобы при записи в модуле объекта проверить изменение реквизита (независимо от метода изменения и клиента) нужно понимать, что
а) ЭтотОбъект содержит новые (измененные) данные
б) Ссылка содержит данные, сохраненные в БД
Таким образом сравнение
ЭтотОбъект.НужныйРеквизит = ЭтотОбъект.Ссылка.НужныйРеквизит
даст Истина если реквизит не менялся
(можно записать проще: НужныйРеквизит = Ссылка.НужныйРеквизит, т.к. в модуле объекта мы и так к объекту обращаемся, но ИМХО с ЭтотОбъект нагляднее)

P.S. Я пользуюсь этим методом в событии ПередЗаписью, так что в событии ПриЗаписи его не проверял, а ПослеЗаписи он точно не работает

kivals, у Вас там что 1с 9.0??? Почему у меня ЭтотОбъект НЕ содержит реквизит формы?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 13:04
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!