Имя: Пароль:
1C
 
А как не записывать ссылку если модифицированность = ложь?
0 RomaH
 
naïve
17.05.18
15:24
У пользователя рука так и тянется к кнопке Записать и закрыть
как для всех объектов при интерактивной записи прописать закрытие без записи?
1 PR
 
17.05.18
15:25
(0) Сделай доступ на чтение
2 PiotrLoginov
 
17.05.18
15:26
(0) Как обмануть пользователя и при нажатии некой кнопки выполнить не то действие, которое "обещает" надпись на кнопке, а другое?  Интересный вопрос...
3 PiotrLoginov
 
17.05.18
15:28
Максимум, если уж уверен, что объект не менялся и никакие дополнительные данные менять/оповещать не нужно, выводи вопрос, типа "Сто пудово ничего не менялось и меняться не должно. Вы уверены, что хотите не просто закрыть, а еще и перезаписать при этом?"
4 PR
 
17.05.18
15:29
(3) Главное, не забыть сделать это в событии "ПередЗаписью"
5 PR
 
17.05.18
15:30
(3) А, кстати, зачем спрашивать, если можно просто тупо ничего не делать, раз ничего не поменялось?
6 RomaH
 
naïve
17.05.18
15:34
(1) - нужен доступ на редактирование

сидят девочки операторы
вводят данные пациентов - у пациентов места работы

иногда проваливаются в карточку контрагента проверить заполненность
и жмут Записать закрыть

потом в журнале 10 записей на изменение в день

суть в том, что Модифицированность есть же флаг
и как бы, если в интерактивном режиме что-то поменяно, а флаг не взведен - то виноват программист
7 RomaH
 
naïve
17.05.18
15:35
(6) и такая картина везде - открыли посмотреть, что там внутри документа - Записать закрыть
8 Волшебник
 
17.05.18
15:36
(7) Ну, тупые...
9 Волшебник
 
17.05.18
15:37
Открывай все формы в режиме "Только просмотр". Если нужно изменить данные, то пользователь должен нажать кнопку "Редактирование".
10 PR
 
17.05.18
15:37
(6) Вариант 1
Фиксировать запись без изменения данных, жестко бить по голове за произошедшее, отучать жать что попало

Вариант 2
При записи неизмененного не записывать, закрывать без записи, возможно не закрывать, а ругаться, что нехрен записывать неизмененное

Вариант 3
Забить на все это, в чем проблема-то?
11 HomoAlbus
 
17.05.18
15:39
(7) Запрещай записывать, раз такие глупенькие
12 PR
 
17.05.18
15:39
+(10) Я в таких случаях еще говорил, что если что не так будет в НСИ, то виноват будет последний нажавший "Записать и закрыть", независимо от того, менял он там что-то или нет, потому что меня идиотские отмазки не интересуют
13 HomoAlbus
 
17.05.18
15:41
(12) Зачем давать юзерам потенциальное поле для ошибок? надо каждый чих правами/датой запрета ограничивать.
14 DrShad
 
17.05.18
15:42
сделай подписку на событие перед записью
сравнивай объект и ссылку по реквизитам и Отказ = Истина

пусть потом нажимают до посинения
15 HomoAlbus
 
17.05.18
15:44
(14) А потом реально нужно будет что-то поменять и чего делать?
16 HomoAlbus
 
17.05.18
15:45
Зачем выдумывать велосипеды. Сначал конкретизируй требования. Нельзя чтобы меняли не  свои документы? ограничивай рлсом, нельзя чтобы меняли вчерашние документы? Устанавливай даты запрета и т.д.
17 PR
 
17.05.18
15:46
(13) Что ты собираешься ограничивать?
Человеку может быть нужно нового завести, а может быть просто посмотреть
18 DrShad
 
17.05.18
15:47
(15) если реально что-то изменено то объект не будет равен ссылке
19 Вафель
 
17.05.18
15:48
есть еще вариант: кнопка редактировать
20 DrShad
 
17.05.18
15:48
(16) запрети датой запрета менять элемент справочника )))
21 HomoAlbus
 
17.05.18
15:51
(20) Чего смешного? Дата запрета для документов, очевидно же. Для справочников свои ограничения, по ответственным, по группам да почему угодно.
Но нет, мы сделаем подписку на событие и будем бахать отказ, а потом уволимся. Прийдет новый вася и будет лысину чесать чего это ничего второй раз не записывается у меня.
22 DrShad
 
17.05.18
15:56
(21) ты реально не догоняешь, что при модифицированном объекте запись будет осуществляться?

или думаешь, что новый Вася с ходу разберется с РЛС?
23 Ботаник Гарден Меран
 
17.05.18
16:50
НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    
    Если Не Модифицированность Тогда
        Отказ = Истина;
        Закрыть();
    КонецЕсли;    
    
КонецПроцедуры

Косяк: по кнопке "Записать" тоже закроет форму.
24 тарам пам пам
 
17.05.18
16:57
(14) а потом на форме окажутся какие-нибудь связанные данные, хранящиеся отдельно от объекта, например контактная информация или доп свойства.
25 Vladal
 
17.05.18
17:01
(6) Проверяй данные текущего объекта и данные по ссылке.
Если нет различий, отменяй запись, просто закрывай форму.

Ну или седлайц чтобы форма открывалась на просмотр.
26 X Leshiy
 
17.05.18
17:05
(0) Передвинь кнопку "Записать и закрыть" в неудобное место)))
27 тарам пам пам
 
17.05.18
17:06
ИМХО нужно просто делать кнопку "записать и закрыть" недоступной, пока не начали вносить изменения. Как в том же пофигураторе - пока что-то не изменишь, кнопка записи/обновления базы недоступна.
28 Волшебник
 
17.05.18
17:06
(0) По кнопке "Записать и закрыть" задавай вопрос "Вы уверены?" по умолчанию кнопка "Нет".
29 Serg_1960
 
17.05.18
17:24
Имхается мне, что все ваши усилия по заботе о пользователях :) пролетят как фанера над Парижем, если не оставить им возможности перепроведения без изменения самих документов.
30 singlych
 
17.05.18
17:25
(28) Вообще убрать кнопку "Да", если не Модифицированность.
31 Serg_1960
 
17.05.18
17:27
А может быть лучше сделать все кнопки записи на форме "серыми", пока не будет модифицированности?
32 Вафель
 
17.05.18
17:31
(29) для проведения есть отдельная кнопка
33 Вафель
 
17.05.18
17:32
если смотреть с точки зрения юзабилити, то записать и закрыть должна просто закрывать
34 Serg_1960
 
17.05.18
17:32
А нет, всё равно всё не в тему. Автору нужно для ВСЕХ объектов - не менять же ради этого ВСЕ формы :(
35 Волшебник
 
17.05.18
17:33
(34) Варианты:
1) Поменять все формы
2) Поменять всех пользователей
3) Поменять автора
36 X Leshiy
 
17.05.18
17:34
(35) 4) Забить.
37 Serg_1960
 
17.05.18
17:34
(32) спс, я знаю :) А также в "Действия", пиктограммы, в контекстном меню списка...
38 Вафель
 
17.05.18
17:38
испольлзуй версионироание. там есть кто и чего поменял
39 Serg_1960
 
17.05.18
17:40
У меня РИБ, мне было проще. Парочка крупных скандалов, когда случались коллизии при обмене и в базе оставался устаревший вариант документа без актуальных изменений, разбор полётов с орг.выводами  - и до самых тупых и упёртых дошло какие кнопки нужно жать, чтобы не остаться без премии :))
40 Serg_1960
 
17.05.18
17:41
(38) +1 плюс обработка и отчет на стол руководителю.
41 RomaH
 
naïve
18.05.18
06:52
(24) пора бы знать, что такое поведение недопустимо - при изменении "связанных" данных флаг модифицированности должен взводится

(38) с версионированием своя пестня

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

по сути - сделать недоступной кнопку "Записать закрыть" если не Модифицированность

заказать ВК что-ли ... если в заголовке нет "создать" или "*" - гасить кнопку с заголовком "Записать закрыть"
42 RomaH
 
naïve
18.05.18
06:55
43 Jonny_Khomich
 
18.05.18
06:58
сделай подписку на событие, перед записью. Когда пользователь будет записывать не модифицированный документ, руководителю, пользователю и ещё кому-нибудь будет уходить письмо.
44 Otark
 
18.05.18
07:02
Во всех последних конфигурациях на УФ вроде такое. Формы объектов изменять которые не рекомендуется, открываются только на чтение. Для того, что бы изменить объект нужно нажать "разрешить редактирование".
45 Рэйв
 
18.05.18
07:05
(0)Раздели на две кнопки "Записать" и "Закрыть". И разведи их подальше друг от друга
46 Tateossian
 
18.05.18
07:13
(43) Желательно чтобы в транзакции это все делалось. А еще лучше в обработку проведения отправку письма имплементировать!
47 RomaH
 
naïve
18.05.18
07:34
(45) тут вообще коры

в документе же 3 кнопки
Записать - Провести - Провести и закрыть

вот в таком порядке и жмут ... параноики

поэтому - ИМХО не поможет - будут жать обе по три раза

казалось бы - при печати нового документа прога сама спрашивает и кнопки подсовывает (записать) - потом "Провести"

нет - там много читать - буквы непонятные

поэтому перед печатью, чтобы не пугаться всплывающих вопросов - жмем записать, потом "провести" - потом печать
48 Фрэнки
 
18.05.18
08:20
(47) все эти гадания какие-то абстрактные чрезмерно. А у вас эта конфигурация самописка какая-то или типовая?

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

Если нужно редактировать контрагента - Одни права. Нужно просмотреть его контактную информацию - другие права.

Альтернативный способ - сделать этому юзеру специализированную форму для корректной работы, где все формы открываются ему при необходимости именно с той инфой и такими режимами (чтение или запись и т.п.), которые предусмотрены в каждом конкретном случае.
49 Фрэнки
 
18.05.18
08:24
а можно просто в нарисованной новой рабочей форме
"Регистрация пациента" сделать так, чтобы никакого "провалиться в карточку контрагента" не возникало. Если жмакнула на кнопку "Посмотреть КИ контрагента" - открывался именно Просмотр или даже своя дополнительная формочка с извлеченными данными и может быть даже эти данные будут вытягиваться вообще хз откуда
50 Serg_1960
 
18.05.18
09:36
Самое простое решение - подписка на событие, где есть сравнение объекта с его ссылкой и отказ, если они не различаются.

Но: нужно установить и вычленить сам факт интерактивной записи объекта. Например, это можно определить по наличию открытой основной формы объекта. Но мне претит использование такого извращения. Да и потом, открытая форма - это всё-таки косвенный признак :(

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