|
Дата запрета редактирования в УТ11 | ☑ | ||
---|---|---|---|---|
0
Чел
30.03.12
✎
13:18
|
в УТ 11.0.7.21 нашел подписку на событие ПроверитьДатуЗапретаПередЗаписьюДокумента, которая вызывает проверку на дату запрета редактирования. Но в эту подписку включены только кассовые и банковские документы. А как с остальными документами? В одном общем модуле есть процедура:
// Обработчик подписки на событие ПередЗаписью для типов: // СправочникОбъект // ПланВидовХарактеристикОбъект // ПланСчетовОбъект // ПланВидовРасчетаОбъект // БизнесПроцессОбъект // ЗадачаОбъект // ПланОбменаОбъект // Процедура ПроверитьДатуЗапретаИзмененияПередЗаписью(Источник, Отказ) Экспорт СтандартнаяОбработка = Истина; УзелПланаОбмена = Неопределено; СообщитьОЗапрете = Истина; // Если ПропуститьПроверкуЗапретаИзменения(Источник, СтандартнаяОбработка, УзелПланаОбмена, СообщитьОЗапрете) Тогда Возврат; КонецЕсли; Если Источник.ЭтоНовый() Тогда Если ИзменениеЗапрещено(Источник, , СообщитьОЗапрете, СтандартнаяОбработка, УзелПланаОбмена) Тогда Отказ = Истина; КонецЕсли; Иначе Если ИзменениеЗапрещено(Источник, Источник.Ссылка, СообщитьОЗапрете, СтандартнаяОбработка, УзелПланаОбмена) Тогда Отказ = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры Из комментария предполагается, что должна быть подписка на событие при записи практически всех объектов системы, в которой бы вызывалась эта процедура... Я что-то не понимаю? |
|||
1
Maxus43
30.03.12
✎
13:24
|
в доках пишут, ПриОткрытии
Если НЕ ЭтоНовый() Тогда НастройкаПравДоступа.ОпределитьДоступностьВозможностьИзмененияДокументаПоДатеЗапрета(ДокументОбъект, ЭтаФорма); КонецЕсли; |
|||
2
Чел
30.03.12
✎
13:30
|
(1) Речь идет о типовой УТ 11.0.7.21.
Там даже общего модуля НастройкаПравДоступа нет. |
|||
3
Maxus43
30.03.12
✎
13:31
|
(2) это я для примера где может быть проверка ещё, посмотри в ПриОткрытии
|
|||
4
Чел
30.03.12
✎
13:34
|
(3) облазил все формы. Искал по всей конфигурации вызов процедур ПроверитьДатуЗапретаИзмененияПередЗаписью(Источник, Отказ) Экспорт
ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт и т.п. - ничего нет. А самое хреновое, что реально дата запрета установлена, но любой менеджер открывает любой документ акт или заказ и спокойно меняет. Очередная недоработка конфигурации? |
|||
5
Maxus43
30.03.12
✎
13:35
|
а проведённые тоже меняются?
|
|||
6
Maxus43
30.03.12
✎
13:36
|
дата запрета и на регистры смотрит
|
|||
7
Чел
30.03.12
✎
13:39
|
(5), (6) проведенные тоже меняются. В модулях набора записей регистров выборочно смотрел. Ничего нет. Да и глупо это, имея объект ПодпискаНаСобытие вставлять проверки в самих объектах...
Короче, походу, самому допиливать >=( |
|||
8
Maxus43
30.03.12
✎
13:40
|
(7) в УПП подписки на запись регистров идут, не только на доки. я думал может в УТ тоже)
|
|||
9
sanja26
30.03.12
✎
13:44
|
// Выполняет проверку механизма дат запрета изменения для объекта.
// Процедура используется для проверки объекта без открытия транзакции записи. // // Параметры: // Источник – объект, для которого необходимо выполнить проверку. Может быть следующих типов: // СправочникОбъект // ПланВидовХарактеристикОбъект // ПланСчетовОбъект // ПланВидовРасчетаОбъект // БизнесПроцессОбъект // ЗадачаОбъект // ПланОбменаОбъект // ДокументОбъект // РегистрСведенийНаборЗаписей // РегистрНакопленияНаборЗаписей // РегистрБухгалтерииНаборЗаписей // РегистрРасчетаНаборЗаписей // // Отказ – Булево – флаг отказа; Истина – объект не проходит проверки дат запрета изменения; Ложь – проходит. // Процедура ВыполнитьПроверкуДатыЗапретаИзменения(Источник, Отказ) Экспорт ОбъектМетаданных = Источник.Метаданные(); ИсточникиДанных = ДатыЗапретаИзмененияПовтИсп.ИсточникиДанныхДляПроверкиЗапретаИзменения().НайтиСтроки(Новый Структура("Таблица", ОбъектМетаданных.ПолноеИмя())); Если ИсточникиДанных.Количество() = 0 Тогда Возврат; // для текущего типа объекта не определены запреты по датам КонецЕсли; ИмяБазовогоТипа = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных(ОбъектМетаданных); Если ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаСправочники() ИЛИ ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаПланыВидовХарактеристик() ИЛИ ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаПланыСчетов() ИЛИ ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаПланыВидовРасчета() ИЛИ ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаБизнесПроцессы() ИЛИ ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаЗадачи() ИЛИ ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаПланыОбмена() Тогда ПроверитьДатуЗапретаИзмененияПередЗаписью(Источник, Отказ); ИначеЕсли ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаДокументы() Тогда ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, Неопределено, Неопределено); ИначеЕсли ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаРегистрыСведений() ИЛИ ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаРегистрыНакопления() Тогда ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписей(Источник, Отказ, Истина); ИначеЕсли ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаРегистрыБухгалтерии() Тогда ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписейРегистраБухгалтерии(Источник, Отказ, Неопределено); ИначеЕсли ИмяБазовогоТипа = ОбщегоНазначения.ИмяТипаРегистрыРасчета() Тогда ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписейРегистраРасчета(Источник, Отказ, Истина, Неопределено, Неопределено, Неопределено); КонецЕсли; КонецПроцедуры |
|||
10
sanja26
30.03.12
✎
13:46
|
Хотя конечно рядом ))))
// Вызывается из переопределяемого модуля Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(Знач ИсточникиДанных) Экспорт // Данные(Таблица, ПолеДаты, Раздел, ПолеОбъекта) ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ВыпискаПоРасчетномуСчету", "Дата", "Банк", "БанковскийСчет"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ПоступлениеБезналичныхДенежныхСредств", "Дата", "Банк", "БанковскийСчет"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.СписаниеБезналичныхДенежныхСредств", "Дата", "Банк", "БанковскийСчет"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ОперацияПоПлатежнойКарте", "Дата", "Касса", "Касса"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ОтчетБанкаПоОперациямЭквайринга", "Дата", "Банк", "ДоговорЭквайринга.БанковскийСчет"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.КассоваяКнига", "Дата", "Касса", "Документы.Документ.Касса"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ПриходныйКассовыйОрдер", "Дата", "Касса", "Касса"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.РасходныйКассовыйОрдер", "Дата", "Касса", "Касса"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ОтчетОРозничныхПродажах", "Дата", "РозничныеПродажи", "КассаККМ"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ВнесениеДенежныхСредствВКассуККМ", "Дата", "РозничныеПродажи", "КассаККМ"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ВыемкаДенежныхСредствИзКассыККМ", "Дата", "РозничныеПродажи", "КассаККМ"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.КассоваяСмена", "Дата", "РозничныеПродажи", "КассаККМ"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ЧекККМВозврат", "Дата", "РозничныеПродажи", "КассаККМ"); ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ЧекККМ", "Дата", "РозничныеПродажи", "КассаККМ"); КонецПроцедуры |
|||
11
Чел
30.03.12
✎
13:48
|
(7) эх.... в 11ой еще оооочень много чего нет =) Загрузки классификатора банков с сайта rbc.ru нет! А ты говоришь! ))))
(9) и..?? И откуда она вызывается? из модуля обмена данными! И всё.. |
|||
12
Чел
30.03.12
✎
13:50
|
(10) ну да... тут те же самые банковские и кассовые документы... =))))
|
|||
13
sanja26
30.03.12
✎
13:56
|
и правда нет запрета на редактирование. постпление перепровелось без всяких затыков
|
|||
14
BabySG
30.03.12
✎
13:58
|
Документацию, как обычно, никто не читает
Полная дата запрета реализована только в 11.0.8 |
|||
15
Чел
30.03.12
✎
14:30
|
(14) спасибо =)
Как раз и загрузка с сайта rbc сделали )) только ориентировочная дата выхода 28.04.2012 (( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |