#0
by depthzer0
Всем привет! Открыта форма объекта. При этом на сервере объект изменяется. Соответственно при попытке внесения изменения на форме появляется предупреждение: "Данные были изменены или удалены.... бла-бла-бла". Хочется это предупреждение обработать и выводить пользователю сообщение, ну и вообще отловить это событие. Теоретически можно повесить ПодключитьОбработчикОжидания и проверять не изменился ли объект, но хотелось бы как-то без этого обойтись.
#1
by ssh2QQ6
А почему не передавать изменения данных на клиента при завершении обработки на сервере?
#2
by ssh2QQ6
Вообще на сервере можно проверять, не заблокирован ли объект перед обработкой: Из СП: Исключение Предупреждение(НСтр("ru = 'Невозможно заблокировать документ.';" + " en = 'Can't lock the document.'")); КонецПопытки;
#6
by Бригада бронепоезда
а зачем тереть стандартное предупреждение и заменять его своим сообщением? работа ради работы?
#10
by DmitrO
Когда так бывает, это чаще всего означает, что организация данных (структура ИБ) не соответствует бизнес процессам (правилам/порядку ввода данных пользователем).
#11
by DmitrO
+ но конечно? некоторым заказчикам и исполнителям оно пофиг, что не соответствует, ведь главное "единообразие" какое-то..
#12
by Бригада бронепоезда
единообразие - это стандартное предупреждение о том, что объект изменился. Зачем изобретать свои стандарты и тратить на это уйму человекоресурсов, не понимаю..
#15
by DmitrO
по сути: фоновое задание не должно изменять объекты редактируемые интерактивно пользователями. И особенно с такой частотой, что это становится проблемой для ввода данных пользователями. Если фоновое задание что-то и должно делать, то объект редактируемый пользователем надо делить; так, чтобы это не мешало вводу данных пользователями.
#18
by depthzer0
есть приоритетная база в которую вносятся конкретные изменения и есть второстепенная база, в которой при желании можно кое-что подправить. из приоритетной базы данные попадают во второстепенную и записываются. если записываемый документ был кем-то открыт во второстепенной, то пользователь с этим документом должен получить сообщение, что документ изменён.
#19
by DmitrO
а есть понимание того, что после того как пользователь записал измененный документ, фоновое задание может его перезаписать своими данными?
#21
by Бригада бронепоезда
типа вводил 25 наименований в табличную часть, а в следующую секунду все это затирается данными из ЦБ и смс такое :"извините, ваши данные были перезаписаны, пожалуйста, введите их заново"
#22
by Бригада бронепоезда
зы. тогда может не стоит перезаписывать док, пока он открыт пользователем? поставить заглушку на внешнее соединение - если док открыт, то не изменять
#23
by depthzer0
хорошо. а можно как-нибудь поймать для всей формы какое-нибудь событие перед изменением значения одного из элементов?
#25
by depthzer0
знаешь всех придумщиков? :) да понятно, что прям такого нет, может быть есть какой-то хитрый ход. вот я про него и спрашиваю
#26
by Serg_1960
типовая конфигурация, план обмена -"Полный"... и ваши пользователи будут иметь возможность наблюдать проблему ТС. РИБ-база - и из под ног пользователя в любой момент может быть выдернут коврик обменом данных.
#28
by Бригада бронепоезда
в 90% обмен РИБ выполняется в ночное время. кроме того, входные и выходные данные распределенных баз не пересекаются, как правило. в точки выгружается приходные документы, доки по установке цен, в центральную загружаются документы продажи.
#29
by Serg_1960
Счастливчики, у кого обмен только в ночное время и документы не "пересекаются" :) Я обмен данными проводил чаще. Значительно чаще. Каждые семь минут :( И документы у меня "пересекаются" - производство в одном обособленном подразделении, а бухгалтерия - в другом.
#30
by depthzer0
ребят, ну что вы в самом деле? )) ну тут тоже не весь док перезаписывается. вообще из другой базы другой документ приходит, если уже начинать вдаваться в детали, а в этом документе кое-что невидимое меняется. суть то не в том, а в том, что если чел начинает что то писать в комментарии, например, то у него выскакивает окно и он пугается, скорая-шмора, все дела. хочется сделать мягче реакцию. в сообщение выводить. а обработчик ожидания не хочется подключять. вот я и спрашиваю, может кто альтернативу подскажет.
#31
by Бригада бронепоезда
альтернатив нет. нет обработчика в форме, который один на все изменения реквизитов.
#32
by DmitrO
так я тебе об этом и пытался сказать в начале, если только комментарий пользователь пишет - надо выносить комментарий из объекта в регистр сведений, и редактировать его отдельно. Т.е. по идее данные разделять надо.
#33
by DmitrO
или вынести из объекта какраз вот это: " в этом документе кое-что невидимое меняется"..
#34
by Serg_1960
Если мне память не изменяет, то событие "у него выскакивает окно и он пугается"(тс) только тогда, когда пользователь пытается записать объект. Или я не прав?
#35
by DmitrO
неа, не прав, сообщение будет сразу после редактирования реквизита связанного с данными или реквизита формы у которого стоит "Изменяет данные" либо у команды.
#36
by Бригада бронепоезда
вобщем не выдумывать волшебную таблетку, а взять и не полениться - у каждого элемента формы указать действие перед изменением - проверку изменения объекта на сервер. если изменен - отказ и вежливое предложение попить карвалолчика
#37
by depthzer0
хочется, чтобы в окне пользователя появлялось сообщение. не, начинает вводить в комментарий и сразу "Данные были изменены... то сё". если бы при записи - так и вопросов не было. в том то и дело, что я не вижу такого события "ПередИзменением" )))
#38
by DmitrO
но может быть и при записи: - пользователь открыл документ; - вбил данные; - пока тянулся к кнопке Записать, фоновое задание задание изменило документ; - жмет Записать и получает сообщение. а может быть и так: - пользователь открыл документ; - фоновое задание задание изменило документ; - как только начнет вбивать данные получит сообщение.
#39
by Serg_1960
Угу, спс, запамятовал уже. Да, кстати, насчет "нет обработчика в форме, который один на все изменения реквизитов": есть на форме один хитрый обработчик :) "ОбновлениеОтображения" - он на каждый чих пользователя эхом откликается.
#41
by Serg_1960
Стоп, опять память подвела. Он срабатывает когда перерисовка нужна. Например, по строкам документа двигаешься или вкладки листаешь... Ууу... совсем грусно :)
#42
by Serg_1960
Из области фантастики :( В типовой форме документа в процедуре ПередОткрытием поставить "заглушку": если документ не новый (у него есть ссылка), то создавать новый документ, копировать и открыть его форму, а не форму исходного документа. Зачем такие сложности вы спросите? Чтобы разорвать связь между редактируемым документом и его ссылкой. Пользователи не будут получать сообщения,которые их пугают :) Задача прогера - выкрутиться при записи этого документа на "старую" ссылку
#44
by Serg_1960
Угу, я такой, я гений :) Иначе не вижу способа "обойти" типовые механизмы платформы.
#45
by depthzer0
реально классно, конечно, потому что лучше всего вообще через обработки работать. но тут уже так и нужно сразу ))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Функция которая вызывается на форме без каких-то действии на форме
- v8: Как програмно обновить данные в окрытой форме?
- ЗУП 2.5.30.4. в форме 4 ФСС не выводит данные по колонке 6 Раздела I(табл.3)
- УПП В форме Сотрудника на вкладке Кадровые данные пропали данные
- На каком этапе возникает сообщение "Данные были изменены. Сохранить изменения?"
- Не меняются данные в управляемой форме после изменеий объекта чьи данные взяты
- Вопрос про диалог "Данные были изменены. Сохранить изменения?"
- Как передать управление с сервера на клиента?Можно ли передать Вопрос на клиента
- Данные были изменены или удалены другим пользователем
- Как в управляемой форме посчитать итог по колонке тч на форме?
В этой группе 1С
- Конвертация данных: перенос подчиненного справочника
- Заполнение инвентаризации по счету
- Выгрузка и загрузка данных XML 8.3 - при загрузкЕ ошибка
- ЗУП опять подарки детям код вычета 501 код дохода 2720
- ЗУП Индексация фиксированной суммой
- Внереализационные доходы. Задвоение в декларации на прибыль
- Переменная не определена (ТипДвустороннейПечати) УП
- слить два предприятия ведущие учет на ЗУП 2.5 в одно ЗУП3.0
- 1c 7.7 ЗИК поиск в справочнике по первым буквам
- СКД: Расположение группировок в колонке по вертикали
- Вывод ТЧ в отчете
- v7: datalogic quickscan lite qw2100 не вызывает обработка внешнего события
- v7: Как выгрузить ТМЦ+Остаки+Цену в excel
- Проблемы быстродействия интерфейса 1С8 + 2X 12.0 XG + Win2008R2 SP1
- Не реагирует ни на печать, ни на настройки страницы, ни на предв. просм [решено]
- Несколько ставок НДС в одном договоре
- 1C Бухгалтерия 8 кассовый метод при ОСНО
- Запрос для вывода нулевых остатков
- RAID 1 увеличивает ли скорость чтения или только отказоустойчивость?
- Удалить нули в строке