Меню

1с модифицированность не работает

Признак модифицированности у формы

Для сигнализации пользователю о том, что данные, отображаемые формой, были изменены, у формы существует признак модифицированности. При взведении данного признака в заголовке формы отображается символ *. Данный символ сигнализирует пользователю, что данные были изменены, и их необходимо сохранить.
Признак модификации формы взводится системой в следующих случаях:

  • Изменение объекта, являющимся значением основного реквизита формы. Это изменение может быть произведено интерактивно с помощью элемента управления связанным с реквизитом объекта или программно.
  • При изменении данных или отработке события элемента управления, у которого взведен флаг «изменяет данные».

Признак модифицированности формы сбрасывается системой при наступлении одного из следующих событий:

  • Измененный объект, являющийся значением основного реквизита формы, был успешно записан.
  • При открытии формы после события ПередОткрытием() формы, но перед событием ПриОткрытии() .

Флаг модифицированности сбрасывается после события ПередОткрытием() формы, но перед событием ПриОткрытии() , так как при открытии формы нового объекта или уже записанного пользователь ожидает, что состояние данных не являются измененными. Если для нового объекта нужно дополнительная его инициализация перед редактированием в форме, то ее можно произвести в обработчике события формы ПередОткрытием() . В этом случае признак модифицированности не будет взведен у формы, как того и ожидает пользователь. Если же нужно внести исправления в объект при открытии формы, которые должны отразиться на признаке модифицированности, то это следует произвести в обработчике события формы ПриОткрытии() .

Кроме автоматического взведения и сброса флага модифицированности системой, разработчик может управлять признаком модифицированности формы посредством свойства формы Модифицированность. Данная модель, с одной стороны, не требует от разработчика дополнительных усилий для поддержки стандартной функциональности редактирования объекта с помощью формы, с другой стороны, предоставляет полный контроль над признаком модифицированности формы.

Источник

Модифицированность() и Модифицированность

(5) Флаг модифицированности сбрасывается после события ПередОткрытием() формы, но перед событием ПриОткрытии().

Иди отладчиком по событию ПриОткрытии(), что то меняется из реквизитов.

Вопрос на тему «А если подумать?»: Когда в форме документа заполняются значения ДокументОбъект, ЭтотОбъект, ЭтаФорма?

(15) свойство Модицицированность определяет необходимость системного запроса на сохранение перед закрытием.

функция проверяет версию обьекта.

вернет Истина если есть хоть одно програмное изменение реквитов/свойств. тоесть к обьекту это вообще не относится никак.

это примерно как вопрос:

почему ПолучитьОбъект() не равен ПолучитьФорму()

(19) , (20) Скажите что я получаю методом ПолучитьФорму() ?
цитирую СП :

для ДокументаОбъекта:
Описание:

Получает форму документа, которая содержит данный ОБЪЕКТ встроенного языка.

Получает форму документа.

Получает форму документа. Если получаемая форма — форма для редактирования документа, то будет получена форма нового документа.

Но получается что форма все же содержит объект? раз для неё отрабатывает Метод Модифицированность().. Или как? Ведь у формы такого метода нет. Но и для объекта этот метод возвращает другое значение. Изменение реквизитов было, например Организация = Объект.Организация. (Это не я писал, я просто исправляю)

Хочу просто понять схему

(23) хм.. А почему ПолучитьФорму().Модифицированность() <> ПолучитьОбъект().Модифицированность() ?

Что проверяется в одном и в другом случае?

(25) можно подробней?
1й — объект документ?
2й — объект форма чтоли?

Источник

Модифицированность() и Модифицированность

(5) Флаг модифицированности сбрасывается после события ПередОткрытием() формы, но перед событием ПриОткрытии().

Иди отладчиком по событию ПриОткрытии(), что то меняется из реквизитов.

Вопрос на тему «А если подумать?»: Когда в форме документа заполняются значения ДокументОбъект, ЭтотОбъект, ЭтаФорма?

(15) свойство Модицицированность определяет необходимость системного запроса на сохранение перед закрытием.

функция проверяет версию обьекта.

вернет Истина если есть хоть одно програмное изменение реквитов/свойств. тоесть к обьекту это вообще не относится никак.

это примерно как вопрос:

почему ПолучитьОбъект() не равен ПолучитьФорму()

(19) , (20) Скажите что я получаю методом ПолучитьФорму() ?
цитирую СП :

для ДокументаОбъекта:
Описание:

Получает форму документа, которая содержит данный ОБЪЕКТ встроенного языка.

Получает форму документа.

Получает форму документа. Если получаемая форма — форма для редактирования документа, то будет получена форма нового документа.

Но получается что форма все же содержит объект? раз для неё отрабатывает Метод Модифицированность().. Или как? Ведь у формы такого метода нет. Но и для объекта этот метод возвращает другое значение. Изменение реквизитов было, например Организация = Объект.Организация. (Это не я писал, я просто исправляю)

Хочу просто понять схему

(23) хм.. А почему ПолучитьФорму().Модифицированность() <> ПолучитьОбъект().Модифицированность() ?

Что проверяется в одном и в другом случае?

(25) можно подробней?
1й — объект документ?
2й — объект форма чтоли?

Источник

Модифицированность() объекта (управляемое приложение)

Жизненный цикл формы объекта

Давайте рассмотрим, что происходит, когда мы открываем форму существующего элемента справочника.

На клиенте вызывается метод «ОткрытьФорму» или мы просто открываем форму из какого-либо списка справочника. Начинается серверный вызов
В памяти сервера создается новый СправочникОбъект, выполняется код модуля объекта (тот, что написан в самом низу модуля)
Данные объекта считываются из базы данных, присваиваются значения реквизитов, наполняются табличные части объекта СправочникОбъект.
В памяти сервера создается новая управляемая форма элемента
Вызывается событие формы ПриЧтенииНаСервере, куда передается свежесозданный СправочникОбъект в параметре ТекущийОбъект
Основной реквизит формы «Объект», тот, что в списке реквизитов выделен жирным шрифтом наполняется данными на основании данных СправочникОбъект. Здесь происходит обычное поэлементное присваивание свойствам объекта ДанныеФормы значений, записанных в одноименных свойствах объекта СправочникОбъект. По сути, происходит «ЗаполнитьЗначенияСвойств(ДанныеФормы, СправочникОбъект)
СправочникОбъект уничтожается. Все его данные стираются из памяти сервера.
Вызывается событие формы «ПриСозданииНаСервере», в котором мы получаем уже заполненные ДанныеФормы
Данные формы сериализуются и отправляются на клиента, где форма отображается пользователю

(5) а если поменяли на тоже самое?

я давным давно любил автоименования элементов в ПриОткрытии() загонять типа ФИО = Ф+» «+И» «+О

Источник

Как проверить объект на модифицированность(), при вводе на основании?

Тип: Произвольный.
Значение, которое используется как основание для заполнения.
Если обработчик вызван при выполнении метода Заполнить, параметр равен параметру «Данные заполнения» метода Заполнить.
При обработке заполнения во время ввода на основании параметр имеет значение основания.
При интерактивном вводе нового из формы списка параметр является структурой, элементы которой соответствуют тем параметрам отбора формы списка, у которых способ сравнения Равно или ВСписке с единственным элементом списка. Если таких элементов отбор списка не содержит, данный параметр равен Неопределено. Если параметр «Стандартная обработка» по окончании работы обработчика равен Истина (установлен по умолчанию), система автоматически произведет заполнение одноименными элементами структуры.

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет. Отказ от стандартной обработки не отменяет действие.
Значение по умолчанию: Истина
Описание:

Возникает при вводе документа на основании, а также при выполнении метода Заполнить, при вводе на основании, а также при интерактивном вводе нового. В процедуре-обработчике этого события должен быть описан сам алгоритм заполнения реквизитов документа на основании переданного значения.
Примечание:

При копировании (как интерактивном, так и средствами встроенного языка), данный обработчик не вызывается.
См. также:

Источник

Читайте также:  Не работает метро ветеранов сегодня
Adblock
detector