Вопрос про поиск ссылок на объект #708533


#0 by f_vadim
Есть обработка "поиск и замена значений" (итс или инфостарт - не помню). С помощью неё произвожу замену контрагента и его договора в ряде документов (включая движения). После этого как поиск ссылок самой обработки, так и поиск ссылок встроенный находит в документах ссылки на старые значения. Причём глазами и запросами к этим документами и регистрам я их не нахожу. ТиИ делал с пересчетом итогов. Кто-нибудь с таким сталкивался?
#1 by John83
почему в браузерах до сих пор не сделают проверку на пунктуацию?... PS раз пять перечитал..
#2 by f_vadim
Ну хоть суть-то ясна? Могу чуток короче. Открываю документ - нет в нём такого договора, а НайтиПоСсылкам говорит, что есть.
#3 by DS
Для вывода о том, что в документе нет такого договора, недостаточно открыть этот документ.
#4 by mikecool
- ты суслика видишь? - нет - а он там есть!
#5 by f_vadim
Всё верно. Запросом выгребаю все поля из документа и из движений - нету такого.
#6 by hhhh
а из табличных частей?
#7 by f_vadim
естественно.
#8 by eddy_n
Сталкивался. БП3. Платформа 8.3. Файловая ИБ. Поиск ссылок на объект - показывает на несуществующую ссылку. Полнотекстовый поиск при этом работает нормально - "левых" ссылок не показывает.
#9 by eddy_n
Не может 1с обеспечить целостность базы своим форматом.
#10 by f_vadim
Или вообще жесть или я чего-то не понял. мы об одном говорим? Несуществующая ссылка - это не ссылка на несуществующий объект, а именно ссылка, которой не должно быть, но она есть? Это как-то можно побороть? Скажем, какие варианты удаления таких объектов, на которые присутствуют фантомные ссылки? База серверная с MS SQL.
#11 by bolobol
Плохо смотрел. Не может быть есть того что нет.
#12 by Infsams654
хочется спросить. В НайтиПоСсылкам во Вторая колонка - ссылка на объект. Там тот документ, у которого якобы нет этого договора ? Синтаксис: НайтиПоСсылкам(<СписокСсылок>) Параметры: Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти. Возвращаемое значение: Тип: ТаблицаЗначений. Возвращает ссылки на найденные объекты в виде ТаблицаЗначений. Первая колонка - исходная ссылка. Вторая колонка - ссылка на объект, если найденная ссылка соответствует объектной таблице или значение, олицетворяющее запись необъектной таблицы. Третья колонка - объект метаданных, которому соответствуют данные в которых найдена ссылка. Описание: Осуществляет поиск ссылок на объекты, переданные в параметре <СписокСсылок>.
#13 by f_vadim
именно
#14 by f_vadim
Возможно я чего-то не углядел. Научи меня хорошо смотреть, у меня идеи кончились. Хотя есть одна - залезть в базу напрямую, подсмотрев таблички профайлером. Но доступа пока нет.
#15 by f_vadim
А-ап.
#16 by lxndr
какой документ? Какой реквизит?
#17 by f_vadim
Поступление на р/с и списание с р/с. Ссылки ищу на договор контрагента. Какой реквизит - неизвестно, все заполнены новыми  значениями.
#18 by DS
Это не там, где кроме шапочного набора реквизитов есть еще и табличный ("РасшифровкаПлатежа" или что-то в этом духе)?
#19 by f_vadim
Да, там. Все реквизиты, включая ТЧ, выбирались запросом.
#20 by Анютик
А точно все движение проверил? на тесте перепровести док контрольный и посмотреть. Кстати, может быть тч зачет аванса еще.
#21 by FIXXXL
дерзкий? рескаай! мой тебе совет: пакатай обработку раза три потом смотри :)
#22 by f_vadim
На тестовой базе перезаполнял и перепроводил. Даже в непроведенном документе ссылка присутствует. Катал-перекатал уже. Сама обработка не находит чего менять. Т.е. по кнопке "найти ссылки" - ссылки находятся, а когда смотришь отладчиком "выполнить замену значений" - до кода замены дело не доходит.
#23 by f_vadim
Выгружаю документ вместе с движениями в XML (ВыгрузкаЗагрузкаДанныхXML82.epf). В файле присутствует только UID нового договора (старого нет).
#24 by Анютик
быть такого не может. ТИИ, выгрузка-загрузка. Но я такого не видела
#25 by f_vadim
сам не верю :). ТИИ делал, выгрузка-загрузка в тестовую базу - эффекта ноль.
#26 by Анютик
может, какие-то регистры сведений завязаны? и там не изменено? проверял?
#27 by f_vadim
движения документа, регистры, ссылающиеся на этот документ и договор, проверил.
#28 by f_vadim
Прелесть просто. Удалил документ "поступление на р/с" с фантомной ссылкой на договор. Делаю поиск ссылок на договор. Находит! Объект, содержащий ссылки: <объект не найден> (уид). Тип объекта: "поступление на р/с" O_o ЗЫ. ТИИ не предлагать.
#29 by hhhh
(280 так надо закрыть эту обработку и опять открыть
#30 by f_vadim
шутка? Всё равно проверил - результат как в
#31 by Анютик
конфигурация какая? у всех регистров накопления этот реквизит ведущий?
#32 by Анютик
и вдогонку...через поиск ссылок на объект поискать - найдет?
#33 by f_vadim
"Адаптированная" БП3. Второй вопрос не понял. Да. Находит <объект не найден>.
#34 by Анютик
у регистров сведений, где используются эти данные взведен флажок "ведущее"
#35 by f_vadim
В регистрах сведений (данные первичных документов) фигурирует только документ "поступление на р/с". Там есть флаг "ведущее". Договор вместе с поступлением только в бух. проводке, а ссылка сохраняется после отмены проведения и удаления самого документа.
#36 by Анютик
файловая база? может, chdbfl попробовать полечить?
#37 by Пеппи
картинку выложи волшебник) именно из поиск ссылок
#38 by f_vadim
серверная, для тестов выгружал в файловую - безрезультатно. chdbfl попробую ахалай-махалай
#39 by f_vadim
chdbfl - ошибок не обнаружено
#40 by hhhh
кеш чистил?
#41 by f_vadim
почистил. эффекта - ноль
#42 by hhhh
тогда проверьте права.
#43 by f_vadim
всё с полными правами
#44 by f_vadim
Ап. Краткое содержание проблемы: В документе "П1" заполнено поле договор - "Д1". Поиск ссылок на договор "Д2" находит тот же документ "П1" (в каком реквизите встречается "Д2" неизвестно, искал запросами). Если удалить документ "П1", ссылка сохраняется. ТИИ не помогает. База серверная MS SQL. Загрузка в файловую проблемы не решает. CHdbfl без ошибок.
#45 by Анютик
в не это просили, а из операции - поиск ссылок на объекты
#46 by f_vadim
там тоже самое
#47 by f_vadim
Ссылку нашёл. Хранится в таблице _SeqB9957. Гугле говорит, что это - таблица границ последовательностей. Кто подскажет как разрулить штатными средствами? Таких ссылок у меня порядка 2000.
#48 by f_vadim
Всё нашёл. В последовательности Взаиморасчеты.Границы. Т.е. поиск ссылок находит ссылку в последовательности, но показывает, что ссылка в документе. Как заставить систему перезаписать данные в последовательности? Или их как-то можно удалить?
#49 by Анютик
ну ...как вариант, на копии, откатить дату последовательности раньше самого раннего документа, а потом восстановить. Должно перезаписаться, но надо опыты ставить, так сказать не готова. На Копии!!:)
#50 by hhhh
ПоследовательностьНаборЗаписей.<Имя последовательности> (SequenceRecordSet.<Имя последовательности>) Очистить (Clear) Синтаксис: Очистить Описание: Удаляет все записи регистрации из набора. Доступность: Сервер, толстый клиент, внешнее соединение.
#51 by f_vadim
Ага, я поигрался вчера. В записях последовательностей все документы с кривыми ссылками заменились на пустой документ "авансовый отчёт" :) (как тут ) Как очистить я знаю. Последствий никаких не будет?
#52 by hhhh
а какие могут быть последствия? Ведь ничего не изменится.
#53 by f_vadim
С очисткой тоже проблема. В последовательности "Последовательность.Взаиморасчеты" похоже всё нормально. Кривые записи в "Последовательность.Взаиморасчеты.Границы". Запросом отбираются по регистратор = пустая ссылка на авансовый отчет. Чтение набора записей по этому регистратору ни одной записи не находит. Т.е. надо как-то очистить записи в границах. Дату пробовал сдвинуть раньше первого документа - не помогает, записи остаются.
#54 by f_vadim
Подмывает прихлопнуть эти записи средствами sql.
#56 by f_vadim
этот возвращается пустой а этот находит нужные мне записи
#57 by f_vadim
Вобщем, похоже, что когда сдвигаешь границу на дату ранее первого документа, в таблице с границами остаются только битые ссылки.
#58 by f_vadim
Вобчем, я вычистил кривые записи из таблицы SeqB. Границы подвигал - записи создаются. Посмотрю чего скажет ТиИ.
#59 by f_vadim
ТиИ - без ошибок. База вроде живая. Спасибо за внимание.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Back to top