Имя: Пароль:
1C
 
ГраницыЗапретаИзмененияДанных как узнать?
0 igel1969
 
26.05.23
11:23
Здравствуйте!
Мне нужен простой способ узнать ГраницыЗапретаИзмененияДанных для текущего сеанса.
Документа еще нет. Я только собираюсь создать программно несколько документов, но прежде чем это делать, хотелось бы самому проверить на предмет, можно ли в данном сеансе создать документы на конкретную дату, а не ждать, пока 1С даст ошибку при записи документов.

Почитал на форумах (включая этот), там пишут следующее:

СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();

Но это тип данных не "дата", а "соответствие".
Я хочу для начала посмотреть эту дату.
Что бы я ни писал:

Предупреждение(СоответствиеГраницЗапрета.Ключ);
Предупреждение(СоответствиеГраницЗапрета.Значение);
Предупреждение(СоответствиеГраницЗапрета.Дата);
Предупреждение(СоответствиеГраницЗапрета.ДатаЗапрета);

На все выходит ошибка, что  такого реквизита нет.

Если просто написать:
Предупреждение(СоответствиеГраницЗапрета);
то выйдет слово "Соответствие".

А какова структура этого соответствия?
Как мне вытащить конкретную дату?
1 Волшебник
 
26.05.23
11:25
Перебор всех:

Для Каждого эл ИЗ СоответствиеГраницЗапрета Цикл
   Сообщить(эл.Ключ);
   Сообщить(эл.Значение);
КонецЦикла;


Чтобы получить значение по ключу, используйте квадратные скобки:

зн = СоответствиеГраницЗапрета[ключ];
2 DJ Anthon
 
26.05.23
11:26
Это вообще не то. граница запрета не встроена в конфигуратор. она реализована в типовых конфигурациях, а там для этого есть нужные функции. думаю, что вам не стоит туда вмешиваться, обратитесь к спецам.
3 igel1969
 
26.05.23
11:29
(1) спасибо, сработало. причем я затем в другом сеансе поменял дату, а в первом сеансе она осталась старой, что и требовалось.
4 Aleksey
 
26.05.23
11:30
5 igel1969
 
26.05.23
11:32
(2) я не собираюсь никуда вмешиваться. Просто прежде чем пользователь на моей программе нажмет кнопку "создать все необходимые документы" я хочу программно проверить - получится ли у него это. А то очень некрасиво получается - программа делает некие вычисления, пытается создать документы, а пользователю выходит ошибка что невозможно провести такой документ. А поскольку окно открыто в модальном режиме, то пользователь не увидит даже причины отказа, так как фраза про запрет редактирования выходит внизу в служебных сообщениях, а когда окно распахнуто модально, то она не видна.
6 igel1969
 
26.05.23
11:32
всем спасибо тему можно закрывать
7 Волшебник
 
26.05.23
11:33
(5) Могут возникнуть и другие ошибки. Обеспечьте информирование об ошибках