Реквизиты формы
Показывать по
10
20
40
сообщений
- 1
- 2
11.12.2007
12:32
#1
"Всем привет!
Процедура РазрешитьЗапретитьРедактирование()
Если Форма.Категория = Перечисление.КатегорииСотрудников.Рабочие тогда
Форма.Признак.Доступность(1);
Иначе
Форма.Признак.Доступность(0);
КонецЕсли;
КонецПроцедуры
Признак и Категория - реквизиты формы, процедура вызывается из предопределенной ПриОткрытии. Прблема в том, что какая бы категория не была - доступность все равно = 0.
В чем может быть дело.
"
Процедура РазрешитьЗапретитьРедактирование()
Если Форма.Категория = Перечисление.КатегорииСотрудников.Рабочие тогда
Форма.Признак.Доступность(1);
Иначе
Форма.Признак.Доступность(0);
КонецЕсли;
КонецПроцедуры
Признак и Категория - реквизиты формы, процедура вызывается из предопределенной ПриОткрытии. Прблема в том, что какая бы категория не была - доступность все равно = 0.
В чем может быть дело.
"
11.12.2007
12:58
#2
Осмелюсь предположить, дело в том, что условие "Форма.Категория = Перечисление.КатегорииСотрудников.Рабочие" не выполняется. :=)
Отладчик Вам в руки.
Отладчик Вам в руки.
11.12.2007
15:27
#3
"ну да,отладчик пишет, что ошибка в выражении. В чем ошибка не пойму. По всей видимости программа не видит, что в данном реквизит формы есть какое-то значение. Пробовала категорию через справочник получить, но тоже ерунда, отладчик показвает, что переменная, в коотрую значение записывается - пуста:
Процедура РазрешитьЗапретитьРедактирование()
СпрДолж = создатьОбъект("Справочник.Должности");
СпрДолж.ВыбратьЭлементы();
Пока СпрДолж.ПолучитьЭлемент() = 1 цикл
Кат = СпрДолж.Категория;
КонецЦикла;
Если Кат = Перечисление.КатегорииСотрудников.Рабочие тогда
Форма.Признак.Доступность(1);
Иначе
Форма.Признак.Доступность(0);
КонецЕсли;
КонецПроцедуры"
Процедура РазрешитьЗапретитьРедактирование()
СпрДолж = создатьОбъект("Справочник.Должности");
СпрДолж.ВыбратьЭлементы();
Пока СпрДолж.ПолучитьЭлемент() = 1 цикл
Кат = СпрДолж.Категория;
КонецЦикла;
Если Кат = Перечисление.КатегорииСотрудников.Рабочие тогда
Форма.Признак.Доступность(1);
Иначе
Форма.Признак.Доступность(0);
КонецЕсли;
КонецПроцедуры"
12.12.2007
05:29
#4
или "Форма.Категория" - имеет тип отличный от перечисления, или Справочник.Должности.категория - не установлен.
Может кто-то установил галочку в справочнике для реквизита "категория" галочку "периодический"
Может кто-то установил галочку в справочнике для реквизита "категория" галочку "периодический"
12.12.2007
07:23
#6
По последнему коду - может быть выбиралась группа в справочние..
А так ещё пару вопросов:
- эта форма чего? документ, отчёт и т.п.
- Если это просто реквизит формы, то перед проверкой в него
записывается значение?
- если эта форма кокого-ибудь справочника, документа, то на форме
именно реквизит данного объекта или просто вставлен как
"гл.меню-Вставить-Реквизит Диалога" ?
А так ещё пару вопросов:
- эта форма чего? документ, отчёт и т.п.
- Если это просто реквизит формы, то перед проверкой в него
записывается значение?
- если эта форма кокого-ибудь справочника, документа, то на форме
именно реквизит данного объекта или просто вставлен как
"гл.меню-Вставить-Реквизит Диалога" ?
12.12.2007
08:11
#7
Этим кодом ты присваиваешь переменной "Кат" значение реквизита "Категория" ПОСЛЕДНЕГО в выборке элемента из справочника "Должности". Какой элемент по коду последний, тот и дает значение для "Кат". Вообще непонятно, зачем перебирается весь справочник "Должности". Если последний элемент выборки - группа, то скорее всего Кат=ПустоеЗначение.
Идея непонятна. Что делаешь?
Идея непонятна. Что делаешь?
12.12.2007
08:15
#8
Если Категория это лишь реквизит формы документа, тогда при открытии в него надо постоянно что-то записывать.
Если Категория это реквизит формы отчёта, тогда не нужно к нему обращаться через "форма.", а просто
Если Категория = Перечисление.... тогда
Если Категория это реквизит формы отчёта, тогда не нужно к нему обращаться через "форма.", а просто
Если Категория = Перечисление.... тогда
12.12.2007
08:33
#9
Это справочник "Должности". В нем указывается категория для каждой должности. А для категории "Рабочие" указывается допллнительно признак: вспомогательный, оснвной или ученик рабочего. Так вот мне необходимо запретить редактирование "Признака", если категори работника не "Рабочие", а другая.
- 1
- 2
Читают тему
(гостей: 1)