Имя: Пароль:
1C
1C 7.7
v7: Переключатели
,
0 rider
 
12.12.11
19:45
Имеется рекизит статус со значением от 1 до 4 . На форме реализован ввиде перключателя.

Процедура ИЗМСтатус()
если (статус=2) и (СтарСтатус=1) тогда
.....
статус=1
конецесли;
конецпроцедуры

Этот код меняет значение реквизита статус но не меняет положение переключателя.При том что раньше работало нормально. А заетм почему-то перестало. Помогите, с чем может быть это связано?
1 Rie
 
12.12.11
19:45
(0) Порядок обхода и Первый в группе проверь.
2 rider
 
12.12.11
19:47
Там все нормально
3 Ёпрст
 
12.12.11
19:47
перем статус поди в коде есть ?
4 rider
 
12.12.11
19:48
При записи документа записывает реквизит статус по положению перключателя т.е статус=2
5 rider
 
12.12.11
19:48
Все обращения в коде идут к реквизиту
6 rider
 
12.12.11
19:50
Единственное что недавно делал это добавил еще одну закладку на форму. Может это быть как то связано?
7 Ёпрст
 
12.12.11
19:52
Процу откуда вызываешь ?
Перем Статус; - это есть в коде ?
Визуально переключатель на форме меняется ?
СтарСтатус - Это что ?
8 rider
 
12.12.11
19:54
Нет переменной статус в коде, только реквизит. ИзмВрезерве() указан у первого перключаетля
9 rider
 
12.12.11
19:55
СтарСтатус значение статус при открытии документа
10 rider
 
12.12.11
19:57
создал кнопку с Статус=1. Работает нормально перключатель двигается. Нихрена не пойму(
11 Ёпрст
 
12.12.11
19:59
откуда ИЗМСтатус() вызывается??????!!!!
12 rider
 
12.12.11
20:02
ИзмСтатус() указан у первого перключаетля
13 rider
 
12.12.11
20:02
Это какой то глю платформы
14 Ёпрст
 
12.12.11
20:06
(13) зачет ага..
15 Ёпрст
 
12.12.11
20:07
если переключатель переключили на 2, то переключить его на 1 ?
:))
16 Ёпрст
 
12.12.11
20:07
в отладчике смотри, что там с переменной СтарСтатус
17 rider
 
12.12.11
20:08
Я програмно ставлю статус=1 Реквизит статус стал 1 я его ввывел наформу. А переключатель стоит в положении 2
18 rider
 
12.12.11
20:10
Но при записи документа.он берет значение с переключателя.т.е. записывает документ со статусом 2
19 Ёпрст
 
12.12.11
20:10
(17) в каком месте ты Статус в 1 установил ?!
Нам отсюда не видно.
20 rider
 
12.12.11
20:10
самый первый пост
21 Ёпрст
 
12.12.11
20:12
п..ц
Мот подумаешь сперва ?

Эта проца вызывается !внимание! из формулы радиокнопки.
22 rider
 
12.12.11
20:12
конечно
23 Ёпрст
 
12.12.11
20:12
дальше читай (15).
24 rider
 
12.12.11
20:13
у меня это больше двух лет работало. А вч ем проблема
25 Ёпрст
 
12.12.11
20:13
+23 + не видно, что ты там еще за бред в этой проце написал.
26 rider
 
12.12.11
20:13
да если поставили в 2 то поставить на 1
27 rider
 
12.12.11
20:14
то не важно там проверка надо ли возввращать в 1
28 Ёпрст
 
12.12.11
20:15
И чего не устраивает тогда ?!
29 Ёпрст
 
12.12.11
20:16
ИзмВрезерве() - вот это что еще ?
В формуле первого переключателя, указано что в формуле ?

ИзмВрезерве() ? или ИЗМСтатус() ?
30 rider
 
12.12.11
20:16
еще раз попробую:D

Я програмно ставлю статус=1 Реквизит статус стал 1 я его ввывел наформу. А переключатель стоит в положении 2

Надо чтобы и перключатель стал в 1
31 rider
 
12.12.11
20:16
ИзмВрезерве() это не важно перепутал нзвания процедур
32 rider
 
12.12.11
20:19
т.е.. перключатель не отображает реально значение реквизита
33 vinogradъ
 
12.12.11
20:19
Что написано в свойствах в поле Идентификатор радиобатона на форме, который переключаешь?
34 Ёпрст
 
12.12.11
20:20
(32) если не отображает, то, либо есть переменная в коде с таким же именем, либо ты еще в коде вертаешь взад значение реквизита, либо ты вставил не реквизит документа на форму (через вставить реквизиты).
35 rider
 
12.12.11
20:21
в формулах радиобатонов ничего нет кроме первого. Реквизиты указаны у всех кнопок, но их пробовал убирать не помогло
36 rider
 
12.12.11
20:22
не реквизиты а идентификаторы:))
37 vinogradъ
 
12.12.11
20:22
(35) в Идентификаторе
38 vinogradъ
 
12.12.11
20:23
(37)... переключателя, который "Первый в группе"
39 rider
 
12.12.11
20:24
суть была вч ем вопроса. Это все чудсесно работало несколько лет ничего неменялось. Потом я добавил новый слой и соотвественно новую вкладку. Перем статус точно нет
40 vinogradъ
 
12.12.11
20:25
(33)+(37)+(38) = Какой идентификатор переключателя, который "Первый в группе"?
41 rider
 
12.12.11
20:25
статус конечно
42 rider
 
12.12.11
20:26
яж его вставляю как реквизит
43 Ёпрст
 
12.12.11
20:27
для начала, выкинуть нах формулу у переключателя и проверить, работает ?
Если да, то в топку свой код отправить.
44 vinogradъ
 
12.12.11
20:28
проверь в слове статус в процедурах буквы с (рус/лат)
45 rider
 
12.12.11
20:29
если (статус=2) и (СтарСтатус=1) и (датаДок<>ТекущаяДата())тогда
         статус=1;
         возврат
   конецесли;        
Вот код что тут в топку:)
46 vinogradъ
 
12.12.11
20:30
а где СтарСтатус запоминаешь?
47 rider
 
12.12.11
20:31
еще раз пробую. У меня открыта форма документа. выведено на форме значение рекизита статус в виде тесктового поля. Оно пока зывает 1 одновременно с этим переключатель находитя в положении 2. как такое может быть
48 rider
 
12.12.11
20:32
Ведь перключатель должен отображать текущее сотояние рквизита
49 Ёпрст
 
12.12.11
20:33
удаляешь всё с формы, нажимаешь Ctrl+E, вставляешь реквизит документа Статус, тип Число, в виде переключателя. Ставишь ему свойство первый в группе.
Далее втыкаешь остальные радиокнопки , далее выставляешь правильный порядок обхода.
Наслаждаешься.
50 rider
 
12.12.11
20:35
(49)я тоже сразу подумал что это поможет а не фига
51 rider
 
12.12.11
20:39
я удалил только переключатели. все удалять не могу слишком много всего
52 Ёпрст
 
12.12.11
20:44
Они хоть все на 1 слое находятся ? :)
53 rider
 
12.12.11
20:46
да
54 GrayT
 
12.12.11
20:49
Первый в группе стоит только у реквизита с идентификатором Статус?
55 rider
 
12.12.11
20:49
да. Это же бы чуствовалось при переключении:)
56 Ёпрст
 
12.12.11
20:49
(54) Ого, какие люди и без охраны.
57 rider
 
12.12.11
20:50
при ручном перключении все нормально работает
58 GrayT
 
12.12.11
20:50
(56) :) я соскучился
59 Ёпрст
 
12.12.11
20:51
(58) 1с-иной занимаешься ? Или ужо свалил в другую сферу деятельности ?..
60 корум
 
12.12.11
20:53
(57) добавь форма.обновить()
Иногда помогает.
61 rider
 
12.12.11
20:55
Не помогло
62 GrayT
 
12.12.11
20:55
(59)я больше ни чего не умею ;) :)
я тут давно почитываю темы про восмерку, а тут решил и v7 включить
ЗЫ: Сорри за оффтоп.

Что то там с функцией переключения намудрили, имхо
63 rider
 
12.12.11
20:57
в (45) вся процедура
64 корум
 
12.12.11
20:58
(61) а что отладчик по поводу (45) говорит?
65 GrayT
 
12.12.11
20:59
"У меня открыта форма документа. выведено на форме значение рекизита статус в виде тесктового поля. Оно пока зывает 1 одновременно с этим переключатель находитя в положении 2. как такое может быть"
Это наводит на мысль, что где то есть другой Статус. Переменная модуля, или в глобальнике экспортная.
Эта форма чего кстати? Может реквизит справочника (дока) такой появился
66 rider
 
12.12.11
20:59
код выполняется так как надо. Переключатель не переключается:D
67 rider
 
12.12.11
21:01
нет перменных не глобальных не локальных. Форма документа
68 корум
 
12.12.11
21:01
(66) преименуй все статусы в ТАТУ. (65) дело говорит - где-то есть иной "статус"...
69 GrayT
 
12.12.11
21:02
Кстати, а откуда (как) вызывается (45)?
70 rider
 
12.12.11
21:02
проверил перименовав процедуру что вызова ее с других мест тоже нет только с радиокнопки. Это глюк платформы
71 rider
 
12.12.11
21:04
5 лет программирую такой куйни еще не видел((
72 Ёпрст
 
12.12.11
21:04
(69) с формулы этого же радиобуттона:)))))))))))))))))))))))))
73 rider
 
12.12.11
21:06
(72) а как по другому обработать перключение батона??
74 rider
 
12.12.11
21:09
открыл базу 2-х летней давности. тот же код только закладок нет. Все нормально работает
75 GrayT
 
12.12.11
21:10
(73)А чего бы ему не переключаться?
76 Ёпрст
 
12.12.11
21:11
Мне аот что не понятно, ты везде пишешь, что вот устанавливаю статус в 1, а на форме он =2 (или наеборот).
В тоже время, статус у тебя меняется из формулы этого же радиобаттона.

Следовательно, ты мышой тыркаешь во второй, а он у тебя в первый не переключается, или что ?!
77 rider
 
12.12.11
21:11
(75) не понял вопроса
78 rider
 
12.12.11
21:12
:D я пишу что перключатель стоит в 2
79 rider
 
12.12.11
21:12
а сам реквизит в этот момент равен 1
80 Ёпрст
 
12.12.11
21:12
(78) и ?
81 Ёпрст
 
12.12.11
21:13
(79) форму обнови и .. закрой отладчик!
82 rider
 
12.12.11
21:14
не помогает обновление
83 корум
 
12.12.11
21:16
(82) Накати документом из (74). Добавь закладки.
84 Ёпрст
 
12.12.11
21:16
Покажи скриншот свойств этого реквизита на форме, особенно, закладка общие и формула.
85 rider
 
12.12.11
21:21
Отловил. Как только перенес табличную часть документа на другую вкладку перестал переключаться. ГЛЮЮЮЮЮЮЮЮК
86 rider
 
12.12.11
21:25
т.е. переключатель должен находится на одной вкладке с табличной частью иначе могут быть глюки!
87 Ёпрст
 
12.12.11
21:31
(85) такой большой и в сказки веришь.
88 корум
 
12.12.11
21:32
(86) FALSE
Если не убеждают примеры стандартных торговли/комплексной, сохрани МД и перенеси переключатели на другую вкладку. Думаю, удивишься результату.
89 rider
 
12.12.11
21:33
я не говорю что переключатель вообще не работает. я говорю что есть опрделенный глюк. издесь описано какой
90 корум
 
12.12.11
21:37
(89) ты убрал глюк. Но из этого вовсе не следует (86) ;)
91 rider
 
12.12.11
21:39
Меня никто не понимает:D
92 rider
 
12.12.11
21:40
В этой теме все описано. Сделайте так как я и увидите о чем тут речь
93 Злопчинский
 
12.12.11
21:41
(92) то что ты описывал - делала куча людей кучу раз. ВКЛЮЧАЙ МОЗГ!!
94 rider
 
12.12.11
21:44
что делала
95 rider
 
12.12.11
21:47
размести перключатель реквизита на одной вкладке, табличную часть на другой. При выборе перключателя в процедуре напиши

реквизит=1

правда оговорюсь платформа 26. может потом что-то и поменялось
96 Ёпрст
 
12.12.11
22:10
Да, эффект воспроизводится.
97 Ёпрст
 
12.12.11
22:11
Просто твоё объяснение на 90 постов - "не очень".
98 rider
 
12.12.11
22:12
ну как умею:D