Имя: Пароль:
1C
1С v8
Программно получить границу запрета изменения бух 2.0
0 PaulMuller
 
22.01.19
13:36
Хочу реализовать при обмене с утп 1.2 на бух 2.0 отказ при загрузке документа, если дата его создания меньше или равно дате запрета изменения данных установленной на Бухгалтерии 2.0. Столкнулся с проблемой, не могу узнать эту границу программно в бух 2.0. На утп 1.2 есть константа которая хранит это значение к которой можно обратиться, а еще можно из параметров сеанса узнать, но если говорить о бух 2.0 то там эти значения хранятся в регистре сведений ДатыЗапретаИзменения.

Нашел механизм который переводит форму документа в ТолькоЧтение внутри самой бух 2.0, он обращается к общему модулю ДатыЗапретаИзменения и там в итоге использует функцию

НайденЗапретИзмененияДанных(Знач ДанныеДляПроверки,Знач СообщитьОЗапрете,Знач ИдентификаторДанных  = Неопределено,Знач СтандартнаяОбработка = Истина,Знач УзелПланаОбмена      = Неопределено, НайденныеЗапреты  = Неопределено)

где

Параметры:
//  ДанныеДляПроверки    - ТаблицаЗначений - возвращается функцией
//                         ШаблонДанныхДляПроверки общего модуля ДатыЗапретаИзменения.
//
//  СообщитьОЗапрете     - Булево - если истина, будет выведено сообщение
//                         о найденных запретах при проверке данных.
//
//  ИдентификаторДанных  - Ссылка - на объект данных для получения представления,
//                         используемого в сообщении о запрете.
//
//  СтандартнаяОбработка - Булево - если Ложь, проверка запрета изменения (для пользователей)
//                         будет пропущена.
//
//  УзелПланаОбмена      - Неопределено, ПланыОбменаСсылка.<Имя плана обмена> -
//                         если задать узел будет выполнена проверка запрета загрузки.
//
//  НайденныеЗапреты     - Структура - возвращаемое значение.
//                         Если найден запрет изменения данных, значит есть
//                         свойство НайденЗапретИзмененияДанных, если найден запрет
//                         загрузки данных, значит есть свойство НайденЗапретЗагрузкиДанных.
//
// Возвращаемое значение:
//  Булево - если Истина, значит найден хотя бы один запрет изменения.

Вот только я не знаю как ее грамотно использовать в обработчике ПослеЗагрузки в конвертации (кд 2.0).

Может есть еще какие-то способы получить дату запрета програмно? Или другие механизмы реализации отказа обмена документа при выходе за границу установленную в бух 2.0? (менять и править бух 2.0 возможности нет)
1 Beduin
 
22.01.19
13:39
(0) Из регистра сведений датызапрета забрать
2 PaulMuller
 
22.01.19
14:05
Зря поднимал кипишь. тот случай когда задал вопрос и сразу на него нашел ответ)

Если кому нужно

В обработчике ПослеЗагрузки документа который должен реагировать на эту границу вызываю алгоритм

Выполнить(Алгоритмы.РеакцияНаГраницуЗапретаИзмененияДанных)

Сам алгоритм:

Если ДатыЗапретаИзменения.ИзменениеЗапрещено(Объект, Ссылка) Тогда    
    Отказ = Истина;
КонецЕсли;

Параметры алгоритма: Объект, Ссылка

Выставлена галочка Использовать при загрузке.