Имя: Пароль:
1C
1C 7.7
v7: Не изменять переключатель
,
0 Масянька
 
31.03.16
15:52
День добрый!
Как не изменять переключатель?

    Если (Выбран() = 1) Тогда
        Предупреждение("Изменить вид документа после записи документа нельзя." + РазделительСтрок +
                       "Копируйте в новый документ и изменяйте.");
        СтатусВозврата(0);
        Возврат;
    Иначе
        УправлениеДиалогом();
    КонецЕсли;

Меняет...

Спасибо.
1 sonne666
 
31.03.16
16:29
(0) может, текущий переключатель сравнивать с видом документа и возвращать его на нужный переключатель?
2 Ёпрст
 
31.03.16
16:31
И.. где тут переключатель ?
3 sonne666
 
31.03.16
16:33
(2) видимо, в формуле элемента указана эта процедура
4 Масянька
 
31.03.16
16:35
(2) См. (3) :)
(1) Нет, не подходит.
5 Ёпрст
 
31.03.16
16:37
выкини Возврат из условия, перенеси УправлениеДиалогом(); из ветки условия, наслаждайся.
6 Масянька
 
31.03.16
16:41
(5)
    Если (Выбран() = 1) Тогда
        Предупреждение("Изменить вид документа после записи документа нельзя." + РазделительСтрок +
                       "Копируйте в новый документ и изменяйте.");
        СтатусВозврата(0);
    КонецЕсли;
        УправлениеДиалогом();
        УправлениеВидимостью();


Меняет...
7 aka AMIGO
 
31.03.16
16:43
Тут не поможет "СтатусВозврата(0);"
как-то программно надо тебе вернуть старое значение переключателя
Кстати, из чего он сделан? :)
8 sonne666
 
31.03.16
16:44
(6) так и будет менять, на сколько я помню 77
9 aka AMIGO
 
31.03.16
16:44
+7 радиокнопки? маркеры?
10 Масянька
 
31.03.16
16:45
(8) Угу...
(9) Переключатель, 3 штуки, первый в группе и т. д.
11 Масянька
 
31.03.16
16:46
(7) Ну, я в Приоткрытии воткнула. Вроде как - обошла...
Но - как-то не кошерно...
12 sonne666
 
31.03.16
16:46
(10) может, при записи делать переключатель просто недоступным?
13 aka AMIGO
 
31.03.16
16:47
(10) Понятно.
Как-то давно я сделал это через вспомогательную переменную, в которую запихивал старое значение, и насильно переприсваивал, возвращая предыдущее значение.
14 Масянька
 
31.03.16
16:47
(12) Тоже - не кошерно :)

Очень не хватает - ПередИзменением :(
15 Масянька
 
31.03.16
16:48
(13) Так и обошла. :(
16 aka AMIGO
 
31.03.16
16:49
(15) И работает? тогда сейчас-же забудь о проблеме :)
17 aka AMIGO
 
31.03.16
16:50
(14) Это лишнее.
18 Масянька
 
31.03.16
16:52
(16) Должно не только работать, но и - код красив и оптимален :(
19 aka AMIGO
 
31.03.16
16:53
(18) Да брось.. работает - не трожь.
Есть недоработки в 77, приходится к цели идти обходным путём :)
20 Ёпрст
 
31.03.16
17:15
(6) Че меняет ? Дык в УправлениеДиалогом(); ставь переключатель на туда куда надо, в зависимости от других реквизитов дока, делов то.
Или, у тебя не так ?!
21 Масянька
 
01.04.16
09:09
А как сделать все переключатели недоступными (а-ля серыми)?
22 Ёпрст
 
01.04.16
09:16
(21) обходить реквизиты формы и ставить доступность в 0 вестимо
23 Ёпрст
 
01.04.16
09:16
либо по названиям идентификаторов, либо тупо формексом, хоть по всем реквизитам формы, хоть через найти
24 Масянька
 
01.04.16
09:18
(23) А ничё - что идентификатор только у первого должен быть?
25 Mikeware
 
01.04.16
09:32
(24) формексом
26 Ёпрст
 
01.04.16
09:37
(24) И че с того ?
27 Ёпрст
 
01.04.16
09:37
Даже не формексом, можно штатно обойти и установить доступность
28 Ёпрст
 
01.04.16
09:38
ну а формексом, так и подавно, о чем я те и написал :)
29 Масянька
 
01.04.16
09:40
(26) На фига писать тогда?
30 Ёпрст
 
01.04.16
09:41
(29) чего писать ?
31 Ёпрст
 
01.04.16
09:42
идентификатор можешь задать любому переключателю на форме, если че.
32 Ёпрст
 
01.04.16
09:42
а можешь и не задавать, а написать только у первого в порядке обхода.
33 ADirks
 
01.04.16
09:47
(24) вообще то, то что идентификаторы там не нужны, не значит, что их нельзя назначить.
Программист всегда исправляет последнюю ошибку.