Ошибка в процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения общего модуля ДатыЗапретаИзмененияПереопределяемый.

1. user932790 18.04.22 14:33 Сейчас в теме
Всем привет
при обновлении зуп 3.1 на актульаный релиз вышла ошибка
При вызове обработчика обновления:
"ДатыЗапретаИзмененияСлужебный.ОбновитьРазделыДатЗапретаИзменения()"
произошла ошибка:
"Ошибка в процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения
общего модуля ДатыЗапретаИзмененияПереопределяемый.

Для проверки запрета изменения в источнике данных неверно указана таблица
"? Документ.ЗавершениеИспытательногоСрока (664b3f02-77ce-11e8-a134-00155d465601)".
База типовая без доработок.куда копать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 18.04.22 14:44 Сейчас в теме
(1) Попробуйте почистить справочник ИдентификаторыОбъектовМетаданных от помеченных на удаление объектов.
3. user932790 18.04.22 16:38 Сейчас в теме
Почистил.вышла новая
Ошибка в процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения
общего модуля ДатыЗапретаИзмененияПереопределяемый.

Для проверки запрета изменения в источнике данных неверно указана таблица
"".
{ОбщийМодуль.ДатыЗапретаИзмененияСлужебный.Модуль(2206)}: ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
{ОбщийМодуль.ДатыЗапретаИзмененияСлужебный.Модуль(1550)}: ДействующиеДаты.Вставить("ИсточникиДанных",
{ОбщийМодуль.ДатыЗапретаИзмененияСлужебный.Модуль(189)}: Значение = ЗначениеПараметраСеансаДействующиеДатыЗапретаИзменения();
{(1)}:ДатыЗапретаИзмененияСлужебный.УстановкаПараметровСеанса(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(3178)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик, ПараметрыОбработчика);
{ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(87)}: ВыполнитьОбработчикиУстановкиПараметровСеанса(ИменаПараметровСеанса, Обработчики, УстановленныеПараметры);
{МодульСеанса(8)}: СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);
{ОбщийМодуль.ДатыЗапретаИзмененияСлужебный.Модуль(21)}: Возврат ПараметрыСеанса.ДействующиеДатыЗапретаИзменения.СвойстваРазделов;
{ОбщийМодуль.ДатыЗапретаИзмененияСлужебный.Модуль(840)}: СвойстваРазделов = СвойстваРазделов();
{(1)}:ДатыЗапретаИзмененияСлужебный.ОбновитьРазделыДатЗапретаИзменения()
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(6486)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1333)}: ВыполнитьОбработчикОбновления(Обработчик, ПараметрыОбработчика, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(2102)}: ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления(ИтерацияОбновления, Параметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(93)}: ВыполнитьДействияПриОбновленииИнформационнойБазы(ПараметрыОбновления, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(2407)}: Результат = ВыполнитьОбновлениеИнформационнойБазы(ПараметрыОбновления);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОбновлениеИнформационнойБазыВФоне(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1124)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1114)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
4. user1415175 04.05.22 07:56 Сейчас в теме
(3) Удалось ли решить проблему?
8. as7bs 290 27.09.22 17:06 Сейчас в теме
(4) Проблема появилась после загрузки данных из другой базы.
После очистки справочник ИдентификаторыОбъектовМетаданных от помеченных на удаление объектов первая проблема ушла.
Но появилась указанная в (3), причина которой, как я понял была в том что в той конфигурации откуда загружались данные был документ(справочник) отсутствующий в текущей базе.
Поэтому во избежание этих ошибок при выгрузке данных, лучше не загружать данные регистра сведений РазделыДатЗапретаИзмененияОбъектовБЗК.
Тестирование и исправление по совету в (3) делать не было времени, поэтому добавлю свои два способа.
1. Расширением в модуле менеджера РС.РазделыДатЗапретаИзмененияОбъектовБЗК
&Вместо("ИсточникиПроверкиДатЗапретаИзменения")
Функция Расш1_ИсточникиПроверкиДатЗапретаИзменения()
	//Получим данные типовой функцией
	ИсточникиПроверки = ПродолжитьВызов();
	//Удалим из полученных данные строки с условием  Стр.Таблица = ""
	ПустыеСтроки = ИсточникиПроверки.ИсточникиДанных.НайтиСтроки(Новый Структура("Таблица",""));
	Для каждого СтрокаТаблицы Из ПустыеСтроки Цикл
		ИсточникиПроверки.ИсточникиДанных.Удалить(СтрокаТаблицы)
	КонецЦикла;

	Возврат ИсточникиПроверки;
КонецФункции
Показать

2. Удалением(обработкой) записей в РС.РазделыДатЗапретаИзмененияОбъектовБЗК там где Объект метаданных отсутствует
Прикрепленные файлы:
5. user932790 04.05.22 09:28 Сейчас в теме
Откатился на бекап. Закинул в конфигураторе cf. вроде обновилось
6. Umzo 9 19.08.22 11:58 Сейчас в теме
Наткнулся на такую ошибку после слияния двух БП в одну базу. Помогло тестирование и исправление.
7. olbul120771 7 27.09.22 15:43 Сейчас в теме
(1)
Создайте расширение с именем, например "Исправление ошибки метаданных" в него добавьте из общего модуля конфигурации ДатыЗапретаИзмененияПереопределяемый в который скопируйте процедуру ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения и в ней в цикле перебора метаданных добавьте:
Для Каждого Строка Из Таблицы Цикл
Если Лев(Строка.Таблица,2) = "? " Тогда //"? Документ.ЗавершениеИспытательногоСрока (664b3f02-77ce-11e8-a134-00155d465601)".
Продолжить;
КонецЕсли;
...
...
КонецЦикла;
9. user930087 04.01.23 14:47 Сейчас в теме
кто-нибудь решил проблему? выходит проблема та же что и в (1), но ни расширение ни очистка идентификаторов объектов метаданных ничего не дает.
10. Aniramo4ka 11 06.01.23 11:41 Сейчас в теме
(9) Проблема была в ЗУП 3.1 после переноса данных из другой базы. Решилась путем удаления некорректных строк (начинающихся с "?....") в регистре сведений РазделыДатЗапретаИзмененияОбъектовБЗК.
1. Создать расширение.
2. Добавить в него форму списка регистра сведений РазделыДатЗапретаИзмененияОбъектовБЗК.
3. В модуле формы создать процедуру, код которой скопировать из формы списка основной конфигурации и закомментировать запрет на удаление предопределенных записей:
&НаКлиенте
Процедура Расш1_СписокПередУдалениемВместо(Элемент, Отказ)
	Для Каждого ВыделеннаяСтрока Из Элементы.Список.ВыделенныеСтроки Цикл
		
		Если ТипЗнч(ВыделеннаяСтрока) = Тип("РегистрСведенийКлючЗаписи.РазделыДатЗапретаИзмененияОбъектовБЗК") Тогда
			
			ДанныеСтроки = Элементы.Список.ДанныеСтроки(ВыделеннаяСтрока);
			//Если ДанныеСтроки.Предопределенный Тогда
			//	ПоказатьПредупреждение(, НСтр("ru = 'Нельзя удалять предопределенную настройку'"));
			//	Отказ = Истина;
			//	Возврат;
			//КонецЕсли;
			
		КонецЕсли;
		
	КонецЦикла;
КонецПроцедуры
Показать


Далее в режиме 1с предприятие удалить некорректные записи регистра.
Lexx100; user1444721; zexpress; yushka; +4 Ответить
11. user1889375 09.04.23 17:58 Сейчас в теме
(7)
(10)
Спасибо! использование обоих советов помогло, изначально ругался на:

Для проверки запрета изменения в источнике данных неверно указана таблица "? Документ.ОтзывСогласияНаУведомлениеОбЭЛН (126a8c6e-d543-11ed-90d5-0c9d927fe28d)". НаборЗаписей.Записать();
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот