Консультация № 74263
05.02.2007, 18:23
0.00 руб.
0 5 5
Здравствуйте! Подскажите пожалуйста каковы правила при работе с переключателем. Элемент который первый в группе и создавать надо первым или нет? Не переключается на второй элемент.

Обсуждение

Неизвестный
05.02.2007, 18:39
общий
это ответ
Здравствуйте, Darina!

Все очень просто!
Все дело в том, что в Диалоге формы - Настройка порядка обхода первый элемент переключателя, который к тому же с идентификатором, должен стоять выше (быть первым из всех переключателей).
Соответственно, в каком порядке будут стоять остальные переключатели от первого - в таком и будут возвращать значения в идентификатор первого переключателя...
Неизвестный
05.02.2007, 19:26
общий
это ответ
Здравствуйте, Darina!
Для переключателей, относящихся к одной категории, существует понятие "группа", а элемент, который располагается в форме первым, должен иметь установленное свойство "Первый в группе". С этого элемента и начинается обход. Если в форме расположены несколько групп переключателей, то для каждой группы должен существовать элемент со свойством "Первый в группе". Если при установке порядка обхода выбран "Первый в группе" элемент, то все последующие переключатели относятся к этому элементу (т.е. группе) до элемента другого типа или следующего элемента со свойством "Первый в группе".
У Вас, я понимаю, Предприятие 8. Если требуется обработать смену значения переключателя, то необходимо в свойстве "При измении" указать процедуру-обработчик события. Несмотря на то, что обработчик события можно указать для любого элемента группы, при измении сотояния всегда будет вызываться обработчик события, назначенный "первому" элементу управления. Для элемента с установленным свойством Первый, в свойстве "Данные" можно указать данные, которые используются для хранения значения. В этом случае тип переключателя определяеься типом этих данных. Подробнее смотрите в Вашем Руководстве "Конфигурирование и администрирование" на с.366 и "Описании встроенного языка" 2 том, стр 894. Успехов!
Неизвестный
05.02.2007, 19:54
общий
это ответ
Здравствуйте, Darina!
Для 1С 7.7.
Действия-Автоматический порядок обхода птичку убрать.
Настроить порядок обхода так, чтобы элементы переключателей шли ПОДРЯД (например, десятый, одиннадцатый, двенадцатый ...), между ними не должны вклиниваться другие элементы. Первый элемент должен иметь ПервыйВГруппе и иметь идентификатор.
Так как настраивать порядок обхода в больших формах весьма трудоемко (по опыту известно), то в большинстве конфигураций (если переключатель нужен на две-три-четыре позиции) делают псевдопереключатели из флажков, а в закладке Дополнительно-Формула пишут процедуру, которая сбрасывает остальные флажки при выборе данного флажка.
Процедура ПриВыбореФлаг2()
Если Флаг2=1 Тогда
Флаг1=0;
Флаг3=0;
Флаг4=0;
ЗначенПерекл=2;
Иначе
Флаг1=1;
Флаг3=0;
Флаг4=0;
ЗначенПерекл=1;
КонецЕсли;
ПриВыбореПереключателя()
КонецПроцедуры

Я рекоммендую Вам использовать флажки, так как использовать переключатели (вручную долго мучиться с порядком обхода) это зря потраченное время.
К тому же флажки очень хорошо сохраняются в документах как число длина 1.

А еще есть рекоммендация использовать списки значений в виде выпадающего списка. Тоже реализуется выбор только одного варианта. Программируется гораздо легче переключателей. Если заинтересует - пишите
Неизвестный
05.02.2007, 20:51
общий
это ответ
Здравствуйте, Darina!
Порядок создания неважен
важен порядок обхода - первый в обходе - первый в группе
остальные за ним, причем между ними недолжно быть других элементов формы
порядок обхода элементов формы - действия - настройка порядка обхода
Неизвестный
05.02.2007, 21:54
общий
это ответ
Здравствуйте, Darina!
Есть такой элемент управления: Рамка Группы. Переключатели желательно разметить внутри нее. Тогда они будут нормально работать (переключаться). Свойство ПервыйВГруппе можно изменить позже, и порядок переключателей тоже можно изменить. ПервыйВГруппе определяет имя переменной, в которой будут данные, также в свойствах именно этого переключателя можно указать тип значения.
Форма ответа