Переношу программно записи регистра сведений. Измерения: ФизЛицо, НомерПоПорядку. В базе-источнике по Иванову две записи, у одной НомерПоПорядку-1, у другой-2.
Записываю в базу-приемник через менеджер записи. Номер по порядку копирую из приемника. (для второй записи -2). На первую строчку не ругается а 2+ пишет Что не соответствует отбору. В менеджере справочника обработку данного поля не нашел.
Записываю в базу-приемник через менеджер записи. Номер по порядку копирую из приемника. (для второй записи -2). На первую строчку не ругается а 2+ пишет Что не соответствует отбору. В менеджере справочника обработку данного поля не нашел.
Найденные решения
(8) срабатывает подписка на событие: ПроверитьЗаписиДанныхФизическихЛиц
Процедура ПроверитьЗаписиДанныхФизическихЛицПередЗаписью(Источник, Отказ, Замещение) Экспорт
Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(Источник) Тогда
Возврат;
КонецЕсли;
Если Источник.ДополнительныеСвойства.Свойство("НеПроверятьЗаписиДанныхФизическихЛиц") Тогда
Возврат;
КонецЕсли;
НомерПоПорядку = 1;
Для каждого Запись Из Источник Цикл
Запись.НомерПоПорядку = НомерПоПорядку;
НомерПоПорядку = НомерПоПорядку + 1;
КонецЦикла;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Что может быть за условие на данные записи. Это РС ТрудоваяДеятельностьФизическихЛиц из ЗУП. Регистр независимый и непереодический. Почему не дает записать. Пробовал передавать номер по порядку =1. Ожидаемо перезаписывает и остается одна запись. Пробовал РежимЗагрузки = Истина.
Смоделировал ситуацию обработкой
Понятно что отбор накладывается при записи в регистр. При записи МенеджераЗаписи отладчиком попадаю в модуль НабораЗаписей (ПриЗаписи) но там никаких отборов нет. В модуле менеджера есть функция подсчета записей. Но на каком этапе она запускается не понятно. Точка отладки не срабатывает
&НаСервере
Процедура ДобавитьОднуЗаписьНаСервере(НомерЗаписи)
МенеджерЗаписи = РегистрыСведений.ТрудоваяДеятельностьФизическихЛиц.СоздатьМенеджерЗаписи();
ВыборкаФизЛиц = Справочники.ФизическиеЛица.Выбрать();
ВыборкаФизЛиц.Следующий();
МенеджерЗаписи.ФизическоеЛицо = ВыборкаФизЛиц.Ссылка;
МенеджерЗаписи.НомерПоПорядку =НомерЗаписи;
Попытка
МенеджерЗаписи.Записать(истина);
Сообщить("ОК");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьОднуЗапись(Команда)
ДобавитьОднуЗаписьНаСервере(1);
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьДвезаписи(Команда)
ДобавитьОднуЗаписьНаСервере(1);
ДобавитьОднуЗаписьНаСервере(2);
КонецПроцедуры
ПоказатьПонятно что отбор накладывается при записи в регистр. При записи МенеджераЗаписи отладчиком попадаю в модуль НабораЗаписей (ПриЗаписи) но там никаких отборов нет. В модуле менеджера есть функция подсчета записей. Но на каком этапе она запускается не понятно. Точка отладки не срабатывает
Прикрепленные файлы:
ТестРС.epf
(8) срабатывает подписка на событие: ПроверитьЗаписиДанныхФизическихЛиц
Процедура ПроверитьЗаписиДанныхФизическихЛицПередЗаписью(Источник, Отказ, Замещение) Экспорт
Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(Источник) Тогда
Возврат;
КонецЕсли;
Если Источник.ДополнительныеСвойства.Свойство("НеПроверятьЗаписиДанныхФизическихЛиц") Тогда
Возврат;
КонецЕсли;
НомерПоПорядку = 1;
Для каждого Запись Из Источник Цикл
Запись.НомерПоПорядку = НомерПоПорядку;
НомерПоПорядку = НомерПоПорядку + 1;
КонецЦикла;
КонецПроцедуры
Показать
Хм...
А можно управлять Источник.ДополнительныеСвойства.Свойство("НеПроверятьЗаписиДанныхФизическихЛиц") из менеджера записи?
ЗА управление ОтключитьБизнесЛогикуПриЗаписи(Источник) вроде как отвечает ОбменДанными = Истина
ОбменДанными = Истина у меня стоит перед записью , но подписка отрабатывает.
А можно управлять Источник.ДополнительныеСвойства.Свойство("НеПроверятьЗаписиДанныхФизическихЛиц") из менеджера записи?
ЗА управление ОтключитьБизнесЛогикуПриЗаписи(Источник) вроде как отвечает ОбменДанными = Истина
ОбменДанными = Истина у меня стоит перед записью , но подписка отрабатывает.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот