Имя: Пароль:
1C
1С v8
Запретить редактирование в справочника
,
0 Чайник1983
 
23.04.18
03:40
Запретить редактирование в справочника "ДолжностиОрганизации" поле "Взносы за занятых на работах с досрочной пенсией" если на должности работают
1 Чайник1983
 
23.04.18
03:42
Проблема то в чем спросите вы) не знаю как установить проверку в должности на ее занятость.
2 hhhh
 
23.04.18
04:11
(1) ВЫБРАТЬ
      Сотрудник
    ИЗ
      Справочники.Сотрудники
    ГДЕ
       Сотрудник.Должность = &Должность
3 Чайник1983
 
23.04.18
04:51
То что при помощи запроса это понятно, мне больше интересно что дальше?
4 VladZ
 
23.04.18
04:54
В процедуру ПриОткрытии добавляем

Если ЕстьСотрудникиСЭтойДолжностью() Тогда
Элементы.ВзносыЗаЗанятыхНаработах.Доступность = ложь;
КонецЕсли;

Функцию ЕстьСотрудникиСЭтойДолжностью() сам напишешь?
5 Чайник1983
 
23.04.18
04:57
Думаю да)
6 Чайник1983
 
23.04.18
05:53
Не смог функцию написать.
7 Чайник1983
 
23.04.18
05:55
Изначально в написании функции и была вся сложность)
8 Mankubus
 
23.04.18
05:55
(6) совсем ни одной строчки? В (2) уже написано 90%
9 Чайник1983
 
23.04.18
05:58
Функция РаботаютНаДолжности()
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СотрудникиОрганизаций.Должность
        |ИЗ
        |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
        |ГДЕ
        |    СотрудникиОрганизаций.Должность = &Должность";
    
    Запрос.УстановитьПараметр("Должность", Должность);    
    Выборка = Запрос.Выполнить().Выбрать();
    
    
    КонецФункции
10 Чайник1983
 
23.04.18
05:59
{Справочник.ДолжностиОрганизаций.Форма.ФормаЭлемента.Форма(147)}: Преобразование значения к типу Булево не может быть выполнено
Если РаботаютНаДолжности() Тогда
11 Mankubus
 
23.04.18
06:04
(10) почитай что такое функция, каково её предназначение
12 Чайник1983
 
23.04.18
06:19
Если возврат добавить тогда вообще вся функция не работает.
13 VladZ
 
23.04.18
06:23
(12) Функция должна вернуть ложь или истина.

На  самом деле задачка очень простая. Если не можешь справиться - подумай еще раз: стоит ли тебе заниматься программированием. Возможно не твое это.
14 Aleksey
 
23.04.18
06:26
(9)  А что будет если есть сотрудник наэтой должности, но в другом подразделении, к которому у данного пользователя нет доступа? Т.е. как минимум привилегированный режим нужен

И зачем тебе должность в выборки? Просто "выбрать разрешенные 1 из ..."

ну и возврат не (Выборка.Количество()=0); не помешает
15 Чайник1983
 
23.04.18
06:36
(13) Задайте этот вопрос себе когда что то не получается но тяга к этому есть и вы сильно пожелаете о своих словах.
16 catena
 
23.04.18
06:54
(12)Что значит "вся функция не работает"?
17 Чайник1983
 
23.04.18
08:15
Уже работает функция возвращала "Неопределенно" в этом и была вся проблема
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс