Имя: Пароль:
1C
1С v8
Можно ли сделать игнорирование закрытого периода при редактировании документов в коде?
, ,
0 Alexs_set
 
07.05.21
13:06
Добрый день. Направьте,пожалуйста, куда копать в данном вопросе?
1 ДенисЧ
 
07.05.21
13:15
Можно.
Посмотреть, на что эре^W реагирует запрет (в типовых есть варианты обхода) и создать такую ситуацию программно
2 shuhard
 
07.05.21
13:26
(0) дык в общем модуле и сделай через доп.параметры документа
3 Фрэнки
 
07.05.21
13:33
Можно!

Способ обхода зависит от используемого способа запрета. Могут быть отличия из-за разных конфигураций.
Например, в конфигурации БП 2.0 прямо на уровне настроек использования Даты запрета есть готовый флаг для Полных прав, т.е. распространяется дата запрета на полные права у пользователя или нет.
4 Kassern
 
07.05.21
13:36
(3) наверное ТС имеет в виду, мол чтоб не давало записывать док в пользовательском режиме, но давало программно под одним и тем же юзвером
5 Alexs_set
 
07.05.21
13:54
Конфигурация УТ 11.4. Есть внешняя обработка, которая создает программно документы за прошлые периоды. Так вот, если дата запрета стоит у пользователя -  то ругается и не дает создать документ. Какие варианты есть обхода, кроме как открывать - закрывать период программно?
6 Alexs_set
 
07.05.21
13:57
shuhard Можно по подробнее? или примерчик какой? не раз не сталкивался - вообще не понимаю как :(
7 Вафель
 
07.05.21
13:58
Можно отключить в параметра сеанса.
Глянь обработчик подписки
8 ДенисЧ
 
07.05.21
14:06
Бухгалтер старается... Закрывает месяцы, сдаёт отчётность... А потом приходит пользователь и начинает лупить документы в закрытых периодах...
Костра не боитесь?
9 pechkin
 
07.05.21
14:41

ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Отключить)
10 Lama12
 
07.05.21
15:16
(0) ОбменДанными.Загрузка = Истина. Но это очень жестоко, и в некоторых отраслевых может не сработать.
11 shuhard
 
07.05.21
15:19
(5) за такое руки отрывают
12 Lama12
 
07.05.21
15:27
(5) И как ты потом будешь отличать какие документы пользователь сделал вручную, а какие обработкой? А если это документы приобретения или реализации? Может тогда проще отказаться от закрытия периода?
13 Фрэнки
 
07.05.21
15:28
Как уже успел очень лаконично подсказать Печкин, в УТ 11 есть общий модуль ДатыЗапретаИзменения
Прямо в нем есть разъяснения для погромистов :-) - их рекомендуется прочесть и станет всё понятно

например, прямо там в тексте модуля указан наиболее короткий способ (только я не проверял нужны будут привилегии или нет)
//   ... для одного объекта,
//   путем вставки свойства ПропуститьПроверкуЗапретаИзменения в ДополнительныеСвойства объекта
14 SleepyHead
 
гуру
07.05.21
16:24
(10) Это не работает при программном перепроведении документа. В ЗУП точно не работает, на этом я лично набил шишку. Правильный метод в (9).
15 Lama12
 
07.05.21
16:25
(14) Ну ЗУПовцы еще те извращенцы, не удивляет что они не используют рекомендации от 1С. Интересно как у них распределенка работает, с таким подходом?
16 SleepyHead
 
гуру
07.05.21
16:27
(15) Не знаю, я считаю, что распределенка в ЗУП - само по себе то еще извращение.
17 Фрэнки
 
07.05.21
16:38
(15) В смысле, как работает? Распределенка в ЗУП - отдельные Организации в разных базах и всё. Других работоспособных распределенок в ЗУП не приходилось видеть
18 Lama12
 
07.05.21
17:22
(17) Если в документах нет заглушки "ОбменДанными.Загрузка = Истина", то при записи и перед записью и после записи будет отрабатывать при обмене. При разных состояниях НСИ, результаты таких "записей" будут непредсказуемыми.
19 Фрэнки
 
07.05.21
17:29
(18) есть там эти заглушки. Одних таких заглушек не достаточно, чтоб нормально обрабатывать документы.
Там более сложные условия накрутили как раз под использование обменов между базами.
Причем, не только ЗУП-ЗУП, а из него куда-то еще (в БП, например) и обратно
20 mistеr
 
07.05.21
17:32
(5) Обработка наверное не часто будет использоваться? Можно и под особым юзаром зайти (которому больше ничего нельзя).
21 Cthulhu
 
07.05.21
18:22
<Объект>.ОбменДанными.Загрузка = Истина;
22 Cthulhu
 
07.05.21
18:22
и уже потом - оторвать ему руки.