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

1. palmyra2016 14.10.20 17:31 Сейчас в теме
Ребят подскажите программно как получить дату запрета реадктирования для текущего пользователя в сеансе? 8.3
По теме из базы знаний
Найденные решения
3. m_nazar 15.10.20 09:43 Сейчас в теме
Если получать дату запрета запросом то она будет текущая на данный момент, а в сеансе может быть еще до изменения. Для УТП дату из сеанса:
СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
ГраницаПоОрганизации = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];
palmyra2016; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. m_nazar 15.10.20 09:43 Сейчас в теме
Если получать дату запрета запросом то она будет текущая на данный момент, а в сеансе может быть еще до изменения. Для УТП дату из сеанса:
СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
ГраницаПоОрганизации = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];
palmyra2016; +1 Ответить
4. palmyra2016 15.10.20 11:45 Сейчас в теме
(3)
СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];

Спасибо, удалось получить дату, а к примеру для текущего пользователя сеанса как ее получить?
5. m_nazar 15.10.20 11:52 Сейчас в теме
Смотрите отладчиком соответствие. А меня так:
ДатаЗапретаРедактирования = СоответствиеГраницЗапрета[Справочники.Организации.ПустаяСсылка()]; //по пользователю упр
	    ДатаЗапретаРедактирования = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"]; //общая упр
6. palmyra2016 15.10.20 13:57 Сейчас в теме
(5)Для текущего пользователя делаю вот так:

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

Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
ДатаЗапретаРедактированияПользователя = СоответствиеГраницЗапрета[Пользователь];

По отладке пусто, что я неправильно делаю?
7. FatPanzer 15.10.20 14:00 Сейчас в теме
(6) Если пусто, значит действует общая дата запрета.
8. palmyra2016 15.10.20 14:01 Сейчас в теме
(7)
) Если пусто, значит действует общая дата запрета.

Но прописана другая дата именно для текущего пользователя. общая к примеру 31.08.20 а для пользователя 01.08.20
14. FatPanzer 15.10.20 14:39 Сейчас в теме
(6)
Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь();

Надо использовать пользователя справочника "Пользователи", а не пользователя ИБ...
Пользователь = ПараметрыСеанса.ТекущийПользователь;
или
ДатаЗапретаРедактированияПользователя = СоответствиеГраницЗапрета[ПараметрыСеанса.ТекущийПользователь];
9. m_nazar 15.10.20 14:01 Сейчас в теме
смотрите отладчиком что есть в СоответствиеГраницЗапрета. Там данные уже по текущему пользователю
Прикрепленные файлы:
10. palmyra2016 15.10.20 14:10 Сейчас в теме
11. m_nazar 15.10.20 14:20 Сейчас в теме
(10) Быть такого не может! Вы же получили СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"]. У вас в соответствии только одно значение?
12. palmyra2016 15.10.20 14:26 Сейчас в теме
(11)Так он и выдает общую 31.08.20

а СоответствиеГраницЗапрета[Пользователь]; пусто
13. m_nazar 15.10.20 14:36 Сейчас в теме
1. В конфигураторе поставте точку останова после строки СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
2. Выделить "СоответствиеГраницЗапрета" и Shift+F9
3. Выбрать СоответствиеГраницЗапрета и F2
4. Скриншот в студию.
15. insurgut 207 09.01.22 21:52 Сейчас в теме
Для документа (на примере документа реализации, которая проводится автоматически на основании своего документа):

Результат = ДатыЗапретаИзмененияСлужебный.ПроверитьДатыЗапретаИзмененияЗагрузкиДанных(РеализацияОбъект, Ложь, Истина, Ложь);
		
Если Не Результат.ИзменениеЗапрещено Тогда
	РеализацияОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Иначе
ххх
КонецЕсли;
16. BBAlien 1 19.12.23 14:54 Сейчас в теме
в ЕРП
Запрос = Новый Запрос(
	    "ВЫБРАТЬ
	    |	ДатыЗапретаИзменения.ДатаЗапрета КАК ДатаЗапрета,
	    |	ДатыЗапретаИзменения.Пользователь КАК Пользователь,
	    |	ДатыЗапретаИзменения.Пользователь.ИдентификаторПользователяИБ КАК ПользовательИдентификаторПользователяИБ,
	    |	ДатыЗапретаИзменения.Пользователь.Предопределенный КАК ПользовательПредопределенный
	    |ПОМЕСТИТЬ ВременнаяТаблица
	    |ИЗ
	    |	РегистрСведений.ДатыЗапретаИзменения КАК ДатыЗапретаИзменения
	    |;
	    |
	    |////////////////////////////////////////////////////////////­////////////////////
	    |ВЫБРАТЬ
	    |	ВременнаяТаблица.ДатаЗапрета КАК ДатаЗапрета,
	    |	ВременнаяТаблица.Пользователь КАК Пользователь
	    |ПОМЕСТИТЬ ВТ_ДатаБезГруппировки
	    |ИЗ
	    |	ВременнаяТаблица КАК ВременнаяТаблица
	    |ГДЕ
	    |	ВременнаяТаблица.ПользовательИдентификаторПользователяИБ ЕСТЬ NULL
	    |	И ВременнаяТаблица.ПользовательПредопределенный ЕСТЬ NULL
	    |
	    |ОБЪЕДИНИТЬ ВСЕ
	    |
	    |ВЫБРАТЬ
	    |	ВременнаяТаблица.ДатаЗапрета,
	    |	ВременнаяТаблица.Пользователь
	    |ИЗ
	    |	ВременнаяТаблица КАК ВременнаяТаблица
	    |ГДЕ
	    |	ВременнаяТаблица.Пользователь = &Пользователь
	    |;
	    |
	    |////////////////////////////////////////////////////////////­////////////////////
	    |ВЫБРАТЬ
	    |	МАКСИМУМ(ВТ_ДатаБезГруппировки.ДатаЗапрета) КАК ДатаЗапрета
	    |ИЗ
	    |	ВТ_ДатаБезГруппировки КАК ВТ_ДатаБезГруппировки"
	    ); 
		Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь.Ссылка); 
	    Выборка = Запрос.Выполнить().Выбрать();
	    Если Выборка.Следующий() Тогда
	        ДатаЗапретаРедактированияПользователя = Выборка.ДатаЗапрета;
	    Иначе
	        ДатаЗапретаРедактированияПользователя = Дата(1999, 1, 1);
	    КонецЕсли;
Показать
-null-; SlavaVNL; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот