|
флажок при изменении | ☑ | ||
---|---|---|---|---|
0
amadeus2010
18.12.14
✎
19:21
|
добрый вечер в УТ 10.3, в форме справочника контрагенты создал флажки дни недели и поле график посещений. Пользователь должен выбирать флажок дня недели например Пон,Вт и в поле график посещений должно отображаться 1х, если день недели не выбран тогда 2о. Я поместил код в процедуру флажок при изменении
///////////////////////////////////////////////////////////////// Процедура ПонПриИзменении(Элемент) Если Пон Тогда ГрафикПосещений = "с1х"; Иначе ГрафикПосещений = "с1о"; КонецЕсли; КонецПроцедуры ////////////////////////////////////////////////////////////////// Но если я выбираю флажок Вт или Ср то вместо такой записи 1х2о3х, получаю 1х или 2о например. Т.е вопрос в том как прописать в строке действия над флажками? |
|||
1
фобка
18.12.14
✎
19:26
|
ИначеЕсли
|
|||
2
amadeus2010
18.12.14
✎
19:30
|
делал ИначеЕсли все равно выводит или с1х или с1о например
|
|||
3
фобка
18.12.14
✎
19:31
|
Если нужна запись 1х2о3х4х и тд тогда график посещений не затирай а обновляй каждый раз
|
|||
4
фобка
18.12.14
✎
19:32
|
отдельным реквизитами или переменными держишь с1о, потом при изменении флажка все кусочки соединяешь
|
|||
5
amadeus2010
18.12.14
✎
19:34
|
(3) нужна именно такая запись. Можно какой-нибудь пример привести
|
|||
6
фобка
18.12.14
✎
19:38
|
Какой пример? При изменении флажка ты должен менять графикПосещенийПон, графикПосещенийВт и тд. И там же обновляешь общую строку то есть ГрафикПосещений.
Это вариант только. Дальше сам. Можно массивом делать или еще как |
|||
7
amadeus2010
18.12.14
✎
19:39
|
Реквизитами не очень удобно, можно как переменные. т.е я могу завести переменные с1х, с2о, с3х и т.д. потом прописать как проверка действия над флажком и присвоить графикпосещений =с1х и т.д.
|
|||
8
фобка
18.12.14
✎
19:40
|
Хозяин - барин.
Но графикпосещений = графикпосещенийпон+графикпосещенийвт+.... Если это не так - не уловил ход твоих мыслей, тебе виднее |
|||
9
User_Agronom
18.12.14
✎
19:41
|
В списке 7 полей с флажками?
И может быть выбрано одновременно любое количество флажков? |
|||
10
amadeus2010
18.12.14
✎
19:44
|
(9) есть только 7 флажков и поле график в которое надо передавать действия над флажками как в (3)
|
|||
11
User_Agronom
18.12.14
✎
19:48
|
Семь "Если ... тогда ... иначе... КонецЕсли"
Результат = ""; Если Пон тогда Результат = Результат + "1x" Иначе Результат = Результат + "1о" КонецЕсли; Если Вто тогда Результат = Результат + "2x" Иначе Результат = Результат + "2о" КонецЕсли; Если Сре тогда Результат = Результат + "3x" Иначе Результат = Результат + "3о" КонецЕсли; ... |
|||
12
amadeus2010
18.12.14
✎
19:59
|
(11) насчет Семь "Если ... тогда ... иначе... КонецЕсли" не совсем понял
|
|||
13
kosts
18.12.14
✎
20:03
|
(0) Какой интересный вопрос. Если к нам придет еще прог, то надо будет ему на собеседовании подкинуть такую задачку...
|
|||
14
kosts
18.12.14
✎
20:05
|
(12) Как в базе хранить будешь?
|
|||
15
amadeus2010
18.12.14
✎
20:09
|
Хранить намереваюсь в поле ГрафикПосещений
|
|||
16
kosts
18.12.14
✎
20:15
|
(15) Не очень понятно.
|
|||
17
kosts
18.12.14
✎
20:16
|
А что день недели числом не хранишь, 1 понедельник, 2 вторник и т.д.
|
|||
18
kosts
18.12.14
✎
20:21
|
Я к чему клоню, как будешь запрос к такой записи делать "1х2о3х"?
|
|||
19
Крошка Ру
18.12.14
✎
20:25
|
(18) Ну вот тебе и ещё одна интересная задача
|
|||
20
Крошка Ру
18.12.14
✎
20:27
|
(0)А по теме: не думаю, что тут можно обойтись семью условиями. А если пользователь проставит флажки, а потом ещё раз какой-нибудь включит-выключит? Тебе нужен график или лог действий пользователя?
|
|||
21
User_Agronom
18.12.14
✎
20:53
|
(12) Три ветвления написал. Допиши ещё четыре
|
|||
22
amadeus2010
18.12.14
✎
21:49
|
Такая система записи была определена заказчиком. Потом он эти данные выгружает в МТ Чикаго, а эта программа воспринимает дни посещений только как 1х2о3х и т.д.
Сделал таким образом согласно примеру ////////////////////////////////////////////////////// ГрафикПосещений = ""; Если Пон Тогда ГрафикПосещений = ГрафикПосещений+ "с1х"; Иначе ГрафикПосещений = ГрафикПосещений+ "с1о"; КонецЕсли; Если Вт Тогда ГрафикПосещений = ГрафикПосещений+"с2х"; Иначе ГрафикПосещений = "с2о"; КонецЕсли; Если Ср Тогда ГрафикПосещений = ГрафикПосещений+"с3х"; Иначе ГрафикПосещений = ГрафикПосещений+"с3о"; КонецЕсли; Если Чт Тогда ГрафикПосещений = ГрафикПосещений+"с4х"; Иначе ГрафикПосещений = ГрафикПосещений+"с4о"; КонецЕсли; Если Пт Тогда ГрафикПосещений = ГрафикПосещений+"с5х"; Иначе ГрафикПосещений =ГрафикПосещений+ "с5о"; КонецЕсли; Если Сб Тогда ГрафикПосещений = ГрафикПосещений+"с6х"; Иначе ГрафикПосещений = ГрафикПосещений+"с6о"; КонецЕсли; КонецПроцедуры ///////////////////////////////////////////////////////// При этом значение Пон остается пустым |
|||
23
User_Agronom
18.12.14
✎
21:57
|
(22) А переменная "ГрафикПосещений"?
Мы говорим не о именах переменных, а о способе сформировать строку зависящую от 7 флажков. |
|||
24
User_Agronom
18.12.14
✎
22:01
|
На всякий пожарный:
Условие нужно писать так Если ЭлементыФормы.Флажок1.Значение тогда Где Флажок1 - флажок пон, вт, ср и т.д. соответственно. |
|||
25
amadeus2010
18.12.14
✎
22:55
|
Чтобы в поле график посещений отображалось значение Пон я немного изменил код на
////////////////////////////////////////////// Если Пон Тогда ГрафикПосещений = ГрафикПосещений+ "с1х"; Иначе ГрафикПосещений = ГрафикПосещений+ "с1о"; КонецЕсли; /////////////////////////////////////////////////// |
|||
26
User_Agronom
18.12.14
✎
23:04
|
(25) Даже боюсь что-то добавить...
|
|||
27
фобка
19.12.14
✎
08:09
|
(25) заработало? Ну и отлично!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |