Имя: Пароль:
1C
1C 7.7
v7: УстановитьИнтервал() в журнале документов.
0 1C_noob_1C
 
27.05.14
12:55
Доброго времени суток.

Задача стоит в ограничении установки интервала дат пользователями в журнале. Пытаюсь делать так:

Процедура ПриУстановкеИнтервала(ДатаНач, ДатаКон)

  Если НазваниеНабораПрав() = "Пользователь" Тогда
    УстановитьИнтервал(НоваяДатаНач, НоваяДатаКон);
  КонецЕсли;

КонецПроцедуры // ПриУстановкеИнтервала

Не работает. Но при открытии УстановитьИнтервал() срабатывает.
Подскажите, что я делаю не так или изначально это не реализуемо?
1 ivsher
 
27.05.14
13:38
При открытии формы журнала устанавливайте какие вам надо даты.
2 1C_noob_1C
 
27.05.14
13:56
(1)
В том-то и вопрос...
Хочу сделать, чтобы пользователи не могли открыть период в журнале например позже определенного числа.
3 1C_noob_1C
 
27.05.14
13:58
(1)
Можно сделать УстановитьИнтервал(НоваяДатаНач, НоваяДатаКон, 0) при открытии, тем самым открыть сразу максимально доступный период и запретить изменение интервала.
Но не совсем "удобно" выходит.
4 1C_noob_1C
 
27.05.14
14:31
Пытаюсь найти способ реагировать на интерактивное изменение периода пользователем. И если он указал недопустимый интервал, то рассказывать об этом и устанавливать нужный период.
5 ivsher
 
27.05.14
14:45
УстановитьИнтервал(<?>,,);
Синтаксис:
УстановитьИнтервал(<ДатаНач>,<ДатаКон>,<ФлагИзменения>)
Назначение:
Установить интервал журнала.
Параметры:
<ДатаНач> - дата начала интервала журнала;
<ДатаКон> - дата конца интервала журнала.
<ФлагИзменения> - необязательный параметр. Этим флагом регулируется возможность интерактивного изменения интервала журнала. 1 - пользователь может изменить интервал журнала интерактивно, 0 - пользователь не может интерактивно изменить интервал журнала.
Замечание:
Метод доступен только в контексте Модуля формы журнала.

Установите какой вам надо интервал при открытии и запретите пользователю его менять с помощью флага.
6 1C_noob_1C
 
27.05.14
14:55
(5) Интересный момент, что УстановитьИнтервал() не срабатывает в ПриУстановкеИнтервала(), а прекрасно работает в ПриОткрытии() и ПриУстановкеОтбора().
7 1C_noob_1C
 
27.05.14
15:00
Пока выход вижу такой:
- при открытии устанавливать максимальный интервал журнала (как предложил ivsher);  
- в ПриУстановкеИнтервала(), если период недопустим, то предупреждение пользователю и СтатусВозврата(0).
8 ivsher
 
27.05.14
15:04
Возможно (6) можно победить через ложное закрытие. Правда сам никогда таким приемом не пользовался :). Поэтому поможет или нет, утверждать не могу.