Уважаемые форумчате, подскажите, пожалуйста, начинающему программисту 1С. Ситуация такова:
Есть справочник. При изменении или добавлении в него записей необходимо создавать записи в определенном регистре с полями: 1) действие (Создан, Изменен), 2) датой создания (изменения) и 3) ссылкой на объект. Чтоб не изменять и не снимать справочник с поддержки, я создала две подписки на события ПередЗаписью и ПриЗаписи.
В первой подписки (ПередЗаписью) я анализирую запись на Новая или не новая (переменной1 присваиваю ЛОЖЬ или ИСТИНА) и если запись не новая, то анализирую изменение всех реквизитов. Если не менялись, то переменной2 присваиваю Ложь, если менялись Истина.
А во второй подписке (При записи) мне надо в зависимости от этих переменных создать записи в регистре.
Вопрос состоит в том КАК ПЕРЕДАТЬ ЗНАЧЕНИЯ ЭТИХ ПЕРЕМЕННЫХ ВО ВТОРУЮ ПОДПИСКУ. Буду очень признательна за советы.
Есть справочник. При изменении или добавлении в него записей необходимо создавать записи в определенном регистре с полями: 1) действие (Создан, Изменен), 2) датой создания (изменения) и 3) ссылкой на объект. Чтоб не изменять и не снимать справочник с поддержки, я создала две подписки на события ПередЗаписью и ПриЗаписи.
В первой подписки (ПередЗаписью) я анализирую запись на Новая или не новая (переменной1 присваиваю ЛОЖЬ или ИСТИНА) и если запись не новая, то анализирую изменение всех реквизитов. Если не менялись, то переменной2 присваиваю Ложь, если менялись Истина.
А во второй подписке (При записи) мне надо в зависимости от этих переменных создать записи в регистре.
Вопрос состоит в том КАК ПЕРЕДАТЬ ЗНАЧЕНИЯ ЭТИХ ПЕРЕМЕННЫХ ВО ВТОРУЮ ПОДПИСКУ. Буду очень признательна за советы.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) В одной подписке не получается.
В подписке ПередЗаписью еще нет ссылки на новый объект, т.к. объект еще не записан,
а во второй подписке ПриЗаписи, невозможно проанализировать новый или не новый, т.к. объект уже записан и нельзя проанализировать новые и старые значения, т.к. уже записаны новые значения, а старые затерты
В подписке ПередЗаписью еще нет ссылки на новый объект, т.к. объект еще не записан,
а во второй подписке ПриЗаписи, невозможно проанализировать новый или не новый, т.к. объект уже записан и нельзя проанализировать новые и старые значения, т.к. уже записаны новые значения, а старые затерты
(7) а потом кто-то добавит еще одну подписку ПередЗаписью, где будет проверяться нужность вообще записи элемента справочника. И реализуют Отказ.
Подписка проверки может запуститься позже. И в итоге имеем движение по регистру с убитой ссылкой.
Главное же потом долго будут искать, почему там ссылки битые.
Хотя нет. Этот случай не отработает. транзакция откатит.
Но делать движения в ПередЗаписью считаю не верным.
Подписка проверки может запуститься позже. И в итоге имеем движение по регистру с убитой ссылкой.
Главное же потом долго будут искать, почему там ссылки битые.
Хотя нет. Этот случай не отработает. транзакция откатит.
Но делать движения в ПередЗаписью считаю не верным.
(3)
В модуле:
Источник.ЭтоНовый() - В зависимости от результата можно проанализировать Новый или не новый и решить вопрос в одном событии (ПриЗаписи)
а во второй подписке ПриЗаписи, невозможно проанализировать новый или не новый, т.к. объект уже записан и нельзя
В модуле:
Источник.ЭтоНовый() - В зависимости от результата можно проанализировать Новый или не новый и решить вопрос в одном событии (ПриЗаписи)
(6) Огромное спасибо!!! Ваше предложение - это решение моей проблемы! Единственное во второй подписке я явно сравниваю
Если Источник.ДополнительныеСвойства.НовыйДок = Истина тогда
//
КонецЕсли;
Если Источник.ДополнительныеСвойства.ПризнакИзмененияДанных = Истина тогда
//
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот