21 января 2022 г.

1СОшибка Для объекта метаданных "Документ.ЗаявкаНаРасходованиеСредств" не найден идентификатор в справочнике "Идентификаторы объектов метаданных"

В справочнике ИдентификаторыОбъектовМетаданных некоторые элементы имеют знаки вопроса в реквизитах и помечены на удаление. Может выскакивать ошибка "{ОбщийМодуль.ОбщегоНазначения.Модуль(2646)}: Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). Для объекта метаданных "Документ.ЗаявкаНаРасходованиеСредств" не найден идентификатор в справочнике "Идентификаторы объектов метаданных"."

Рекомендации простые:

  1. открыть через меню "Все функции" справочник "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника"; 
  2. если указанной кнопки нет - выполнить программный код: Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(); 
  3. либо запустить программу с параметром командной строки 1С:Предприятия 8 "/С ЗапуститьОбновлениеИнформационнойБазы"; 
  4. либо увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
На УНФ не прокатило, пришлось садится и разбираться. В итоге пришел к решению - удалить помеченные элементы справочника ИдентификаторыОбъектовМетаданных, но для этого нужно разорвать связи. Кстати удаление возможно только через Стандартные=>Удаление помеченных.

10 января 2022 г.

1СЗапрос Выбрать дубли по основному полю

Изначально в справочнике не должно было быть повторений по двум реквизитам, ни вместе, ни по отдельности, но при случайной проверке были выявлены события когда два элемента имеют одинаковый Реквизит1 и различный Реквизит2, для выявления такого казуса можно использовать запрос, в котором соединяем справочник на себя где Реквизит1=Реквизит1, а Реквизит2<>Реквизит2. Вроде все, но нет, т.к. выдача будет двойной, а т.к. нам не важно какой элемент будет выбран, то добавляем еще одно сравнение - Ссылка>Ссылка. Прошу обратить внимание, данное решение работает только на одном дубле, если их больше, то ситуация будет другой.


ВЫБРАТЬ

	Участники.НомерКарты КАК НомерКарты,

	Участники.НомерТелефона КАК НомерТелефона,

	Участники1.НомерТелефона КАК НомерТелефона1

ИЗ

	Справочник.Участники КАК Участники

		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Участники КАК Участники1

		ПО Участники.НомерКарты = Участники1.НомерКарты

			И Участники.НомерТелефона <> Участники1.НомерТелефона

			И Участники.Ссылка > Участники1.Ссылка

УПОРЯДОЧИТЬ ПО

	НомерКарты