![]() |
|
Дата запрета редактирования документов | ☑ | ||
---|---|---|---|---|
0
igel1969
16.03.21
✎
21:56
|
Здравствуйте!
1С 8.3, УТ 10.3 сильно переписанная Несколько месяцев назад создал в конфигурации два документа, достаточно простых. Сам момент создания уже не помню, но сегодня пересмотрел все свойства обоих документов - никакой разницы, кроме реквизитов и ТЧ. Сами документы создавались по ночам с помощью регламентного задания, проведение не требовалось. Сегодня на каждый документ создал по регистру накопления. Соответственно у документов создал процедуры ОбработкаПроведения в Модуле Объекта. Также перепроверил оба регистра накопления - никакой разницы, кроме измерений. Решил провести документы и тут выяснилось, что один документ не обращает внимания на дату запрета и спокойно дает проводить на любую дату, а другой документ дает проводить только в пределах разрешенного периода, т.е. после даты запрета изменения. Сделал глобальный поиск по всем модулям - нигде эти документы не встречаются. Проверил как тут советовали Подписку на события ПередЗаписьюДокументаДатаЗапретаРедактирования - там в качестве Источника стоит просто ДокументОбъект, а не какме-то конкретные документы, значит оба должны попадать под эту подписку. Прям мистика какая-то. Где еще можно посмотреть? Мне надо чтобы оба документа можно было редактировать, не глядя на дату запрета. Я, конечно, могу покопать тут по форумам как это сделать, я видел тут советы как переписать модули для этого. Но дело в том, что для того документа который уже не реагирует на дату запрета я ничего не переписывал. Почему же второй не дает проводится???? |
|||
1
m1_1976
16.03.21
✎
22:30
|
там внутри такие проверки могут быть
ПараметрыПроверкиДокумента.Вставить("ЕстьОрганизация", (МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено)); ПараметрыПроверкиДокумента.Вставить("ЕстьУправленческийУчет", (МетаданныеДокумента.Реквизиты.Найти("ОтражатьВУправленческомУчете") <> Неопределено)); ПараметрыПроверкиДокумента.Вставить("ЕстьБухгалтерскийУчет", (МетаданныеДокумента.Реквизиты.Найти("ОтражатьВБухгалтерскомУчете") <> Неопределено)); если у документа нет таких реквизитов - он не проверятеся на дату запрета |
|||
2
igel1969
16.03.21
✎
22:52
|
(1) Я это смотрел. Очень странная ситуация - в том документе, который позволяет проводить этот реквизит есть и он - ссылка на Справочник Организации
А вот в том документе, который нельзя провести из-за даты запрета, реквизит с таким наименованием тоже есть, но это уже ссылка на Справочник Контрагенты (мне так надо было). Вообще не вижу логики, но неужели в этом дело??? А ОтражатьВУправленческомУчете и ОтражатьВБухгалтерскомУчете нет у обоих документов |
|||
3
m1_1976
16.03.21
✎
23:10
|
(2) Ну тогда отладчик в руки и лови в этой процедуре. Она небольшая...
|
|||
4
Serg_1960
17.03.21
✎
00:25
|
(2) "реквизит с таким наименованием тоже есть, но это уже ссылка на Справочник Контрагенты (мне так надо было)" - обнаружив что есть реквизит Организация, конфигурация ищет дату запрета для этой "организации", не находит и вежливо посылает автора-создателя реквизита "Организация" с типом "Справочник.Контрагенты"...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |