#0
by ProDeveloper
В УФ существует проблема - в событии ПередЗаписью в модуле объекта метод Модифицированность всегда возвращает Истина, даже если мы ничего не меняли в объекте. Происходит это из за того, что перед записью начинается транзакция записи. Объект до транзакции <> объекту в транзакции или после транзакции из-за версии данных, которая при записи всегда изменяется. В связи с этим становится невозможным красивая реализация отказа от записи объектов в подписке ПередЗаписью Код в подписке ПередЗаписью вида в УФ теряет свой смысл. Пока что сделал через костыль, тупым перебором реквизитов и ТЧ в цикле, ТЧ сравнивать было лениво, поэтому ТЧ преобразую в строку и сравниваю строковые представления ТЧ. Есть у кого соображения как ещё можно выкрутиться?
#3
by ProDeveloper
А если подумать? А если такой функционал нужен для всех справочников и документов коих в ERP 2.0 превеликое множество? Что неужели будешь править все формы спр-ков и доков? А обновлять потом как? Слив засчитан :)
#4
by DmitrO
"Происходит это из за того, что перед записью начинается транзакция записи" Ну это не из-за транзакции записи непосредственно конечно, а из-за того, что экземпляр объект в УФ получается десериализацией из данных формы, соответственно он всегда модифицирован. А вообще изначально задача-то как стоит? Отказаться от записи в подписке если объект реально не модифицирован в форме? И получить собственно получить исключение?
#5
by ProDeveloper
Изначально задача стоит так "Запретить изменение объектов закаченных из сторонней БД (Oracle)". Соответственно есть РС.СоответсвияОбъектов где живут IDшники(ID Oracle, ID 1C, ЗагруженИзСтороннейБД-булево). Реализованно через подписку на событие - в подписке ПередЗаписью происходит проверка на модификацию объекта, если объект модифицирован и в РС.СоответсвияОбъектов имеется этот объект ID 1C с признаком ЗагруженИзСтороннейБД = истина, тогда отказ.
#6
by DmitrO
тут противоречие в том что: "в форме" и "в подписке" - это не для 1С, они не поддерживают сценарии работы с подписками для целей логики форм. по идее надо в форме перенести признак модифицированности из управляемой формы, например, в дополнительные свойства объекта, чтобы получить его в подписке, но сделать такой перенос можно только в событиях самой формы, соответственно придется залезать в форму. а зачем при этом проверять модифицированность? если загружен просто Отказ и все.. разве нет?
#7
by ProDeveloper
Никаких противоречий нет, ты просто не допонял. Все уже реализованно и работает. Смотри код в . Просто хотелось узнать у людей вдруг кто знает более изящное решение.
#8
by ProDeveloper
Смысла залезать в форму каждого объекта справочника и документа коих в ERP 2.0 превеликое множество не вижу. Не вижу ещё и потому, что с таким подходом получаем гемор при обновлении.
#9
by DmitrO
А если документ загружен (в РС.СоответсвияОбъектов есть соответствие) но не модифицирован, запись должна пройти без отказа?
#10
by ProDeveloper
Да, допустим захотели перепровести документ по той или иной причине. Причем не забывай, что перепровести документ можно не открывая форму документа, тупо из списка.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Управляемые блокировки в УПП
- Где правильнее поставить управляемые блокировки
- Управляемые формы
- УТ 11 управляемые формы - добавить в таб часть колонку с остатками
- получить форму во внешней обработке (8.2 управляемые формы)
- Как программно вставить элемент формы в определённое место (управляемые формы)?
- Управляемые формы. Вызов второй формы кнопкой из первой
- Управляемые формы: Обратиться из модуля объекта к элементу формы
В этой группе 1С
- Отчет "Анализ начисленных налогов и взносов"
- регистр сведений измерения и ресурсы
- Как в СКД отчете сделать шапку и подвал в печатной форме
- Драйвер "Мышь Microsoft для com порта" где взять и как установить?
- HASP и веб-клиент
- Очистить файл ексель через 1с
- в пустую базу БП через универс обмен данными XML гружу документы программа завис
- Кто внедрял "Бит финанс"
- поле html документа "на этой странице произошла ошибка сценария"
- Внешняя печатная форма. Управляемое приложение
- Перенос параметров между вариантами отчета скд (управляемые формы)
- ЗУП 2.5 Перерасчет страховых взносов
- УФ. Не вызывается экспортная функция модуля внешней обработки из ее формы
- Возможно ли объединить два файла обновления в один?
- Как в УТ 10 вывести штрихкод без цифр, программно?
- БП 3.0.58.3 - формирование выписок - нулевые суммы
- УПП 1.3 РАУЗ - получение из переработки продукции, кол.остаток затрат на выпуск
- выгрузка сотрудников из ЗИКБУ8 ред 1 в такую же чистую базу
- Как очистить хранилище картинок
- 1c не сохраняет настройки ККМ