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

Как сбросить признак модифицированности документа

МНе кажется что так вообще нельзя методически не верно.Сам факт того что вы «загружаете табличную часть» я бы вам посоветовал вариант 1) загружать табличную часть только после того как убедитесь что она изменится тоесть содержимое временной таблицы значений не равно таблице документа.Или не показывать пользователю табличную часть документа а в место нее показывать таблицу значений (подмена с полным функционалом чтоб разницу не замечали вообще)
Ну в общем сами додумаете.

(13) что тебе да1т статус «1С:Совместимо»?

это твоя собственная разработка? ты получил уже этот статус?

(29)
1. Я решил пока попользоваться ресурсами 7.7, они будут еще не скоро исчерпаны.
Изучаю 1с8.1 я медленно и осторожно. 7.7 мною изъезжена вдоль и поперек. Решение сделанное мною на ее основе будет более качественным и быстрым чем на 8.1.
Переход на 8.1 им предстоит впереди, после того как я разберу бардак в сегодняшней ситуации на предприятии и смогу не спеша заняться освоением и переходом на 8.1

2. Приницип формальной логики. Искренне верю, что я не умнее всех, а тем более разработчиков инструмента и криетриев к нему.

3. штатная ТЗ+Формекс = НЕ штатная ТЗ. Еще раз повторю: эту возможность я буду осваивать не в этой конфигурации.

(32) это бесполезна. эта как вера.

думается мне всё объясняется незнанием компонент и принципов работы с ними.

особенно улыбнуло то что человек посчитал УПП сырой, но при этом осторожно изучает 8-ку. т.е. не являясь специалистом сделал вывод и нежелая пользовать ВК обрекает пользователей на мучение со своимм сертифицированным творением

Источник

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

Друзья, читаю в ПодпискеНаСобытие Перед записью Источник.Модифицированность(), и оно ВСЕГДА ИСТИНА.

Ничего не понимаю, данные не изменяются, как такое может быть?

1С 8.2 Управляемое Тонкий

Fragster
нет, проверял даже на Валюте, там всего-то 3 реквизита, в форме ничего не меняется. Модуль объекта абсолютно чист.
откуда берется модифицированность не понятно.
Перед запись в форме проверяю модифицированност формы = ЛОЖЬ.

У тебя есть ОбъектВФорме, ОбъектНаСервере. ОбъектВФорме модифицируется, а до ОбъектаНаСервере еще дело не дошло.

Копай ДанныеФормыВЗначение или что-то подобное.

Создал специально справочник вообще без реквизитов, объект все равно всегда модифицирован.
Похоже смотрит на версию объекта, а версия объекта всегда меняется при записи.

Жму, например, кнопку записать в форме 10 раз (в ней нет реквизитов вообще, одна кнока) и все 10 раз объект модифицирован.

Есть процедура «ПередЗаписью()» и она срабатывает всегда когда жмешь кнопку записать, не важно менял ты что=то или нет.
Но как в ней понять модифицирован объект или нет?

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

Если просто программнополучить объект и записать его, то Модифицированность() = ЛОЖЬ, если нажать на кнопку в форме, то будет ИСТИНА (хотя форма не менялась)

(10) подписка на событие геде выполняется, как думаешь?

НаКлиенте, али НаСервере?

Икогнито
Хватит глупости нести.

1)
Берем объект на сервере, суем его в форму на клиенте, открываем форму.
В форме ничего не меняем, ПередЗаписью() в форме МОдифифцированность формы = ЛОЖЬ, нигде нет никаких обработчиков, которые могли бы изменить объект. В подписке на события ПередЗаписью() сам объект МОдифицированность()=ИСТИНА (Почему, если ничего не менялось?)

PS:
Что я хочу я уже написал, читай 4 = «смысл проверки для версионирования. Выгружаю версию объекта в логи, если объект модифицирован. Всегда выгружать нет желания.»

(14) ты ваще не догоняешь в своем п. 2

Я тебя спрашивал: «Как объект может быть не модифицирован, если ты в форме жмешь кнопку «ЗАПИСАТЬ»?

Источник

Программная модификация управляемых форм

Одним из требований для прохождения аудита расширения в модели сервиса является программная модификация управляемых форм без заимствования самой формы в расширение.

Мы рассмотрим основные составляющие этой задачи: добавление реквизитов, добавление элементов формы и назначение обработчиков событий элементов формы.

Добавление реквизитов

Для добавления реквизитов используется метод объекта ФормаКлиентскогоПриложения

Реквизиты формы, добавленные через конфигуратор, удалить невозможно, поэтому второй аргумент процедуры можно не указывать.

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

Данную процедуру можно заимствовать в расширение, добавить проверку имени формы и вставить код изменения реквизитов:

Для остальных конфигураций придется переопределять другие процедуры. Например

Использование той или иной процедуры следует проверить в модуле редактируемой формы.

Изменение элементов формы

Для добавления нового элемента формы требуется передать в функцию Добавить данной коллекции имя элемента, его тип и родителя (при необходимости). Например:

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

Обработка событий формы

Выполнить код по событию элемента формы можно двумя способами:

Для самых простых случаев (команда или событие без параметров) можно использовать следующие комбинации обработчиков и переопределяемых процедур:

При этом в предопределенной процедуре обязательно проверять имя команды (или имя элемента формы) и имя самой формы.

Либо вариант с использованием команд:

Полезные советы

Работа с динамическими списками

Переопределение открываемой формы

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *