Проверка и чистка регистров от «Битых ссылок»
Использовать осторожно. Бездумно можно удалить лишние записи.
Можно отобрать не только «битые», но и пустые записи, Т.е. «не обязательные к заполнению», это следует учитывать при использовании данной обработки.
Что подтолкнуло:
А)У нас есть распределенка, самописка. Стал сталкиваться с тем, что при тестировании в конфигураторе вылезает куча записей с пустыми измерениями.
Б) В 1С ЗиУП в регистрах накопления изредка появляются записи без регистратора.
версия 1.1 исправлена ошибка чистки регистров, подчиненных регистратору после простотра через табл. просмотра.
Измененния Версии 2.0
-Изменен дизайн обработки.
-Реализован произвольный отбор записей. Сделано на построителе отчетов.(аналог 19984)
Не большие сервисные функции:
-Включение итогов и выключение итогов регистров накопления ( вечно когда нужно- ненайдешь)
-Открытие формы списка выбранного регистра
-Просмотр кода запроса по выборки «Битых» записей.
Реализовано два режима — проверять на наличие битых записей в полях с обязательным заполнением и режим проверки всех полей с пустыми и битыми.
При анализе базы выполняется второй режим.
Извините временно снимал с публикации, т.к. при полном анализе базы вывыливалась в ошибку.
Изменения Версии 2.1 верися для 8.2
— анализ базы выполнется в попытке, выводит сообщение:
Регистр … может быть обработан
— Сервисные функции. Если работать с регистром сведений, можно задать отбор и провести зачистку только выбранных записей.
В ближайшее время сделаю доработку для большей универсальности и возможности редактировать различные наборы записей, благо недавно несколько интересных обработок появилось..
Интересные моменты работы с регистрами:
//infostart.ru/projects/651/ -«Поиск и удаление неопределенных регистраторов («Объект не найден») в регистрах»
//infostart.ru/projects/5004/ -«Универсальная обработка поиска битых ссылок в регистрах, справочниках и документах.»
//infostart.ru/public/19984/- «Очистка регистров сведений с отбором».
//infostart.ru/projects/3807/ — «Универсальная обработка очистки регистров сведений, накопления и бухгалтерии от битых ссылок».
Шикарная штука! На стандартной демо нашла кучу битых ссылок! Удобная, хорошо сделана, заботливо выложен текст запроса на закладке предвар.просмотра, и полный анализ базы, выведенный в макет с количеством ссылок. Все удобно, развивай дальше. Удачи!
НА УПП 8.1.14.72(1.2.23.2) дает ошибку Поле не найдено «Регистр.ТочкаМаршрута.Представление» и Не может быть сформировано условие: ВариантыВстроенныхАлгоритмовРасчетаЗарплаты. Без оценки! Извини.
kondrashka — У меня для проверки ЗиУП версии 2.1. КАКИЕ ТИПЫ СМОГ СОБРАТЬ ДЛЯ ПРОВЕРКИ- те и прописал. Пришли что за тип измерение Точкамаршрута. Поправлю.
я вот тут думаю для распределенки написать не очистка, а восстановление. Если юзать стандартное восстановление, то оно создает кучу левых документов, ну на каждую запись и пустых при том.
Но в регистре, например товары на складах, если все данные заполнения документа, как то Табличная часть Товары, контрагент, договор, дата и т.д.
Т.е. по идеи их можно собирать в один нормальный документ, ну и в крайнем случае уже его удалять с движениями. а не просто удалять запись.
хотя может где то есть готовое? никто не кинет в меня линком?
>Т.е. по идеи их можно собирать в один нормальный документ, ну и в крайнем случае уже его удалять с движениями. —готовое встречалось. Ищи на инфостате
Вернуть потерянный докумет по идее просто.Создаешь новый и устанавливаешь в него Битую ссылку. и записываешь. Док будет пустой, но при распроведении сам все движения удалит. Хотел сделать — руки не дошли.
В один документ по моему собрать невозможно, т.к. ссыки разные.
Классная вещь, однозначно плюс
Классная вещь, однозначно плюс
Насчетhttp://infostart.ru/projects/3807/ — «Универсальная обработка очистки регистров сведений, накопления и бухгалтерии от битых ссылок».
Код открыт уже очень давно, сначала код был выложен в комментах, потом и файл обновлен. Не пишите неправду на самом видном месте!
И по поводу «АХРЕНИТЕЛЬНО ВЗЛЕТЕТЬ» — слишком громко кричать тоже не хорошо
Borisych — приношу свои извинения. Про комменты не знал/не понял. Несколько раз качал вашу обработку. Видимо неудачно. «АХРЕНИТЕЛЬНО ВЗЛЕТЕТЬ» -Спасибо за критику, но от своих слов не откажусь под страхом смерти.Преценденты были. Поэтому ко всему с закрытым кодом отношусь только отрицательно.
За задумку +, за реализацию —
Что за бред проверять на битость с помощью «Регистр1.Измерние1.Представление ЕСТЬ NULL» ?
А если у меня не стоит галочка «Запрет незаполненных значений» и пустое значение там и должно быть по задумке, обработка мне так полбазы перефигачит.
Спасибо за обработку.
jk3 — ты просто умница. «НЕ для ДУРАКОВ. Т.к. откатов нет» — дело в том, что на моей памяти 30% регистров постоены ошибочно. Т.е. в свое время не правильно регистр построили — галочка «Запрет незаполненных значений» не установлена. Через полгода косяк вылез. Критика очень правильная. Но принцип торговли — «Если ждать когда продукт станет совершенным — продавать будет нечего».(Типа идею выложил, собираем критику, и стараемся в дальнейшем доработать выбрав для себя наиболее рациональную позицию.) Всем не угодишь!!!.
(9) Все хорошо Алексей, наверное есть не бескорыстные люди и злые шутники, прячущие в скрытом коде вин-чихи и тому подобные пакости
(12) Согласен с jk3 в (10). Не все регистры построены не правильно. Для регистров накоплений возможно и верно, но если это регистр сведений — то вполне возможно не применение «Запрет незаполненных значений». В типовой БП есть несколько регистров, которые так специально построены, например МетодыРаспределенияКосвенныхРасходовОрганизаций, ГраницыЗапретаИзмененияДанных, НастройкиПравДоступаПользователей, СчетаУчетаНоменклатуры…
Это к тому, что в Вашем отчете это вылезает как «Пустая или битая ссылка» и надо потратить доп. время на проверку, а оно и так правильно.
Тем не менее «+»: полезная штука.
У меня на УТ10.3 выдаёт ошибку: Неверный формат хранилища данных ‘file://E:/ZachistkaRegistrovotbityhSsylok.epf’…
Второй раз скачал удачно. Теперь при полном анализе базы выдаёт ошибку: {Форма.Форма(472)}: Ошибка при вызове метода контекста (Выполнить): {(6, 6)}: Неоднозначное поле «Регистр.Регистратор.Представление»
ГДЕ <<?>>Регистр.Регистратор.Представление ЕСТЬ NULL
колБит = Запрос.Выполнить().Выбрать().Количество();
по причине:
{(6, 6)}: Неоднозначное поле «Регистр.Регистратор.Представление»
ГДЕ <<?>>Регистр.Регистратор.Представление ЕСТЬ NULL
как её исправить?
В регистре накопления в поле регистратор у одной записи — пустая ссылка.
Через Вашу обработку он находит эту запись но при удалении выводит ошибку:
«Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Путевые листы)»
но он устанавливается (правда пустой ссылкой)
Как удалить эту запись?
Что-то у меня для УТП 1.1.3.3 для Украины вылетает
{Форма.Форма(472)}: Ошибка при вызове метода контекста (Выполнить): {(6, 125)}: Поле не найдено «Регистр.ТочкаМаршрута.Представление»
ГДЕ Регистр.Задача.Представление ЕСТЬ NULL Или Регистр.БизнесПроцесс.Представление ЕСТЬ NULL Или Регистр.ТочкаМаршрута.<<?>>Представление ЕСТЬ NULL Или Регистр.НомерЦикла ЕСТЬ NULL
колБит = Запрос.Выполнить().Выбрать().Количество();
по причине:
{(6, 125)}: Поле не найдено «Регистр.ТочкаМаршрута.Представление»
ГДЕ Регистр.Задача.Представление ЕСТЬ NULL Или Регистр.БизнесПроцесс.Представление ЕСТЬ NULL Или Регистр.ТочкаМаршрута.<<?>>Представление ЕСТЬ NULL Или Регистр.НомерЦикла ЕСТЬ NULL
это на УТ 10.3
Не могу понять как пользоваться обработкой.
Битые ссылки находит в предварительном просмотре, а удалить Кнопкой «Выполнить чистку по записям в таблице» не получается.
Подскажите как можно удалить?
Блин, ошибка на ошибке… Очень кривая обработка…
Второй раз скачал удачно. Теперь при полном анализе базы выдаёт ошибку: {Форма.Форма(472)}: Ошибка при вызове метода контекста (Выполнить): {(6, 6)}: Неоднозначное поле «Регистр.Регистратор.Представление»
ГДЕ <<?>>Регистр.Регистратор.Представление ЕСТЬ NULL
колБит = Запрос.Выполнить().Выбрать().Количество();
по причине:
{(6, 6)}: Неоднозначное поле «Регистр.Регистратор.Представление»
ГДЕ <<?>>Регистр.Регистратор.Представление ЕСТЬ NULL
тоже самое помогите разобраться!
Все всем спасибо обработка очень помогла, автору зачет за идею. Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!
Как пользоваться ???? Выдает ошибку {Форма.Форма.Форма(553)}: Поле объекта не обнаружено (РежимЗаписи) если ПерваяСтрока.РежимЗаписи = «ПодчиненРегистратору» тогда…… Как быть …очень нужно ….
alida555, Писалось достаточно давно. Работала без вопросов, Сегодня постараюсь выложить более полное описание
Может обработка не подходит для ЗУП 8.2 ????
(27) пожалуйста помогите разобраться ..почему не работает
до сих пор не исправлено
1) почему незаслуженно обошли стороной регистры бухгалтерии?
2) неправильно в условии запроса писать «Номер = NULL». Такое условие не работает. Надо писать «Номер ЕСТЬ NULL»
(31) Mike1978, простите — разрабатывал в 2009 году. Тестировал только на ЗиУП, т.к. в то время не было возможности проверить на бухгалтерии.
В ближайшее время поправлю.
Обработкой пользуюсь до сих пор достаточно часто в части удаления записей по отбору. Для выявления битых ссылок на инфостарте есть более продвинутая обработка. Поищите.
(32)
Скачал сегодня — думал «Сейчас как поудаляю ненайденные объекты по независимому регистру сведений» — ан нет
На «СоответствияОбъектовИнформационныхБаз» обработка искренне считает что «Объект не найден» по измерению УникальныйИдентификаторИсточника (тип ЛюбаяССылка) отсутствует, хотя смотрю на них «невооруженным взглядом». А жаль, придётся видимо самому писать
Да скачал Мани содрали, обработка не работает
Выдает ошибку {Форма.Форма.Форма(553)}: Поле объекта не обнаружено (РежимЗаписи) если ПерваяСтрока.РежимЗаписи = «ПодчиненРегистратору» тогда
(8) Не работает ссылка на скачивание
Не работает ссылка на скачивание
А как собственно заполнить табличку «только битыми ссылками»? Можно, конечно отбор «не в списке» выбрать, но это же издевательство над человеком…