Имя: Пароль:
1C
1C 7.7
v7: Можно ли обратиться к результатам диалога при закрытии дока в 7.7 (см. скрин)
0 Paul_Nevada
 
08.06.12
14:53
Вот это стандартное для 7.7 меню, которое появляется при закрытии документа в случае, если 1С считает, что последний был изменен пользователем:
http://webfile.ru/5991934
Вопрос такой - можно ли программно получить результат выбора пользовалем одного из вариантов предлагаемых действий?

Спасибо - заранее.
1 SnarkHunter
 
08.06.12
14:55
С какой целью интересуешься?
2 0_Serg_0
 
08.06.12
14:55
(0) над было на download залить - там в 2 раза дольше ждать закачки;)
3 Paul_Nevada
 
08.06.12
15:02
(1) Да есть потребность сделать проверку в документах нескольких видов в ТиС на предмет их "потенциальной измененности" за время просмотра их пользователями. И вот как раз этот стандартный вопрос с "Да/Нет/Отмена" некоторым образом мешает реализации этой проверки.
4 Paul_Nevada
 
08.06.12
15:08
Хотелось бы следующего:
- пользователь что-то наклацал в документе;
- платформа на его действия определенным образом отреагировала - естественно;
- пользователь решает прекратить ТАКОЙ "ПРОСМОТР" документа;
- жмет Esc для выхода из объекта;
- в диалоге вопроса (см. скрин) выбирает "Нет";
- ... как бы тут программно получить этот выбор пользователя???
5 Voronve
 
08.06.12
15:11
(4) А что ты с ним дальше делать собираешься ?
6 0_Serg_0
 
08.06.12
15:11
(4) приЗакрытии - сам его спрашивай = тогда и сможешь "среагировать"
7 Paul_Nevada
 
08.06.12
15:15
(5) использовать в обработке проверки ТЧ документа - не изменились ли значения НЕКОТОРЫХ (не всех) ее реквизитов.
8 Mikeware
 
08.06.12
15:15
(4) - в диалоге вопроса (см. скрин) выбирает "Нет";
- программа отвечает: "а вот не угадал!"
9 chief accountant
 
08.06.12
15:16
(4) признак модифицированности при закрытии пиши куда-нибудь
10 Paul_Nevada
 
08.06.12
15:16
(6) тогда получится, что пользователю будет задаваться 2 вопроса - одоин от 1С, второй - от меня.
11 0_Serg_0
 
08.06.12
15:17
(10)
ты выбор его обработай - и сними признак модифицированности;)
12 Paul_Nevada
 
08.06.12
15:17
(9) признак модфицированности в себе содержит 100% информации - мне она вся не нужна.
13 Paul_Nevada
 
08.06.12
15:18
(11) вот тут и вопрос - КАК обработать выбор пользователя?!
14 Voronve
 
08.06.12
15:19
(12) тебе надо отлавливать выбор в ПриЗаписи, проверять Форма.Модифицированность() и вызывать процедуру проверки изменения в ТЧ
15 Mikeware
 
08.06.12
15:19
(13) задавай ему вопрос _сам_, и _сам_ обрабатывай ответы на _твой_ вопрос.
16 Voronve
 
08.06.12
15:20
+(14) модификацию проверять нинада )
17 0_Serg_0
 
08.06.12
15:20
(13)
Если Модифицирована = Истина тогда
твоя проверка
модифицирована = Ложь;
КонецЕсли;
18 chief accountant
 
08.06.12
15:20
(12) а что надо то?
19 chief accountant
 
08.06.12
15:20
(17) клюшки вобще-то
20 Paul_Nevada
 
08.06.12
15:21
(17) надо проверить.
21 0_Serg_0
 
08.06.12
15:21
(19) та какая разница = смысл тот же
22 Paul_Nevada
 
08.06.12
15:22
(19) клюшки? это так 7.7 зовут?)
23 Voronve
 
08.06.12
15:23
(22) У тебя пр выборе пользователя ДА вызовется процедура ПриЗаписи. Нет - ничего не вызовется, Отмена - форма не закроется
24 0_Serg_0
 
08.06.12
15:25
(23) может ему и ответ "нет" надо отработать))
25 Paul_Nevada
 
08.06.12
15:26
(23) При выборе "Нет" у меня вызывается код проверки, размещенный мной в ПриЗакрытии. А мне это не нужно.
26 Voronve
 
08.06.12
15:26
(24) Тогда ловить в процедуре ПриЗакрытии. Только семафор нужен будет
27 Paul_Nevada
 
08.06.12
15:26
(24) Именно!)
28 Paul_Nevada
 
08.06.12
15:27
(26) Он у меня есть - в виде глобальной переменной.
29 Voronve
 
08.06.12
15:28
В приОткрытии Семафор = 0
В призаписи Семафор = 1
В призакрытии Семафор = 1 - юзер нажал Да, иначе нажал Нет
30 Paul_Nevada
 
08.06.12
15:35
(29) А вот случай когда пользователь не вызывал запись документа!
31 Paul_Nevada
 
08.06.12
15:35
(29) Или я совсем тебя неверно понял...
32 chief accountant
 
08.06.12
15:41
(31) призакрытии модифицированность() будет равна 1
33 Voronve
 
08.06.12
15:42
Система юзеру вопрос задает когда Форма.Модифицированность() = 1
и вызывает ПриЗаписи, ПриЗакрытии на ответ да
и При закрытии на ответ нет

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

Или переформулируй вопрос
34 chief accountant
 
08.06.12
15:44
(33) Форма. - это лишнее
35 Paul_Nevada
 
08.06.12
15:52
(33) Итак. Проверка моя написана в ПриЗакрытии(). Ситуация: 1С говорит, что Модифицированность()=1 и выдает пользователю вопрос. Тот отвечает "Нет" и в ЭТОМ случае мне нужно деактивировать свою проверку. КАК?
36 chief accountant
 
08.06.12
16:08
Процедура ПриЗаписи()
флаг=1;
КонецПроцедуры

Процедура ПриЗакрытии()
Если Модифицированность()=1 и флаг=0 Тогда
...
КонецЕсли;
КонецПроцедуры
Независимо от того, куда вы едете — это в гору и против ветра!