Каталог решений - Ошибка "Запись не верна! Набор записей, принадлежащий менеджеру, должен содержать ровно 1 запись" в Альфа-Авто 5 и методы ее устранения

Ошибка "Запись не верна! Набор записей, принадлежащий менеджеру, должен содержать ровно 1 запись" в Альфа-Авто 5 и методы ее устранения

Ошибка "Запись не верна! Набор записей, принадлежащий менеджеру, должен содержать ровно 1 запись" в Альфа-Авто 5 и методы ее устранения

В наличии

Сегодня посреди рабочего дня база отказалась впускать пользователей. При попытке запуска вываливалась ошибка «Запись не верна! Набор записей, принадлежащий менеджеру, должен содержать ровно 1 запись». При этом активные сеансы работали без проблем. Саму ошибку можно было увидеть не всегда, чаще всего она пряталась за баннером с машинками.

Категория:

Описание

База крутится на  PostgreSQL. Платформа 8.3.10.2561

Первым делом, когда пользователи закончили работу, я сделала бэкапы. Потом запустила ТИИ, которое ошибок не обнаружило. Результата не было.  Не помогла также и выгрузка-загрузка в файловый вариант базы, и проверка файлового варианта средствами chdbf. Отладчиком нашла место, где 1с вываливается.  Этим местом оказалась обработка "Избранное" . Закомментировала проблемное место и о чудо, база запустилась. Пошла смотреть внутрь регистра, а там творился полный хаос. Много-много одинаковых записей в регистре, где все записи должны быть уникальными. Ручками удалила их.  После убрала комменты с проблемного места в модуле, попробовала запустить и все заработало. 

Вот то место, где 1С вываливалась. Модуль объекта обработки "Избранное"

// Инициализация избранного (получение данных из регистра сведений "КартинкиИФайлы")
Процедура ИнициализироватьИзбранное() Экспорт
	РегКартинкиИФайлы = РегистрыСведений.КартинкиИФайлы.СоздатьМенеджерЗаписи();
	РегКартинкиИФайлы.Объект = ПараметрыСеанса.Пользователь;
	РегКартинкиИФайлы.Идентификатор = ИдентификаторИзбранное;
	РегКартинкиИФайлы.Прочитать();
	ДеревоИзбранного = РегКартинкиИФайлы.Данные.Получить(); // проблема была вот тут
	Если ТипЗнч(ДеревоИзбранного) <> Тип("ДеревоЗначений") Тогда
		ДеревоИзбранного = Новый ДеревоЗначений;
	КонецЕсли;
	
	Если ДеревоИзбранного.Колонки.Количество()=0 Тогда
		ДеревоИзбранного.Колонки.Добавить("Представление");
		ДеревоИзбранного.Колонки.Добавить("ТипОбъекта");
		ДеревоИзбранного.Колонки.Добавить("ОткрытьПриЗапуске");
		ДеревоИзбранного.Колонки.Добавить("ВидОбъекта");
		ДеревоИзбранного.Колонки.Добавить("ЭкземплярОбъекта");
		ДеревоИзбранного.Колонки.Добавить("ФормаОбъекта");
	КонецЕсли;
	Если ДеревоИзбранного.Строки.Количество()=0 Тогда
		НовыйЭлемент=ДеревоИзбранного.Строки.Добавить();
		НовыйЭлемент.Представление="Избранное";
		НовыйЭлемент.ТипОбъекта="Избранное";
	КонецЕсли;	
КонецПроцедуры

Надеюсь, что мой горький опыт кому-то поможет.

И вопрос к знатокам: какова может быть причина такой хвори? Именно с данной базой ни каких работ на момент появления ошибки я не производила, но приблизительно в это время пыталась развернуть в копию бэкап этой базы средствами postgreSQL, однако, сделать этого не получилось. Могло ли это стать причиной глюка?  Ниже кусок лога в тот момент, когда все произошло 

 

has been added to your cart:
Оформление заказа