17 июля 2025
1C-RarusTechDay 2025
8-я открытая техническая конференция для специалистов 1С
Зарегистрироваться
1C-RarusTechDay 2025 — 8‑я открытая техническая конференция для специалистов 1С

Настройки запрета редактирования

Декоративное изображение

Для получения доступа к форуму необходимо авторизоваться
или зарегистрироваться на сайте.

Интересующийся
RSS
Дата запрета редактирования установлена 01.07.10.
Для пользователя установлен интервал редактирования 5 дней.
Редактирование документов в закрытом периоде для этого пользователя - ЛОЖЬ.

Вчера выяснил что пользователь может отменять проведенные заказ наряды вне своего интервала редактирования, например 01.09.10.

Какие права установлены неправильно?

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Ошибка, что можно отменять проведение закрытого Заказ-наряда, в запрещенном интервале зарегистрировано под номером С0103683.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Блин. Нельзя ли как-то оперативно, не дожидаясь след. релиза?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Текст изменения опубликуем в этой ветке.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Буду благодарен
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Скажите когда примерно ждать исправления?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
В общем модуле "орОтраслевыеРешения"
Замените две функции:
орПолучитьДатуЗапретаРедактирования() И
орПолучитьИнтервалЗапретаРедактирования()
на предложенные.


Функция орПолучитьДатуЗапретаРедактирования(ЭтотОбъект) Экспорт
Если обПраво("РедактированиеДокументовВЗакрытомПериоде",ЭтотОбъект.Права,,ЭтотОбъект) Тогда
Возврат Дата('00010101');
КонецЕсли;

Если ТипЗнч(ЭтотОбъект)=Тип("ДокументОбъект.УРВ_ПакетРабот") Тогда
//Пакет работ блокируем в закрытом периоде если только он проведен
Если НЕ ЭтотОбъект.Проведен Тогда
Возврат Дата('00010101');
КонецЕсли;

ИначеЕсли ТипЗнч(ЭтотОбъект)=Тип("ДокументОбъект.ЗаказНаАвтомобиль") Тогда
//Если заказ еще не обслужен, то он НЕ блокируется не зависимо от даты запрета редактирования
ОстаткиЗаказаНаАвтомобиль=РегистрыНакопления.ЗаказыАвтомобилей.Остатки(,Новый Структура("Заказ",ЭтотОбъект.Ссылка));
Если ОстаткиЗаказаНаАвтомобиль.Итог("Количество")<>0 ИЛИ
ОстаткиЗаказаНаАвтомобиль.Итог("Резерв")<>0 Тогда
Возврат Дата('00010101');
КонецЕсли;
КонецЕсли;

Возврат обПолучитьПраваИНастройкиПользователя(ЭтотОбъект.Организация,"ДатаЗапретаРедактирования",ЭтотОбъект);
КонецФункции // орПолучитьДатуЗапретаРедактирования()




Функция орПолучитьИнтервалЗапретаРедактирования(ЭтотОбъект, ТекущееВремя=Неопределено) Экспорт

ТекущееВремя = ?(ТекущееВремя=Неопределено, ТекущаяДата(), ТекущееВремя);
ДатаДокумента = ЭтотОбъект.Дата;
СтруктураИнтервалаЗапрета = Новый Структура("НижнГраница, ВерхГраница", ДатаДокумента, ДатаДокумента);

Если обПраво("РедактированиеДокументовВЗакрытомПериоде",ЭтотОбъект.Права,,ЭтотОбъект) Тогда
Возврат СтруктураИнтервалаЗапрета;
КонецЕсли;

Если ТипЗнч(ЭтотОбъект)=Тип("ДокументОбъект.УРВ_ПакетРабот") Тогда
//Пакет работ блокируем в закрытом периоде если только он проведен
Если НЕ ЭтотОбъект.Проведен Тогда
Возврат СтруктураИнтервалаЗапрета;
КонецЕсли;

ИначеЕсли ТипЗнч(ЭтотОбъект)=Тип("ДокументОбъект.ЗаказНаАвтомобиль") Тогда
//Если заказ еще не обслужен, то он НЕ блокируется не зависимо от интервала запрета редактирования
ОстаткиЗаказаНаАвтомобиль=РегистрыНакопления.ЗаказыАвтомобилей.Остатки(,Новый Структура("Заказ",ЭтотОбъект.Ссылка));
Если ОстаткиЗаказаНаАвтомобиль.Итог("Количество")<>0 ИЛИ
ОстаткиЗаказаНаАвтомобиль.Итог("Резерв")<>0 Тогда
Возврат СтруктураИнтервалаЗапрета;
КонецЕсли;
КонецЕсли;

Если обПраво("РедактироватьВЗаданномИнтервале", ЭтотОбъект.Права,,ЭтотОбъект) Тогда
СтруктураИнтервалаЗапрета.Вставить("НижнГраница", НачалоДня(ТекущееВремя-обПраво("ДнейМеньше",ЭтотОбъект.Права,,ЭтотОбъект)*86400));
СтруктураИнтервалаЗапрета.Вставить("ВерхГраница", КонецДня(ТекущееВремя+обПраво("ДнейБольше",ЭтотОбъект.Права,,ЭтотОбъект)*86400));
КонецЕсли;

Возврат СтруктураИнтервалаЗапрета;

КонецФункции // орПолучитьИнтервалЗапретаРедактирования()
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
При этом все открытые заказ-наряды будут доступны для проведения в периоде установленном в "интервале редактирования"?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Все не проведенные документы не только Заказ-наряды доступны к проведению, если они конечно только записаны.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Спасибо!
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Ошибка исправлена, исправления появятся в 19 релизе.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Пользователь ПП
Может стоит по аналогии с документом УРВ_ПакетРабот не блокировать в закрытом периоде непроведенные (т.е. незакрытые) заказ-наряды?

Код
   ИначеЕсли ТипЗнч(ЭтотОбъект)=Тип("ДокументОбъект.ЗаказНаряд") Тогда
      //ЗаказНаряд блокируем в закрытом периоде если только он проведен (закрыт)
      Если НЕ ЭтотОбъект.Проведен Тогда
         Возврат Дата('00010101');
      КонецЕсли; 


Такая доработка может чем-нибудь навредить?
Еще нашим пользователям очень не нравится, что блокируются счета на оплату - они то ни на что не влияют.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Пользователь ПП
Есть ли возможность, чтобы изменение даты запрета редактирования делал ответственный пользователь (не администратор)?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Отдельного права на редактирование в закрытом периоде нет.
Как указано можно прописывать исключения для определенных документов (или отключать контроль для пользователей с ролью администратора например).
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С