|
Как провести программно документ в закрытом периоде? | ☑ | ||
---|---|---|---|---|
0
Saari
31.01.23
✎
10:46
|
В конфигурации 1С:УТ 10.3 есть документ "Поступление товаров и услуг", в табличной части которого есть строки с заполненной колонкой "Заказ" (документы "Внутренний заказ").
Дата документа "Поступление товаров и услуг" - 20.01.2023, дата документа "Внутренний заказ" - 14.09.2022. При проведении документа "Поступление товаров и услуг" выполняется процедура, которая вносит некоторые изменения в документ "Внутренний заказ" из таб. части документа поступления. У пользователя установлена дата запрета изменения данных - 31.12.2022. И программа ругается - не может внести изменения в закрытом периоде. Что логично. В процедуре внесения изменения в документ "Внутренний заказ" я написал: ТекВЗОбъект.ОбменДанными.Загрузка = Истина; ТекВЗОбъект.Записать(?(ТекВЗОбъект.Проведен, РежимЗаписиДокумента.Проведение, РежимЗаписиДокумента.Запись), ); Получаю сообщение об ошибке: "Действие не может выполняться в режиме загрузки данных" Как сделать так, чтобы пользователь мог программно вносить изменения в документ и проводить его, находящийся в закрытом периоде? |
|||
1
Волшебник
модератор
31.01.23
✎
10:51
|
Нужно временно установить привилегированный режим или провести от имени администратора
|
|||
2
Волшебник
модератор
31.01.23
✎
10:53
|
Ещё можно разделить даты запрета редактирования - для бухгалтерских проводок одна, для заказов другая
|
|||
3
Saari
31.01.23
✎
10:54
|
(1) (2) подскажите, пожалуйста, как это сделать?
|
|||
4
OldCondom
31.01.23
✎
10:58
|
ОтключитьПроверкуДатЗапрета
В текущем сеансе отключает и включает проверку дат запрета изменения и загрузки данных. Требуется для реализации специальной логики работы и ускорения пакетной обработки данных при записи объекта или набора записей, когда признак ОбменДанными.Загрузка не установлен. Для использования требуются полные права или привилегированный режим. Рекомендуется: - массовой загрузке данных из файла (если данные не попадают в запрещенный период); - массовой загрузке данных при обмене данными (если данные не попадают в запрещенный период); - в случае, когда требуется отключить проверку дат запрета не для одного объекта, путем вставки свойства ПропуститьПроверкуЗапретаИзменения в ДополнительныеСвойства объекта, а для всех объектов, которые будут записываться в рамках записи этого объекта. |
|||
5
Saari
31.01.23
✎
13:52
|
(1) Установил Привилегированный режим: УстановитьПривилегированныйРежим(Истина);
А он не устанавливается. Почему? УТ 10.3 обычные формы. База - клиент-сервер. |
|||
6
OldCondom
31.01.23
✎
13:54
|
безопасный режим
|
|||
7
Saari
31.01.23
✎
13:56
|
(6) как его отключить на время проведения?
|
|||
8
Saari
31.01.23
✎
14:07
|
(4) еще пробовал так:
ТекВЗОбъект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения", Истина); не помогает... |
|||
9
Сергиус
31.01.23
✎
14:32
|
(0)А спросить разрешения у старших?)
|
|||
10
PLUT
31.01.23
✎
14:37
|
(0) на копии отключить все запреты, под полными правами админа перепровести, сравнить документы и движения копии с продуктивной базой. много думать...
так то можно по отдельности и документы и регистры накоплерния и бюстгалтерии редактировать в закрытых периодах. нужно только ч0тко понимать - что именно и где изменить. даже в Журнале регистрации следов не останется :) и эта, спроси благословления у старших, чтобы потом не было мучительно больно :))) |
|||
11
Saari
31.01.23
✎
14:49
|
(9) (10) старшие дали задание отключить проверку. Тренируюсь на копии.
И все же... как отключить проверку на даты запрета при проведении? |
|||
12
OldCondom
31.01.23
✎
14:55
|
(7) для начала выясни, что это. Через обработку пытаешься все провернуть?
|
|||
13
Saari
31.01.23
✎
14:57
|
(12) нет.
В модуле документа Поступление товаров сделал процедуру, в которой провожу другие документы (из закрытого периода) (все это описал в (0)). |
|||
14
Saari
31.01.23
✎
15:51
|
Сделал!
|
|||
15
Saari
31.01.23
✎
15:55
|
В модуле объекта документа Поступление товаров:
ТекВЗОбъект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения", Истина); ТекВЗОбъект.Записать( ); В общем модуле "НастройкаПравДоступа": в начале процедуры "ПередЗаписьюРегистраДатаЗапретаРедактированияПередЗаписью(Источник, Отказ, Замещение)" написал: Если Источник.ДополнительныеСвойства.Свойство("ПропуститьПроверкуЗапретаИзменения") Тогда Возврат; КонецЕсли; в начале процедуры "ПроверкаПериодаДокумента(ДокументОбъект, Отказ, РежимЗаписи = Неопределено)" написал: Если ДокументОбъект.ДополнительныеСвойства.Свойство("ПропуститьПроверкуЗапретаИзменения") Тогда Возврат; КонецЕсли; Работает. Всем спасибо! |
|||
16
OldCondom
31.01.23
✎
16:01
|
В общем модуле "НастройкаПравДоступа"
Это же БСПшный модуль, да? |
|||
17
Saari
31.01.23
✎
16:06
|
(16) Я не выяснял, является ли этот модуль БСПшным.
Предполагаю, что в этом модуле находятся процедуры из подписок на события. Модуль находится в конфигурации 1С:УТ 10.3. |
|||
18
OldCondom
31.01.23
✎
16:08
|
(17) а зря. Потому как если БСПшый, то есть интерфейс взаимодействия(пример в (4)), а лезть туда с изменениями плохая идея. Но, дело ваше.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |