- Причины, поиск и исправление битых ссылок
- Ссылки на не существующие объекты конфигурации
- Скачать файлы
- Специальные предложения
- См. также
- Свертка БД 1С: обрезка до выбранной даты средствами MS SQL 43
- Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
- Быстрое обезличивание информационной базы 29
- Очистка базы данных 1С от данных по организациям прямыми SQL-запросами к СУБД 24
- Базовый курс по разработке мобильных 1C-приложений для Andro >Промо
- Подсистема для выгрузки, быстрого поиска и анализа журнала регистрации 1С в Elasticsearch 30
- Ошибки, предупреждения и прочее из журнала регистрации на почту и в Telegram автоматически (БП 3, ЗУП 3.1, УТ 11.4, ERP 2.4, Розница 2.2) 23
- Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо
- Обнуление остатков регистров бухгалтерии и накопления 42
- Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. 36
- Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо
- Очистка замеров производительности — даешь больше места на диске (= меньше хлама в базе) 41
- Нестандартные подсистемы: Живая вода 32
- Новый раздел на Инфостарте — Electronic Software Distribution Промо
- TextRadar — нечеткий поиск в тексте 11
- Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних) 4
- Подборка программ для взаимодействия с ЕГАИС Промо
- Удаление данных средствами SQL, теория и практика 22
- Очистка базы данных от данных по организации 33
- Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
- Удалить "ненужную организацию" в БП 3.0 (+ доп.обработка для УТ 11.4, УПП ERP 2.4, ЗУП 3.1, КА 2.4, Розница 2.2, УНФ 1.6) 38
- Очистка регистрации обмена 4
- Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо
- Корректировка остатков регистров бухгалтерии (обычные и управляемые формы) 12
- Обработка данных + загрузка из табличного документа + удаление объектов + поиск и замена значений (управляемые формы) 28
- Программы для исполнения 54-ФЗ Промо
- Поиск и восстановление битых ссылок (обычная и управляемая форма) 8.2-8.3 27
Открыв документ или справочник на месте реквизита, который обычно заполнен, вы обнаруживаете надпись «Объект не найден…». Это может означать только одно – кто-то из пользователей удалил данные базы данных, не проконтролировав их использование. Ситуация неприятная, но не безвыходная – подобные проблемы можно и нужно решать, не допуская в будущем. К сожалению, штатных механизмов для решения не предусмотрено, поэтому придется самостоятельно писать обработку для проверки и исправления. Описанные ниже действия требуют определенных знаний, поэтому, если вы не уверены в своих силах, обращайтесь за услугами по доработке и обслуживанию 1С к профессионалам.
Причины, поиск и исправление битых ссылок
При возникновении любой ошибки мы стараемся не только нивелировать ее последствия, но и предотвратить ее возникновение в будущем. Чтобы не допустить повторного появления ссылок на удаленные объекты, нам необходимо понять причины их появления в базах 1С 8.3. Обычно подобные явления, называемые битыми ссылками, возникают из-за следующих нюансов:
- Недостаточно безопасно настроены права, из-за чего у пользователей есть возможность прямого удаления элементов базы данных. Обычно простым пользователям не дают права на удаление во избежание подобных ситуаций;
- Случайное программное удаление данных. Для недопущения битых ссылок используйте функцию «УдалитьОбъекты», передавая объекты в нее в виде массива ссылок. Эта функция проверяет, есть ли в базе ссылки на удаляемые объекты, и стирает только неиспользуемые данные;
- Неверно настроенный обмен данными. Здесь совет один – при создании обмена между различными базами стоит быть внимательнее и проверить все ключевые реквизиты.
После того, как мы разобрались с причинами, нам предстоит исправить сложившуюся ситуацию. Для этого необходимо найти битые ссылки и удалить или исправить их. Для этих целей платформа 1С имеет функционал тестирования и исправления, встроенный в конфигуратор. Чтобы его запустить, необходимо зайти в меню «Администрирование» — «Тестирование и исправление», настроить параметры и нажать «Выполнить». Если оптимизация и ускорение работы 1С вызывает у вас сложности, обратитесь к нашим специалистам по сопровождению 1С.
После выполнения тестирования и исправления 1С выдаст информационное окно, в котором перечислены все исправленные объекты. Эти данные лучше сохранить, чтобы в будущем не было претензий со стороны пользователей. Но у этого механизма есть два серьезных недостатка – он медленный и ему необходим монопольный доступ. Поэтому большинство специалистов самостоятельно пишут небольшие обработки, которые ищут и исправляют битые ссылки.
Для программного поиска обычно используют один из двух методов – с помощью языка запросов или через функцию «ПолучитьОбъект». Рассмотрим пример, когда нам необходимо найти ссылки на удаленного поставщика в документах «ПриобретениеТоваровУслуг». Выберем все документы, где значение поля «Партнер» не равно пустой ссылке, то есть заполнено, и есть NULL. Этот метод хорош тем, что можно установить дополнительные отборы или взять сразу несколько типов документов.
Результатом запроса будет перечень документов с битыми ссылками. Чтобы их удалить, мы получаем объект каждого документа по ссылке, заменяем реквизит «Партнер» на пустую ссылку и записываем документ. Также можно заменить « .» на другого партнера или попробовать восстановить данные из резервной копии.
Использование метода «ПолучитьОбъект» постепенно уходит в прошлое, но остается достаточно эффективным решением для поиска битых ссылок. Суть в проверке каждого документа определенного типа и, если обнаружена битая ссылка в 1С, то удаляем ее или заменяем.
На практике удаление битых ссылок и их замена чаще всего осуществляются в ручном режиме ответственными пользователями. Для этого им нужен перечень документов, который мы им можем обеспечить, заменив в коде запись документа на команду «Сообщить».
Существует возможность воссоздать удаленные данные, используя ссылку из документов. Однако в современных конфигурациях количество реквизитов достаточно большое и программно все их заполнить сложно. В любом случае помните, что необходимо устранить причину возникновения битых ссылок после их ликвидации в базе.
По всем вопросам, связанным с оптимизацией работы 1С, обращайтесь за консультацией по 1С по телефону, а также оставляйте заявки на нашем сайте. Наши специалисты свяжутся с вами в кратчайшие сроки.
Ссылки на не существующие объекты конфигурации
Часто бывает, что в результате обмена данных или некорректных обработок случаются ошибки, и вместо значения ссылочных данных в полях встречается «Объект не найден», то есть «битые ссылки». Вот что происходит в отчетах , когда такие битые ссылки встречаются в регистрах:
Я стал сформировать журнал учета полученных и выданных счетов фактур в прикладном решении “Бухгалтерия предприятия 3.0″ и при определяемых условиях отбора отчет не формируется и видает такое сообщение
Рис 1. Отчет “журнал учета полученных и выданных счетов фактур“
Я сразу не понял, что причина нужно искать в этих битых ссылках и стал обвинять пользователей в неправильности ввода счетов фактур, особенно если эти счета-фактур не вводятся интерактивно, а вводятся с автоматически программным путем с помощью каких -то внешних обработок. После просмотра формирования отчета с помощью отладчика я понял, что причина заключается в наличии битых ссылок.
Я создал простую обработку удаления битых ссылок для программы ” Бухгалтерия предприятия 3.0″. В форме обработки я добавил 2 кнопки – тестирование и удаление. Мне нужно было убедится какие еще регистры ссылаются на эти битые ссылки. В данном случае только регистр сведения “журнал учета счетов фактур” ссылались на битые ссылки как показано на рис.2. К счастью, в данном случае, битые ссылки были только в регистре сведения “журнал учета счетов фактур”.
Рис 2. Обработка удаления битых ссылок
После выполнения удаления битые ссылки исчезли и отчет журнал учета полученных и выданных счетов фактур сформировался.
Программный код обработки очень простой, но в ней очень интересные нюансы:
Во первых , при вызове функции ОбработатьНаборЗаписей возникает ошибка если в регистре отсутствует битых ссылок, а я питаюсь записать пустой набор записей с отбором по битой ссылке на регистратора. Поэтому мне пришлось добавить условие Если количествоЗаписей >0 тогда удаляем ( очищаем и записываем набор) ( см . рис.3)
Рис 3. Программный код
Во- вторых, чтобы запросом найти битую ссылку на регистратора регистра нужно 2 условия : Одно условия должно быть Не журналСчетофактур.регистратор ЕСТЬ NUL L ( этим я определяю, что ссылка установлена), а другое условие я обращаясь к свойствам регистратора, например на дату по точке и поскольку такого значения нет то запрос возвращает NULL ( См. рис 3)
Рис 4. Программный код
Отметим, что в этой процедуре я обрабатываю все регистры движения счета фактуры с битой ссылкой. При этом нужно иметь ввиду, что при удалении битых ссылок удаются также вся информация о сумме НДС и следовательно, остатки по НДС до и после обработки будут отличаться. К счастью, в данном случае, битые ссылки были только в регистре сведения “журнал учета счетов фактур”
Автор nalivai-chai любезно разрешил опубликовать обработку на управляемом приложении со ссылкой на первоисточник.
Отличие от первоисточника:
- Реализовано управляемое приложение (такси).
- Убраны флажки "Подробно об источнике битой ссылки" и "Детальные записи". Вместо них добавлен "Источник" в группировке дерева битых ссылок.
- Убраны переходы между страницами "Метаданные" и "Битые ссылки".
Тестировал на платформе 8.3.10.2561 в программе "Управление торговлей, редакция 11".
Аналогичных публикаций под УФ на сайте не нашёл, кроме очистки движений с битыми ссылками и восстановления GUID-ссылки.
Доступны следующие функции:
- Замена битых ссылок пустыми.
- Пометка на удаление ссылочных объектов с битыми ссылками.
- Удаление объектов с битыми ссылками.
Идеи для разработки:
- восстановление битых ссылок.
- получение списка GUIDов (отчет).
- очистка регистров.
- открытие формы в режиме тонкого клиента.
- Открывать форму из ключа записи рекомендуется в режиме толстого клиента (управляемое приложение).
Скачать файлы
Наименование | Файл | Версия | Размер |
---|---|---|---|