| 
    
            
         
         | 
    
  | 
Вопрос про поиск ссылок на объект | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        f_vadim    
     16.05.14 
            ✎
    16:50 
 | 
         
        Есть обработка "поиск и замена значений" (итс или инфостарт - не помню). С помощью неё произвожу замену контрагента и его договора в ряде документов (включая движения).
 
        После этого как поиск ссылок самой обработки, так и поиск ссылок встроенный находит в документах ссылки на старые значения. Причём глазами и запросами к этим документами и регистрам я их не нахожу. ТиИ делал с пересчетом итогов. Кто-нибудь с таким сталкивался?  | 
|||
| 
    1
    
        John83    
     16.05.14 
            ✎
    16:58 
 | 
         
        почему в браузерах до сих пор не сделают проверку на пунктуацию?...
 
        PS раз пять перечитал..  | 
|||
| 
    2
    
        f_vadim    
     16.05.14 
            ✎
    17:03 
 | 
         
        (1) Ну хоть суть-то ясна?
 
        Могу чуток короче. Открываю документ - нет в нём такого договора, а НайтиПоСсылкам говорит, что есть.  | 
|||
| 
    3
    
        DS    
     16.05.14 
            ✎
    17:12 
 | 
         
        Для вывода о том, что в документе нет такого договора, недостаточно открыть этот документ.     
         | 
|||
| 
    4
    
        mikecool    
     16.05.14 
            ✎
    17:13 
 | 
         
        (2) 
 
        - ты суслика видишь? - нет - а он там есть!  | 
|||
| 
    5
    
        f_vadim    
     16.05.14 
            ✎
    17:16 
 | 
         
        (3) Всё верно. 
 
        Запросом выгребаю все поля из документа и из движений - нету такого.  | 
|||
| 
    6
    
        hhhh    
     16.05.14 
            ✎
    17:24 
 | 
         
        (5) а из табличных частей?     
         | 
|||
| 
    7
    
        f_vadim    
     16.05.14 
            ✎
    17:29 
 | 
         
        (6) естественно.     
         | 
|||
| 
    8
    
        eddy_n    
     16.05.14 
            ✎
    18:02 
 | 
         
        Сталкивался. БП3. Платформа 8.3. Файловая ИБ. Поиск ссылок на объект - показывает на несуществующую ссылку. Полнотекстовый поиск при этом работает нормально - "левых" ссылок не показывает.     
         | 
|||
| 
    9
    
        eddy_n    
     16.05.14 
            ✎
    18:03 
 | 
         
        Не может 1с обеспечить целостность базы своим форматом.     
         | 
|||
| 
    10
    
        f_vadim    
     16.05.14 
            ✎
    18:24 
 | 
         
        (8)(9) Или вообще жесть или я чего-то не понял. мы об одном говорим? 
 
        Несуществующая ссылка - это не ссылка на несуществующий объект, а именно ссылка, которой не должно быть, но она есть? Это как-то можно побороть? Скажем, какие варианты удаления таких объектов, на которые присутствуют фантомные ссылки? База серверная с MS SQL.  | 
|||
| 
    11
    
        bolobol    
     16.05.14 
            ✎
    18:59 
 | 
         
        Плохо смотрел. Не может быть есть того что нет.     
         | 
|||
| 
    12
    
        Infsams654    
     16.05.14 
            ✎
    19:26 
 | 
         
        (0) хочется спросить. В НайтиПоСсылкам
 
        во Вторая колонка - ссылка на объект. Там тот документ, у которого якобы нет этого договора ? НайтиПоСсылкам (FindByRef) Синтаксис: НайтиПоСсылкам(<СписокСсылок>) Параметры: <СписокСсылок> (обязательный) Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти. Возвращаемое значение: Тип: ТаблицаЗначений. Возвращает ссылки на найденные объекты в виде ТаблицаЗначений. Первая колонка - исходная ссылка. Вторая колонка - ссылка на объект, если найденная ссылка соответствует объектной таблице или значение, олицетворяющее запись необъектной таблицы. Третья колонка - объект метаданных, которому соответствуют данные в которых найдена ссылка. Описание: Осуществляет поиск ссылок на объекты, переданные в параметре <СписокСсылок>.  | 
|||
| 
    13
    
        f_vadim    
     16.05.14 
            ✎
    21:16 
 | 
         
        (12) именно     
         | 
|||
| 
    14
    
        f_vadim    
     16.05.14 
            ✎
    21:25 
 | 
         
        (11) Возможно я чего-то не углядел. Научи меня хорошо смотреть, у меня идеи кончились.
 
        Хотя есть одна - залезть в базу напрямую, подсмотрев таблички профайлером. Но доступа пока нет.  | 
|||
| 
    15
    
        f_vadim    
     19.05.14 
            ✎
    08:15 
 | 
         
        А-ап.     
         | 
|||
| 
    16
    
        lxndr    
     19.05.14 
            ✎
    08:29 
 | 
         
        (2) какой документ? Какой реквизит?     
         | 
|||
| 
    17
    
        f_vadim    
     19.05.14 
            ✎
    11:35 
 | 
         
        (16) Поступление на р/с и списание с р/с. Ссылки ищу на договор контрагента. 
 
        Какой реквизит - неизвестно, все заполнены новыми значениями.  | 
|||
| 
    18
    
        DS    
     19.05.14 
            ✎
    13:18 
 | 
         
        Это не там, где кроме шапочного набора реквизитов есть еще и табличный ("РасшифровкаПлатежа" или что-то в этом духе)?     
         | 
|||
| 
    19
    
        f_vadim    
     19.05.14 
            ✎
    14:19 
 | 
         
        (18) Да, там. Все реквизиты, включая ТЧ, выбирались запросом.     
         | 
|||
| 
    20
    
        Анютик    
     19.05.14 
            ✎
    14:22 
 | 
         
        А точно все движение проверил? на тесте перепровести док контрольный и посмотреть. 
 
        Кстати, может быть тч зачет аванса еще.  | 
|||
| 
    21
    
        FIXXXL    
     19.05.14 
            ✎
    14:22 
 | 
         
        (14) дерзкий? рескаай!
 
        мой тебе совет: пакатай обработку раза три потом смотри :)  | 
|||
| 
    22
    
        f_vadim    
     19.05.14 
            ✎
    14:54 
 | 
         
        (20) На тестовой базе перезаполнял и перепроводил. Даже в непроведенном документе ссылка присутствует.
 
        (21) Катал-перекатал уже. Сама обработка не находит чего менять. Т.е. по кнопке "найти ссылки" - ссылки находятся, а когда смотришь отладчиком "выполнить замену значений" - до кода замены дело не доходит.  | 
|||
| 
    23
    
        f_vadim    
     19.05.14 
            ✎
    14:59 
 | 
         
        Выгружаю документ вместе с движениями в XML (ВыгрузкаЗагрузкаДанныхXML82.epf). В файле присутствует только UID нового договора (старого нет).     
         | 
|||
| 
    24
    
        Анютик    
     19.05.14 
            ✎
    15:03 
 | 
         
        (22) быть такого не может. ТИИ, выгрузка-загрузка. Но я такого не видела     
         | 
|||
| 
    25
    
        f_vadim    
     19.05.14 
            ✎
    15:08 
 | 
         
        (24) сам не верю :). 
 
        ТИИ делал, выгрузка-загрузка в тестовую базу - эффекта ноль.  | 
|||
| 
    26
    
        Анютик    
     19.05.14 
            ✎
    15:09 
 | 
         
        может, какие-то регистры сведений завязаны? и там не изменено? проверял?     
         | 
|||
| 
    27
    
        f_vadim    
     19.05.14 
            ✎
    15:25 
 | 
         
        (26) движения документа, регистры, ссылающиеся на этот документ и договор, проверил.     
         | 
|||
| 
    28
    
        f_vadim    
     19.05.14 
            ✎
    16:15 
 | 
         
        Прелесть просто.
 
        Удалил документ "поступление на р/с" с фантомной ссылкой на договор. Делаю поиск ссылок на договор. Находит! Объект, содержащий ссылки: <объект не найден> (уид). Тип объекта: "поступление на р/с" O_o ЗЫ. ТИИ не предлагать.  | 
|||
| 
    29
    
        hhhh    
     19.05.14 
            ✎
    16:18 
 | 
         
        (280 так надо закрыть эту обработку и опять открыть     
         | 
|||
| 
    30
    
        f_vadim    
     19.05.14 
            ✎
    16:27 
 | 
         
        (29) шутка?
 
        Всё равно проверил - результат как в (28)  | 
|||
| 
    31
    
        Анютик    
     19.05.14 
            ✎
    16:28 
 | 
         
        конфигурация какая? у всех регистров накопления этот реквизит ведущий?     
         | 
|||
| 
    32
    
        Анютик    
     19.05.14 
            ✎
    16:29 
 | 
         
        и вдогонку...через поиск ссылок на объект поискать - найдет?     
         | 
|||
| 
    33
    
        f_vadim    
     19.05.14 
            ✎
    16:44 
 | 
         
        (31) "Адаптированная" БП3. Второй вопрос не понял.
 
        (32) Да. Находит <объект не найден>.  | 
|||
| 
    34
    
        Анютик    
     20.05.14 
            ✎
    09:29 
 | 
         
        у регистров сведений, где используются эти данные взведен флажок "ведущее"     
         | 
|||
| 
    35
    
        f_vadim    
     20.05.14 
            ✎
    11:36 
 | 
         
        (34) В регистрах сведений (данные первичных документов) фигурирует только документ "поступление на р/с". Там есть флаг "ведущее".
 
        Договор вместе с поступлением только в бух. проводке, а ссылка сохраняется после отмены проведения и удаления самого документа.  | 
|||
| 
    36
    
        Анютик    
     20.05.14 
            ✎
    11:38 
 | 
         
        файловая база? может, chdbfl попробовать полечить?     
         | 
|||
| 
    37
    
        Пеппи    
     20.05.14 
            ✎
    11:43 
 | 
         
        (33) картинку выложи волшебник) именно из поиск ссылок     
         | 
|||
| 
    38
    
        f_vadim    
     20.05.14 
            ✎
    12:29 
 | 
         
        (36) серверная, для тестов выгружал в файловую - безрезультатно. chdbfl попробую
 
        (37) ахалай-махалай https://drive.google.com/file/d/0BzRsBTCcQiXeZFFIVVlDWWVsUzA/edit?usp=sharing  | 
|||
| 
    39
    
        f_vadim    
     20.05.14 
            ✎
    13:45 
 | 
         
        chdbfl - ошибок не обнаружено     
         | 
|||
| 
    40
    
        hhhh    
     20.05.14 
            ✎
    14:04 
 | 
         
        кеш чистил?     
         | 
|||
| 
    41
    
        f_vadim    
     20.05.14 
            ✎
    14:13 
 | 
         
        (40) почистил. эффекта - ноль     
         | 
|||
| 
    42
    
        hhhh    
     20.05.14 
            ✎
    15:45 
 | 
         
        (41) тогда проверьте права.     
         | 
|||
| 
    43
    
        f_vadim    
     20.05.14 
            ✎
    16:42 
 | 
         
        (42) всё с полными правами     
         | 
|||
| 
    44
    
        f_vadim    
     21.05.14 
            ✎
    12:22 
 | 
         
        Ап. 
 
        Краткое содержание проблемы: В документе "П1" заполнено поле договор - "Д1". Поиск ссылок на договор "Д2" находит тот же документ "П1" (в каком реквизите встречается "Д2" неизвестно, искал запросами). Если удалить документ "П1", ссылка сохраняется. https://drive.google.com/file/d/0BzRsBTCcQiXeZFFIVVlDWWVsUzA/edit?usp=sharing ТИИ не помогает. База серверная MS SQL. Загрузка в файловую проблемы не решает. CHdbfl без ошибок.  | 
|||
| 
    45
    
        Анютик    
     21.05.14 
            ✎
    12:40 
 | 
         
        (38) в (37) не это просили, а из операции - поиск ссылок на объекты     
         | 
|||
| 
    46
    
        f_vadim    
     21.05.14 
            ✎
    13:38 
 | 
         
        (45) там тоже самое
 
        https://drive.google.com/file/d/0BzRsBTCcQiXeT2RuX2F3eGJMY00/edit?usp=sharing  | 
|||
| 
    47
    
        f_vadim    
     21.05.14 
            ✎
    15:12 
 | 
         
        Ссылку нашёл. Хранится в таблице _SeqB9957. 
 
        Гугле говорит, что это - таблица границ последовательностей. Кто подскажет как разрулить штатными средствами? Таких ссылок у меня порядка 2000.  | 
|||
| 
    48
    
        f_vadim    
     21.05.14 
            ✎
    15:33 
 | 
         
        Всё нашёл. 
 
        В последовательности Взаиморасчеты.Границы. Т.е. поиск ссылок находит ссылку в последовательности, но показывает, что ссылка в документе. Как заставить систему перезаписать данные в последовательности? Или их как-то можно удалить?  | 
|||
| 
    49
    
        Анютик    
     22.05.14 
            ✎
    08:55 
 | 
         
        ну ...как вариант, на копии, откатить дату последовательности раньше самого раннего документа, а потом восстановить. Должно перезаписаться, но надо опыты ставить, так сказать не готова. На Копии!!:)     
         | 
|||
| 
    50
    
        hhhh    
     22.05.14 
            ✎
    09:18 
 | 
         
        (48)  ПоследовательностьНаборЗаписей.<Имя последовательности> (SequenceRecordSet.<Имя последовательности>)
 
        Очистить (Clear) Синтаксис: Очистить() Описание: Удаляет все записи регистрации из набора. Доступность: Сервер, толстый клиент, внешнее соединение.  | 
|||
| 
    51
    
        f_vadim    
     22.05.14 
            ✎
    09:50 
 | 
         
        (49) Ага, я поигрался вчера. В записях последовательностей все документы с кривыми ссылками заменились на пустой документ "авансовый отчёт" :) (как тут v8: Как можно удалить документ (пустую ссылку) из последовательности)
 
        (50) Как очистить я знаю. Последствий никаких не будет?  | 
|||
| 
    52
    
        hhhh    
     22.05.14 
            ✎
    10:03 
 | 
         
        а какие могут быть последствия? Ведь ничего не изменится.     
         | 
|||
| 
    53
    
        f_vadim    
     22.05.14 
            ✎
    10:33 
 | 
         
        С очисткой тоже проблема. 
 
        В последовательности "Последовательность.Взаиморасчеты" похоже всё нормально. Кривые записи в "Последовательность.Взаиморасчеты.Границы". Запросом отбираются по регистратор = пустая ссылка на авансовый отчет. Чтение набора записей по этому регистратору ни одной записи не находит. Т.е. надо как-то очистить записи в границах. Дату пробовал сдвинуть раньше первого документа - не помогает, записи остаются.  | 
|||
| 
    54
    
        f_vadim    
     22.05.14 
            ✎
    10:43 
 | 
         
        Подмывает прихлопнуть эти записи средствами sql.     
         | 
|||
| 
    55
    
        hhhh    
     22.05.14 
            ✎
    10:51 
 | 
         
        (53) 
 
        Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Взаиморасчеты.Регистратор |ИЗ | Последовательность.Взаиморасчеты КАК Взаиморасчеты |ГДЕ | Взаиморасчеты.Регистратор.Дата ЕСТЬ NULL "; Таб = Запрос.Выполнить().Выгрузить(); Для Каждого Стр Из Таб Цикл Наб = Последовательности.Взаиморасчеты.СоздатьНаборЗаписей(); Наб.Отбор.Регистратор.Установить(Стр.Регистратор); Наб.ОбменДанными.Загрузка = Истина; Наб.Записать(); Сообщить("--- " + Стр.Регистратор); КонецЦикла;  | 
|||
| 
    56
    
        f_vadim    
     22.05.14 
            ✎
    11:01 
 | 
         
        (55)
 
        этот возвращается пустой 
а этот находит нужные мне записи 
     | 
|||
| 
    57
    
        f_vadim    
     22.05.14 
            ✎
    12:08 
 | 
         
        Вобщем, похоже, что когда сдвигаешь границу на дату ранее первого документа, в таблице с границами остаются только битые ссылки.     
         | 
|||
| 
    58
    
        f_vadim    
     22.05.14 
            ✎
    13:18 
 | 
         
        Вобчем, я вычистил кривые записи из таблицы SeqB. 
 
        Границы подвигал - записи создаются. Посмотрю чего скажет ТиИ.  | 
|||
| 
    59
    
        f_vadim    
     23.05.14 
            ✎
    14:00 
 | 
         
        ТиИ - без ошибок. База вроде живая.
 
        Спасибо за внимание.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |