|   |   | 
| 
 | Дата запрета редактирования документов | ☑ | ||
|---|---|---|---|---|
| 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) "реквизит с таким наименованием тоже есть, но это уже ссылка на Справочник Контрагенты (мне так надо было)" - обнаружив что есть реквизит Организация, конфигурация ищет дату запрета для этой "организации", не находит и вежливо посылает автора-создателя реквизита "Организация" с типом "Справочник.Контрагенты"...     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |