Подписка на событие ПриЗаписи РН, как отследить удаление объекта?
По теме из базы знаний
Найденные решения
В чем проблема? Перед удалением документа вставляйте доп свойство, Все нормально передается. Перед записью регистра читайте. Если Свойство, да Набор не пустой, значит вызвано методом УдалитьОбъекты. Если мало То добавьте Параметр сеанса в конфигураторе. Скажем РежимУдалитьОбъекты тип Булево и пишите себе
ПараметрыСеанса.РежимУдалитьОбъекты =Истина;
УдалитьОбъекты(МассивЧековККМ, Ложь);
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)
Это набор записей РН, через него можно добраться например до переменных модуля РН или до регистратора, но толку от этого мало, т.к. установить эти переменные я не могу, т.к. физически ни где не используется объект документа.
Единственное что приходит в голову, это перед удалением убрать все записи РН со всех документов с установкой доп. реквизита например "НеРегистрироватьВПланеОбмена". Тогда я смогу отловить этот реквизит при возникновении события ПриЗаписи и исключить эти товары из регистрации в ПО.
А при удалении уже это событие не будет возникать, т.к. записей РН уже не будет.
Боюсь только этот вариант увеличит время закрытия кассовой смены(а может и нет.)В общем завтра попробую сделать так, посмотрим что получится
Источник
Это набор записей РН, через него можно добраться например до переменных модуля РН или до регистратора, но толку от этого мало, т.к. установить эти переменные я не могу, т.к. физически ни где не используется объект документа.
Единственное что приходит в голову, это перед удалением убрать все записи РН со всех документов с установкой доп. реквизита например "НеРегистрироватьВПланеОбмена". Тогда я смогу отловить этот реквизит при возникновении события ПриЗаписи и исключить эти товары из регистрации в ПО.
А при удалении уже это событие не будет возникать, т.к. записей РН уже не будет.
Боюсь только этот вариант увеличит время закрытия кассовой смены(а может и нет.)В общем завтра попробую сделать так, посмотрим что получится
УТ 10.3 - закрытие кассовой смены, серверный модуль:
Процедура ОбработатьЧекиККМПриЗакрытииСмены(МассивЧековККМ, КассаККМ) Экспорт
***
УдалитьОбъекты(МассивЧековККМ, Ложь);
***
КонецПроцедцры
До выполнения удаления объектов ни где не выполняется очистка регистров, т.е. регистры по чекам ККМ очищаются в момент удаления чеков.
В модуле самого регистра не отрабатывает ни одна типовая процедура/функция.
Пробовал Перед удалением записать глобальную переменную - так ее не видно на сервере.
Как установить некий флаг на клиенте, что бы его было видно на стороне сервера.
Есть вариант установить флаг через объекты конфигурации Константы или РС, но ка кто не хочется постоянно переписывать константу или РС. Опять таки вопрос, как понять что для одного набора не нужно регистрировать данные, т.е. это закрытие кассовой смены и при этом второй набор, который пишется в эту же секунду, это проведение чека ККМ, и его нужно регистрировать.
Процедура ОбработатьЧекиККМПриЗакрытииСмены(МассивЧековККМ, КассаККМ) Экспорт
***
УдалитьОбъекты(МассивЧековККМ, Ложь);
***
КонецПроцедцры
До выполнения удаления объектов ни где не выполняется очистка регистров, т.е. регистры по чекам ККМ очищаются в момент удаления чеков.
В модуле самого регистра не отрабатывает ни одна типовая процедура/функция.
Пробовал Перед удалением записать глобальную переменную - так ее не видно на сервере.
Как установить некий флаг на клиенте, что бы его было видно на стороне сервера.
Есть вариант установить флаг через объекты конфигурации Константы или РС, но ка кто не хочется постоянно переписывать константу или РС. Опять таки вопрос, как понять что для одного набора не нужно регистрировать данные, т.е. это закрытие кассовой смены и при этом второй набор, который пишется в эту же секунду, это проведение чека ККМ, и его нужно регистрировать.
(7)дык я и говорю, что удаление происходит методом УдалитьОбъекты(МассивЧековККМ, Ложь);
И до этого метода ни где не очищаются регистры, поэтому добавить ДополнительныеСвойства я не могу
Да и к тому же при возникновении события ПриЗаписи мне не нужно устанавливать это свойство, мне его нужно пролучить, что бы дальше либо регистрировать товары либо нет в ПО.
И до этого метода ни где не очищаются регистры, поэтому добавить ДополнительныеСвойства я не могу
Да и к тому же при возникновении события ПриЗаписи мне не нужно устанавливать это свойство, мне его нужно пролучить, что бы дальше либо регистрировать товары либо нет в ПО.
В чем проблема? Перед удалением документа вставляйте доп свойство, Все нормально передается. Перед записью регистра читайте. Если Свойство, да Набор не пустой, значит вызвано методом УдалитьОбъекты. Если мало То добавьте Параметр сеанса в конфигураторе. Скажем РежимУдалитьОбъекты тип Булево и пишите себе
ПараметрыСеанса.РежимУдалитьОбъекты =Истина;
УдалитьОбъекты(МассивЧековККМ, Ложь);
(9) в общем долго пробовал разные варианты, но все таки остановился на добавлении параметра сеанса "ЗакрытиеКассовойСмены", который выставляю в Истина при закрытии кассовой смены, и перед регистрацией в плане обмена проверяю этот параметр. Если установлен в истина то не регистрирую изменения. Таким образом и Чеки ККМ и отчет о РП не попадают в план обмена - как раз то что я и хотел.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот