Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 23:56

Запрет редактирования

Автор Ивашка, 21 дек 2020, 22:21

0 Пользователей и 1 гость просматривают эту тему.

Ивашка

Здравствуйте! Как скорректировать код, чтобы было так: после 3 числа каждого месяца запретить редактировать в ТЧ задним числом, например
сегодня у нас 21.12 он больше чем 03.12, значит прошлый месяц редактировать нельзя уже(03.11-02.12), а если бы текущая дата была бы меньше 03.12, то 03.11-02.12 редактировать можно было еще, у меня че то не совсем то получилось, у меня получилось период с первой даты Табличной Части, и по 3-е число следующего месяца
ПерваяДата = Дата(2100, 01, 01);
   
    Для Каждого СтрТЧ Из Объект.Трудоемкость Цикл // Выясняем, какая самая ранняя дата есть в табличной части
        Если СтрТЧ.Дата < ПерваяДата Тогда
            ПерваяДата = СтрТЧ.Дата;
        КонецЕсли;
    КонецЦикла;
   
    ТДата = ТекущаяДата();
   
    Если (Год(ТДата) > Год(ПерваяДата)) Или
        ((Месяц(ТДата) > Месяц(ПерваяДата)) И (Год(ТДата) = Год(ПерваяДата))) Или
        ((День(ТДата) > 3) И (День(ПерваяДата) <= 3) И (Месяц(ТДата) = Месяц(ПерваяДата)) И (Год(ТДата) = Год(ПерваяДата))) Тогда
       
        Элементы.Трудоемкость.ТолькоПросмотр = Истина;
    КонецЕсли;

antoneus

ПерваяДата = Дата(2100, 01, 01);
   
Для Каждого СтрТЧ Из Объект.Трудоемкость Цикл // Выясняем, какая самая ранняя дата есть в табличной части
    ПерваяДата = Мин(ПерваяДата, СтрТЧ.Дата);       
КонецЦикла;
   
ТДата = ТекущаяДата();

Элементы.Трудоемкость.ТолькоПросмотр = ПерваяДата < НачалоМесяца(ТДата) И День(ТДата) >= 3;


не проверял)

Ивашка

Цитата: antoneus от 21 дек 2020, 22:43
ПерваяДата = Дата(2100, 01, 01);
   
Для Каждого СтрТЧ Из Объект.Трудоемкость Цикл // Выясняем, какая самая ранняя дата есть в табличной части
    ПерваяДата = Мин(ПерваяДата, СтрТЧ.Дата);       
КонецЦикла;
   
ТДата = ТекущаяДата();

Элементы.Трудоемкость.ТолькоПросмотр = ПерваяДата < НачалоМесяца(ТДата) И День(ТДата) >= 3;


не проверял)
а можно как-то через условное оформление программно?

antoneus

Добавить в табличную часть реквизита формы Объект колонку с типом булево (как на скрине). При открытии заполнять, в условном оформлении рулить доступностью по значению этого добавленного реквизита.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск