Ошибка при вызове метода контекста (Записать). Регистр сведений. Модуль набора записи.
Уважаемые! Необходимо устанавливать значение для любой НОВОЙ записи регистра.
Ситуация следующая.
Был разработан регистра сведений ОтправленныеСообщения. Непериодический, Независимый.
Под этот регистр написаны обработки, данные пишутся, все хорошо, все работает.
В какой-то момент было в конфигураторе добавлено измерение ДатаЗаписиВРегистр.
Чтобы не сломался старый код, который написан уже много где и чтобы не искать все обработки по этому регистру, было принято решение использовать модуль набора записи предопределенная процедура ПриЗаписи. Который будет заполнять новыезаписи поле ДатаЗаписиВРегистр всегда текущей датой.
Но увы и ах, данная конструкция не работает.
{ОбщийМодуль.Тест.Модуль(1948)}: Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля не соответствует установленному отбору: ОтправленныеСообщения: 29.03.2017 15:50:09, , +71111111, Прием , , 29.03.2017 15:50:09 (Регистр сведений: Отправленные сообщения; Поле: ДатаЗаписиВРегистр)
Подскажите где ошибка?
Ситуация следующая.
Был разработан регистра сведений ОтправленныеСообщения. Непериодический, Независимый.
Под этот регистр написаны обработки, данные пишутся, все хорошо, все работает.
В какой-то момент было в конфигураторе добавлено измерение ДатаЗаписиВРегистр.
Чтобы не сломался старый код, который написан уже много где и чтобы не искать все обработки по этому регистру, было принято решение использовать модуль набора записи предопределенная процедура ПриЗаписи. Который будет заполнять новыезаписи поле ДатаЗаписиВРегистр всегда текущей датой.
Процедура ПриЗаписи(Отказ, Замещение)
Для каждого Запись Из ЭтотОбъект Цикл
Если НЕ ЗначениеЗаполнено(Запись.ДатаЗаписиВРегистр) Тогда
Запись.ДатаЗаписиВРегистр = ТекущаяДата();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьНо увы и ах, данная конструкция не работает.
{ОбщийМодуль.Тест.Модуль(1948)}: Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля не соответствует установленному отбору: ОтправленныеСообщения: 29.03.2017 15:50:09, , +71111111, Прием , , 29.03.2017 15:50:09 (Регистр сведений: Отправленные сообщения; Поле: ДатаЗаписиВРегистр)
Подскажите где ошибка?
По теме из базы знаний
Найденные решения
Забыл написать что в ПередЗаписью была таже самая ошибка.
Ответ как нужно сделать: Переопределить отбор.
Ответ как нужно сделать: Переопределить отбор.
Процедура ПередЗаписью(Отказ, Замещение)
Для каждого Запись Из ЭтотОбъект Цикл
Если НЕ ЗначениеЗаполнено(Запись.ДатаЗаписиВРегистр) Тогда
ТекДата = ТекущаяДата();
Отбор.ДатаЗаписиВРегистр.Значение = ТекДата;
Запись.ДатаЗаписиВРегистр = ТекДата;
КонецЕсли;
КонецЦи
кла;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Забыл написать что в ПередЗаписью была таже самая ошибка.
Ответ как нужно сделать: Переопределить отбор.
Ответ как нужно сделать: Переопределить отбор.
Процедура ПередЗаписью(Отказ, Замещение)
Для каждого Запись Из ЭтотОбъект Цикл
Если НЕ ЗначениеЗаполнено(Запись.ДатаЗаписиВРегистр) Тогда
ТекДата = ТекущаяДата();
Отбор.ДатаЗаписиВРегистр.Значение = ТекДата;
Запись.ДатаЗаписиВРегистр = ТекДата;
КонецЕсли;
КонецЦи
кла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот