Цитата: Djelf от 05 сентября 2025, 14:52ПриЗаписи не перехватывается, на 1с++ это неоднократно обсуждали.Точности ради: у wirth'а в V7Crypt всё перехватывается, у меня используется
И так в чем суть. Помимо стандартных предопределений: «ОбработкаПроведения»
и «ОбработкаУдаленияПроведения», в модуле документа теперь можно определить
дополнительные процедуры для обработки событий:
"ПриЗаписи" или "OnWrite";
"ПередПроведением" или "BeforePosting";
"ПослеПроведения" или "AfterPosting";
"ПередУдалениемПроведения" или "BeforeUnposting";
"ПослеУдаленияПроведения" или "AfterUnposting";
"ПередУдалением" или "BeforeDelete";
"ПослеУдаления" или "AfterDelete";
"ПередОтменойУдаления" или "BeforeUnDelete";
"ПослеОтменыУдаления" или "AfterUnDelete".
Процедуры не имеют входящих аргументов и параметра возврата. В процедурах:
«ПриЗаписи», а также с префиксом «Перед», можно отменить выполняемое действие,
установив статус возврата в ноль, при этом будет брошено стандартное исключение языка
1С. Процедуры, с префиксом «После», действие отменить не могут и вызываются только
как уведомление.
Немаловажный факт, что события с префиксами «Перед» и «После» выполняются
вне рамок транзакции побуждающего действия, т.е. не блокируют базу данных.
События «Перед» и «После» выполняются в рамках одного контекста модуля
документа, т.е. в событии «Перед» можно выбрать данные (например, проводки) и сохранить их в переменной модуля документа, а в событии «После», сравнить эти данные
с результатом после выполнения действия, и произвести необходимые операции.
Цитата: item от 05 сентября 2025, 20:40Посмотри вк v7crypt от Щербакова (Вирта).Во-во, я про то. Но я бы не рекомендовал так просто ставить это в прод, там проблем добавится, на самом деле.
Цитата: АЛьФ от 02 сентября 2025, 13:05Хостинг остался у меня домаХорошо работает. N100 на своих 6Вт великолепен, конечно. А что за линк, если не секрет?
Цитата: Djelf от 29 августа 2025, 15:223. Можно включить монопольный режим доступа в sqliteЭто что имеется в виду?
Цитата: Djelf от 05 сентября 2025, 16:23А как они смогли напечатать не измененный документ без записи а базу?Состояние0
Можно тогда еще ПриПечатиТаблицы сниферить...
Но это реально глупость, прощать таки штучки и одновременно их мониторить.
Перем ОбъектФормаДокумента;
//*****************************************************************************
Процедура ПриОткрытии() //предопределенная
Если ОбъектФормаДокумента.ПриОткрытии("кнХПредставитель", 1, 1, 1) = 0 Тогда //тут запоминается начальное состояние
Возврат;
КонецЕсли;
Если Форма.ТолькоПросмотр() = 0 Тогда
Если глПолучитьПолномочие("РазрешитьИзменятьДатуДокумента") = 0 Тогда
глДоступностьРеквизитов(Контекст, "ДатаДок", 0);
КонецЕсли;
КонецЕсли;
глАктивизироватьРеквизит(Контекст, "Статус", "ДатаДок", 1);
КонецПроцедуры //ПриОткрытии
//*****************************************************************************
Процедура ПриЗаписи() //предопределенная
Если ОбъектФормаДокумента.ПриЗаписи_ВНачале("") = 0 Тогда //тут стандартные проверки на заполненность реквизитов и возможность записи
Возврат;
КонецЕсли;
Если ОбъектФормаДокумента.ПриЗаписи() = 0 Тогда //тут взводится флаг записи документа
Возврат;
КонецЕсли;
КонецПроцедуры //ПриЗаписи
//*****************************************************************************
Процедура ПриЗакрытии() //предопределенная
Если ОбъектФормаДокумента.ПриЗакрытии() = 0 Тогда //здесь анализируем изменения и записываем в базу
Возврат;
КонецЕсли;
КонецПроцедуры //ПриЗакрытии
////////////////////////////////////////////////////////////////////////////////
// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ
ОбъектФормаДокумента = СоздатьОбъект("Форма.Документ");
ОбъектФормаДокумента.Инит(Контекст, 1);
//ОбъектФормаДокумента.ДобавитьПечФорму("Печатная форма", "Печать");
Цитата: Злоп от 05 сентября 2025, 15:51Товарищь Берия с таким бы справился...Цитата: Djelf от 05 сентября 2025, 15:17Ну и хорошо что при выходе изменений нет, зачем логгировать?поправили - напечатали - поправили, вышли. Печатное и в базе - разное...
.
Приправильнрй конструкции документов/процессов все это можно обойти, но рефакторить туеву хучу всего не вариант